public int hashCode() { return getUri().hashCode(); }
/** * Adds a producer. * * @param producer the producer to add */ public void addProducer(LogicalProducer producer) { producers.put(producer.getUri().getFragment(), producer); }
public LogicalOperation getStreamOperation() { if (operations.size() != 1) { throw new Fabric3Exception("Invalid number of operations on producer: " + getUri() + ". Producers that are not direct connections to channels may " + "only have one operation."); } return operations.get(0); }
public PhysicalConnectionSource generateConnectionSource(LogicalProducer producer) { WebConnectionSource source = new WebConnectionSource(); source.setUri(producer.getUri()); return source; }
private PhysicalChannelConnection generateLocalConnection(LogicalProducer producer, Class<?> type, LogicalChannel channel, PhysicalConnectionSource source, ClassLoader classLoader) { URI uri = channel.getUri(); PhysicalConnectionTarget target = new ChannelTarget(uri, ChannelSide.PRODUCER); target.setClassLoader(classLoader); boolean bound = channel.isBound(); return new PhysicalChannelConnection(uri, producer.getUri(), source, target, type, bound); }
public void generateConnectionSource(JavaConnectionSource source, LogicalProducer producer) { URI uri = producer.getUri(); source.setUri(uri); ServiceContract serviceContract = producer.getDefinition().getServiceContract(); Class<?> interfaze = serviceContract.getInterfaceClass(); source.setInjectable(new Injectable(InjectableType.PRODUCER, uri.getFragment())); source.setServiceInterface(interfaze); }
private PhysicalChannelConnection generateLocalConnection(LogicalProducer producer, Class<?> type, LogicalChannel channel, PhysicalConnectionSource source, ClassLoader classLoader) { URI uri = channel.getUri(); PhysicalConnectionTarget target = new ChannelTarget(uri, ChannelSide.PRODUCER); target.setClassLoader(classLoader); boolean bound = channel.isBound(); return new PhysicalChannelConnection(uri, producer.getUri(), source, target, type, bound); }
public PhysicalConnectionTargetDefinition generateConnectionTarget(LogicalProducer producer, LogicalBinding<ZeroMQBindingDefinition> binding, ChannelDeliveryType deliveryType) throws GenerationException { ZeroMQBindingDefinition definition = binding.getDefinition(); URI targetUri = definition.getTargetUri(); if (targetUri == null) { // no target uri specified, generate one as it is not used for the endpoint address targetUri = producer.getUri(); } ZeroMQMetadata metadata = definition.getZeroMQMetadata(); setChannelName(binding, metadata); boolean dedicatedThread = ChannelDeliveryType.ASYNCHRONOUS_WORKER == deliveryType; return new ZeroMQConnectionTargetDefinition(targetUri, metadata, dedicatedThread); }
public PhysicalConnectionSource generateConnectionSource(LogicalProducer producer) { SystemConnectionSource source = new SystemConnectionSource(); URI uri = producer.getUri(); JavaServiceContract serviceContract = (JavaServiceContract) producer.getDefinition().getServiceContract(); source.setUri(uri); source.setInjectable(new Injectable(InjectableType.PRODUCER, uri.getFragment())); source.setServiceInterface(serviceContract.getInterfaceClass()); return source; }
public PhysicalConnectionTarget generateConnectionTarget(LogicalProducer producer, LogicalBinding<NATSBinding> binding, DeliveryType deliveryType) { NATSBinding natsBinding = binding.getDefinition(); URI channelUri = binding.getParent().getUri(); String defaultTopic = natsBinding.getDefaultTopic(); NATSData natsData = generateData(natsBinding); return new NATSConnectionTarget(producer.getUri(), channelUri, defaultTopic, natsData); }
@SuppressWarnings({"unchecked"}) private PhysicalChannelConnection generateDirectBoundConnection(LogicalProducer producer, LogicalChannel channel, DeliveryType deliveryType, ClassLoader classLoader, PhysicalConnectionSource source) { LogicalBinding<?> binding = channel.getBinding(); ConnectionBindingGenerator bindingGenerator = getGenerator(binding); PhysicalConnectionTarget target = bindingGenerator.generateConnectionTarget(producer, binding, deliveryType); target.setClassLoader(classLoader); URI uri = channel.getUri(); Class<?> type = producer.getDefinition().getServiceContract().getInterfaceClass(); // the type is the producer interface since it is direct return new PhysicalChannelConnection(uri, producer.getUri(), source, target, type, true); }
@SuppressWarnings({"unchecked"}) private PhysicalChannelConnection generateDirectBoundConnection(LogicalProducer producer, LogicalChannel channel, DeliveryType deliveryType, ClassLoader classLoader, PhysicalConnectionSource source) { LogicalBinding<?> binding = channel.getBinding(); ConnectionBindingGenerator bindingGenerator = getGenerator(binding); PhysicalConnectionTarget target = bindingGenerator.generateConnectionTarget(producer, binding, deliveryType); target.setClassLoader(classLoader); URI uri = channel.getUri(); Class<?> type = producer.getDefinition().getServiceContract().getInterfaceClass(); // the type is the producer interface since it is direct return new PhysicalChannelConnection(uri, producer.getUri(), source, target, type, true); }
@SuppressWarnings({"unchecked"}) private PhysicalChannelConnection generateBoundConnection(LogicalProducer producer, LogicalChannel channel, DeliveryType deliveryType, ClassLoader classLoader) { LogicalBinding<?> binding = channel.getBinding(); ConnectionBindingGenerator bindingGenerator = getGenerator(binding); PhysicalConnectionTarget target = bindingGenerator.generateConnectionTarget(producer, binding, deliveryType); target.setClassLoader(classLoader); URI uri = channel.getUri(); ChannelSource source = new ChannelSource(uri, ChannelSide.PRODUCER); source.setClassLoader(classLoader); boolean bound = channel.isBound(); Class<?> type = getType(producer); return new PhysicalChannelConnection(uri, producer.getUri(), source, target, type, bound); }
@SuppressWarnings({"unchecked"}) private PhysicalChannelConnection generateBoundConnection(LogicalProducer producer, LogicalChannel channel, DeliveryType deliveryType, ClassLoader classLoader) { LogicalBinding<?> binding = channel.getBinding(); ConnectionBindingGenerator bindingGenerator = getGenerator(binding); PhysicalConnectionTarget target = bindingGenerator.generateConnectionTarget(producer, binding, deliveryType); target.setClassLoader(classLoader); URI uri = channel.getUri(); ChannelSource source = new ChannelSource(uri, ChannelSide.PRODUCER); source.setClassLoader(classLoader); boolean bound = channel.isBound(); Class<?> type = getType(producer); return new PhysicalChannelConnection(uri, producer.getUri(), source, target, type, bound); }