Service Creation should consider interfaces marked as remotable via SCDL 
@Remotable attribute in <interface.java>
-----------------------------------------------------------------------------------------------------------------

                 Key: TUSCANY-3295
                 URL: https://issues.apache.org/jira/browse/TUSCANY-3295
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Java Implementation Extension, OASIS Compliance 
- TUSCANY
    Affects Versions: Java-SCA-2.0
            Reporter: Luciano Resende
             Fix For: Java-SCA-2.0


Looks like we are currently visiting all interfaces from a implementation (see 
ServiceProcessor.java) and checking if these interfaces are annotated in order 
to create services.

// scan interfaces for remotable
            Set<Class<?>> interfaces = getAllInterfaces(clazz);
            for (Class<?> interfaze : interfaces) {
                if (interfaze.isAnnotationPresent(Remotable.class) 
                    || interfaze.isAnnotationPresent(WebService.class)
                    || interfaze.isAnnotationPresent(Callback.class)
                    ) {
                    Service service;
                    try {
                        service = createService(interfaze);
                    } catch (InvalidInterfaceException e) {
                        throw new IntrospectionException(e);
                    }
                    type.getServices().add(service);
                }
            }

OASIS Java CAA specs now introduce the possibility to mark a interface 
remotable via the @remotable attribute in the SCDL and we should consider this 
when creating services... currently we are just throwing an exception 

Caused by: org.oasisopen.sca.ServiceRuntimeException: [] - Service not found 
for component service (missing @Remotable annotation?): Component = Catalog 
Service = Catalog
        at 
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.analyzeProblems(NodeFactoryImpl.java:285)
        at 
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.configureNode(NodeFactoryImpl.java:561)
        at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:120)
        ... 23 more


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to