@SuppressWarnings("unchecked") private <T extends BindingDefinition> BindingGenerator<T> getGenerator(LogicalBinding<T> binding) throws GeneratorNotFoundException { return (BindingGenerator<T>) generatorRegistry.getBindingGenerator(binding.getDefinition().getClass()); }
private boolean isLocal(LogicalWire wire) { // at this point an SCA binding can only exist for local wires since SCA bindings for remote wires will have been replaced // with concrete bindings return (wire.getSourceBinding() == null || wire.getSourceBinding().getDefinition() instanceof SCABinding) && (wire.getTargetBinding() == null || wire.getTargetBinding().getDefinition() instanceof SCABinding); }
private ServiceEndpointDefinition createServiceEndpointDefinition(LogicalBinding<WsBinding> binding, JavaServiceContract contract, Class<?> serviceClass) { URI targetUri = binding.getDefinition().getTargetUri(); if (targetUri == null) { targetUri = URI.create(binding.getParent().getUri().getFragment()); // use the service URI fragment } return synthesizer.synthesizeServiceEndpoint(contract, serviceClass, targetUri); }
@SuppressWarnings("unchecked") private void generateCallbackBindings(LogicalService service) { for (LogicalBinding<?> logicalBinding : service.getBindings()) { CallbackBindingGenerator generator = generators.get(logicalBinding.getDefinition().getClass()); if (generator == null) { throw new Fabric3Exception("Callback generator not found for:" + logicalBinding.getDefinition().getType()); } Binding definition = generator.generateServiceCallback(logicalBinding); definition.setParent(service.getDefinition()); LogicalBinding<?> logicalCallback = new LogicalBinding(definition, service); service.addCallbackBinding(logicalCallback); } }
@SuppressWarnings("unchecked") private void generateCallbackBindings(LogicalReference reference) { for (LogicalBinding<?> logicalBinding : reference.getBindings()) { CallbackBindingGenerator generator = generators.get(logicalBinding.getDefinition().getClass()); if (generator == null) { throw new Fabric3Exception("Callback generator not found for:" + logicalBinding.getDefinition().getType()); } Binding definition = generator.generateReferenceCallback(logicalBinding); definition.setParent(reference.getDefinition()); LogicalBinding<?> logicalCallback = new LogicalBinding(definition, reference); reference.addCallbackBinding(logicalCallback); } }
public FtpSourceDefinition generateSource(LogicalBinding<FtpBindingDefinition> binding, ServiceContract contract, List<LogicalOperation> operations, EffectivePolicy policy) throws GenerationException { if (contract.getOperations().size() != 1) { throw new GenerationException("Expects only one operation"); } FtpSourceDefinition hwsd = new FtpSourceDefinition(); URI targetUri = binding.getDefinition().getTargetUri(); hwsd.setUri(targetUri); return hwsd; }
public ZeroMQWireSource generateSource(LogicalBinding<ZeroMQBinding> binding, ServiceContract contract, List<LogicalOperation> operations) { ZeroMQMetadata metadata = binding.getDefinition().getZeroMQMetadata(); if (binding.isCallback()) { URI uri = URI.create("zmq://" + contract.getInterfaceName()); return new ZeroMQWireSource(uri, metadata); } else { return new ZeroMQWireSource(metadata); } }
public FtpWireSourceDefinition generateSource(LogicalBinding<FtpBindingDefinition> binding, ServiceContract contract, List<LogicalOperation> operations, EffectivePolicy policy) throws GenerationException { if (contract.getOperations().size() != 1) { throw new GenerationException("Expects only one operation"); } FtpWireSourceDefinition hwsd = new FtpWireSourceDefinition(); URI targetUri = binding.getDefinition().getTargetUri(); hwsd.setUri(targetUri); return hwsd; }
public ZeroMQSourceDefinition generateSource(LogicalBinding<ZeroMQBindingDefinition> binding, ServiceContract contract, List<LogicalOperation> operations, EffectivePolicy policy) throws GenerationException { ZeroMQMetadata metadata = binding.getDefinition().getZeroMQMetadata(); if (binding.isCallback()) { URI uri = URI.create("zmq://" + contract.getInterfaceName()); return new ZeroMQSourceDefinition(uri, metadata); } else { return new ZeroMQSourceDefinition(metadata); } }
public ZeroMQTargetDefinition generateServiceBindingTarget(LogicalBinding<ZeroMQBindingDefinition> binding, ServiceContract contract, List<LogicalOperation> operations, EffectivePolicy policy) throws GenerationException { URI targetUri = binding.getParent().getUri(); ZeroMQMetadata metadata = binding.getDefinition().getZeroMQMetadata(); return generateTarget(contract, targetUri, metadata); }
public IntentPair resolveIntents(LogicalBinding binding) throws PolicyResolutionException { Set<Intent> requiredIntents = aggregateBindingIntents(binding); QName type = binding.getDefinition().getType(); Set<Intent> providedIntents = filterProvidedIntents(type, requiredIntents); return new IntentPair(requiredIntents, providedIntents); }
public PhysicalConnectionSource generateConnectionSource(LogicalConsumer consumer, LogicalBinding<ZeroMQBinding> binding, DeliveryType deliveryType) { URI uri = consumer.getUri(); ZeroMQMetadata metadata = binding.getDefinition().getZeroMQMetadata(); setChannelName(binding, metadata); return new ZeroMQConnectionSource(uri, metadata); }
public PhysicalConnectionSourceDefinition generateConnectionSource(LogicalConsumer consumer, LogicalBinding<ZeroMQBindingDefinition> binding, ChannelDeliveryType deliveryType) throws GenerationException { URI uri = consumer.getUri(); ZeroMQMetadata metadata = binding.getDefinition().getZeroMQMetadata(); setChannelName(binding, metadata); return new ZeroMQConnectionSourceDefinition(uri, metadata); }
public PhysicalConnectionTarget generateConnectionTarget(LogicalProducer producer, LogicalBinding<JmsBinding> binding, DeliveryType deliveryType) { URI uri = binding.getDefinition().getTargetUri(); JmsBindingMetadata metadata = binding.getDefinition().getJmsMetadata().snapshot(); JmsGeneratorHelper.generateDefaultFactoryConfiguration(metadata.getConnectionFactory(), SessionType.AUTO_ACKNOWLEDGE); DataType type = isJAXB(producer.getStreamOperation().getDefinition().getInputTypes().get(0)) ? PhysicalDataTypes.JAXB : PhysicalDataTypes.JAVA_TYPE; JmsConnectionTarget target = new JmsConnectionTarget(uri, metadata, type); if (provisioner != null) { provisioner.generateConnectionTarget(target); } return target; }
public PhysicalConnectionSource generateConnectionSource(LogicalConsumer consumer, LogicalBinding<NATSBinding> binding, DeliveryType deliveryType) { NATSBinding natsBinding = binding.getDefinition(); URI channelUri = binding.getParent().getUri(); String defaultTopic = natsBinding.getDefaultTopic(); NATSData natsData = generateData(natsBinding); String consumerId = consumer.getUri().toString(); return new NATSConnectionSource(consumer.getUri(), channelUri, consumerId, defaultTopic, natsData); }
public FileBindingWireTarget generateTarget(LogicalBinding<FileBinding> binding, ServiceContract contract, List<LogicalOperation> operations) { validateReferenceContract(contract); FileBinding definition = binding.getDefinition(); String location = definition.getLocation(); String adapterClass = definition.getAdapterClass(); URI adaptorUri = getAdaptorUri(definition); return new FileBindingWireTarget(location, adapterClass, adaptorUri); }
public PhysicalConnectionTarget generateConnectionTarget(LogicalProducer producer, LogicalBinding<ZeroMQBinding> binding, DeliveryType deliveryType) { ZeroMQBinding bindingDefinition = binding.getDefinition(); URI targetUri = bindingDefinition.getTargetUri(); if (targetUri == null) { // no target uri specified, generate one as it is not used for the endpoint address targetUri = binding.getParent().getUri(); } ZeroMQMetadata metadata = bindingDefinition.getZeroMQMetadata(); setChannelName(binding, metadata); boolean dedicatedThread = DeliveryType.ASYNCHRONOUS_WORKER == deliveryType; return new ZeroMQConnectionTarget(targetUri, metadata, dedicatedThread); }
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); }
public Axis2WireSourceDefinition generateWireSource(LogicalBinding<WsBindingDefinition> binding, ServiceContract<?> contract, List<LogicalOperation> operations, Policy policy) throws GenerationException { Axis2WireSourceDefinition hwsd = new Axis2WireSourceDefinition(); hwsd.setUri(binding.getDefinition().getTargetUri()); hwsd.setServiceInterface(contract.getQualifiedInterfaceName()); setPolicyConfigs(hwsd, policy, operations); return hwsd; }
public JUnitSourceDefinition generateSource(LogicalBinding<JUnitBindingDefinition> bindingDefinition, ServiceContract contract, List<LogicalOperation> operations, EffectivePolicy policy) throws GenerationException { ComponentDefinition<?> definition = bindingDefinition.getParent().getParent().getDefinition(); String testName = definition.getName(); ContextConfiguration configuration = bindingDefinition.getDefinition().getConfiguration(); return new JUnitSourceDefinition(testName, configuration); }