@SuppressWarnings({"unchecked"}) public List<PhysicalChannelConnectionDefinition> generateProducer(LogicalProducer producer, Map<LogicalChannel, ChannelDeliveryType> channels) throws GenerationException { List<PhysicalChannelConnectionDefinition> definitions = new ArrayList<PhysicalChannelConnectionDefinition>(); LogicalComponent<?> component = producer.getParent(); ComponentGenerator<?> componentGenerator = getGenerator(component); PhysicalConnectionSourceDefinition sourceDefinition = componentGenerator.generateConnectionSource(producer); URI classLoaderId = component.getDefinition().getContributionUri(); sourceDefinition.setClassLoaderId(classLoaderId); PhysicalEventStreamDefinition eventStream = generate(producer.getStreamOperation()); for (Map.Entry<LogicalChannel, ChannelDeliveryType> entry : channels.entrySet()) { LogicalChannel channel = entry.getKey(); if (!channel.isBound()) { PhysicalChannelConnectionDefinition definition = generateProducerConnection(producer, channel, sourceDefinition, classLoaderId, eventStream); definitions.add(definition); } else { PhysicalChannelConnectionDefinition producerDefinition = generateProducerConnection(producer, channel, sourceDefinition, classLoaderId, eventStream); definitions.add(producerDefinition); ChannelDeliveryType deliveryType = entry.getValue(); PhysicalChannelConnectionDefinition bindingDefinition = generateProducerBinding(producer, channel, deliveryType, classLoaderId, eventStream); definitions.add(bindingDefinition); } } return definitions; }
public PhysicalConnectionSource generateConnectionSource(LogicalProducer producer) throws Fabric3Exception { String producerName = producer.getDefinition().getName(); URI uri = producer.getParent().getUri(); JavaServiceContract serviceContract = (JavaServiceContract) producer.getDefinition().getServiceContract(); return new SpringConnectionSource(producerName, serviceContract.getInterfaceClass(), uri); }
public PhysicalConnectionSourceDefinition generateConnectionSource(LogicalProducer producer) throws GenerationException { String producerName = producer.getDefinition().getName(); URI uri = producer.getParent().getUri(); ServiceContract serviceContract = producer.getDefinition().getServiceContract(); String interfaceName = serviceContract.getQualifiedInterfaceName(); return new SpringConnectionSourceDefinition(producerName, interfaceName, uri); }
public PhysicalConnectionSource generateConnectionSource(LogicalProducer producer) throws Fabric3Exception { String producerName = producer.getDefinition().getName(); URI uri = producer.getParent().getUri(); JavaServiceContract serviceContract = (JavaServiceContract) producer.getDefinition().getServiceContract(); return new SpringConnectionSource(producerName, serviceContract.getInterfaceClass(), uri); }
private PhysicalChannelConnectionDefinition generateProducerConnection(LogicalProducer producer, LogicalChannel channel, PhysicalConnectionSourceDefinition sourceDefinition, URI classLoaderId, PhysicalEventStreamDefinition eventStream) throws GenerationException { if (!channel.getZone().equals(producer.getParent().getZone()) && !channel.isBound()) { String name = channel.getDefinition().getName(); throw new GenerationException("Binding not configured on a channel where the producer is in a different zone: " + name); } PhysicalConnectionTargetDefinition targetDefinition = new ChannelTargetDefinition(channel.getUri(), ChannelSide.PRODUCER); targetDefinition.setClassLoaderId(classLoaderId); return new PhysicalChannelConnectionDefinition(sourceDefinition, targetDefinition, eventStream); }
private void generateCommand(LogicalProducer producer, ChannelConnectionCommand command, boolean incremental) throws GenerationException { LogicalComponent<?> component = producer.getParent(); QName deployable = producer.getParent().getDeployable(); if (LogicalState.MARKED == component.getState()) { Map<LogicalChannel, ChannelDeliveryType> channels = new HashMap<LogicalChannel, ChannelDeliveryType>();
private void generateCommand(LogicalProducer producer, ChannelConnectionCommand command) { LogicalComponent<?> component = producer.getParent(); URI contributionUri = producer.getParent().getDefinition().getContributionUri(); if (LogicalState.MARKED == component.getState()) { Map<LogicalChannel, DeliveryType> channels = new HashMap<>();
private void generateCommand(LogicalProducer producer, ChannelConnectionCommand command) { LogicalComponent<?> component = producer.getParent(); URI contributionUri = producer.getParent().getDefinition().getContributionUri(); if (LogicalState.MARKED == component.getState()) { Map<LogicalChannel, DeliveryType> channels = new HashMap<>();
@SuppressWarnings({"unchecked"}) public List<PhysicalChannelConnection> generateProducer(LogicalProducer producer, Map<LogicalChannel, DeliveryType> channels) { LogicalComponent<?> component = producer.getParent(); ComponentGenerator<?> componentGenerator = getGenerator(component); PhysicalConnectionSource source = componentGenerator.generateConnectionSource(producer); URI classLoaderId = component.getDefinition().getContributionUri(); ClassLoader classLoader = classLoaderRegistry.getClassLoader(classLoaderId); source.setClassLoader(classLoader); if (isDirect(producer, channels)) { source.setDirectConnection(true); return generateDirectConnections(producer, channels, source, classLoader); } else { return generateConnections(producer, channels, source, classLoader); } }
@SuppressWarnings({"unchecked"}) public List<PhysicalChannelConnection> generateProducer(LogicalProducer producer, Map<LogicalChannel, DeliveryType> channels) { LogicalComponent<?> component = producer.getParent(); ComponentGenerator<?> componentGenerator = getGenerator(component); PhysicalConnectionSource source = componentGenerator.generateConnectionSource(producer); URI classLoaderId = component.getDefinition().getContributionUri(); ClassLoader classLoader = classLoaderRegistry.getClassLoader(classLoaderId); source.setClassLoader(classLoader); if (isDirect(producer, channels)) { source.setDirectConnection(true); return generateDirectConnections(producer, channels, source, classLoader); } else { return generateConnections(producer, channels, source, classLoader); } }