private <T> LogicalProducer createProducer(Class<T> interfaze, URI channelUri) throws Fabric3Exception { JavaServiceContract contract = introspector.introspect(interfaze); LogicalCompositeComponent domain = lcm.getDomainComposite(); String root = domain.getUri().toString(); LogicalComponent<NonManagedImplementation> logicalComponent = createComponent(interfaze, domain, root); Producer producer = new Producer("producer", contract); int pos = counter.getAndIncrement(); LogicalProducer logicalProducer = new LogicalProducer(URI.create(root + "/F3Synthetic#producer" + pos), producer, logicalComponent); logicalProducer.setServiceContract(contract); logicalProducer.addTarget(channelUri); return logicalProducer; }
private <T> LogicalProducer createProducer(Class<T> interfaze, URI channelUri) throws Fabric3Exception { JavaServiceContract contract = introspector.introspect(interfaze); LogicalCompositeComponent domain = lcm.getDomainComposite(); String root = domain.getUri().toString(); LogicalComponent<NonManagedImplementation> logicalComponent = createComponent(interfaze, domain, root); Producer producer = new Producer("producer", contract); int pos = counter.getAndIncrement(); LogicalProducer logicalProducer = new LogicalProducer(URI.create(root + "/F3Synthetic#producer" + pos), producer, logicalComponent); logicalProducer.setServiceContract(contract); logicalProducer.addTarget(channelUri); return logicalProducer; }
private Producer<ComponentType> createProducer(String name, Type type, Class<?> implClass, InjectingComponentType componentType, Member member, IntrospectionContext context) { TypeMapping typeMapping = context.getTypeMapping(implClass); Class<?> baseType = helper.getBaseType(type, typeMapping); ServiceContract contract = contractProcessor.introspect(baseType, implClass, context, componentType); if (contract.getOperations().isEmpty()) { String interfaceName = contract.getInterfaceName(); InvalidProducerInterface error = new InvalidProducerInterface("Producer interfaces must have at least one method: " + interfaceName, member, componentType); context.addError(error); } return new Producer<>(name, contract); }
Producer definition = new Producer(name, contract); type.add(definition); return true;
Producer definition = new Producer(name, contract); type.add(definition); return true;