You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Luciano Resende (JIRA)" <de...@tuscany.apache.org> on 2009/10/03 22:56:23 UTC

[jira] Created: (TUSCANY-3295) Service Creation should consider interfaces marked as remotable via SCDL @Remotable attribute in

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.


[jira] Closed: (TUSCANY-3295) Service Creation should consider interfaces marked as remotable via SCDL @Remotable attribute in

Posted by "ant elder (JIRA)" <de...@tuscany.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-3295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ant elder closed TUSCANY-3295.
------------------------------

    Resolution: Fixed

The tests are passing now so this must be fixed

> 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.