[
https://issues.apache.org/jira/browse/TUSCANY-2258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ramkumar Ramalingam reassigned TUSCANY-2258:
--------------------------------------------
Assignee: Ramkumar Ramalingam
> Spring Implementation support of Services isn't compliant with the
> Specification
> --------------------------------------------------------------------------------
>
> Key: TUSCANY-2258
> URL: https://issues.apache.org/jira/browse/TUSCANY-2258
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Spring Implementation Extension
> Environment: Not Specific, but current environment is Windows
> Reporter: Kapish Aggarwal
> Assignee: Ramkumar Ramalingam
> Fix For: Java-SCA-Next
>
>
> Based on the specification (verbatim from PDF below):
> Each <service> element used with <implementation.spring> should include the
> name of the Spring bean
> that is to be exposed as an SCA service in its name attribute. So, for
> Spring, the name attribute of a
> service plays two roles: it identifies a Spring bean, and it names the
> service for the component. The service
> element above has a name of "X", so there should be a Spring bean with that
> name.
> This means in a component using implementation.spring, the "name" attribute
> of the service should be based on the value of the "id" attribute of the
> corresponding bean in the Spring context file. However, since Spring
> Implementation code piggybacks on the Java Introspection, it should the Java
> interface name instead. The SpringBeanIntrospector class's introspectBean
> method simply uses the Java implementation introspection and just copies the
> Services, References, and Properties directly over to the componentType
> object for the Spring Implementation. There needs to be some processing to
> ensure that the service is named based on the bean. I am unsure if the
> references and properties need have some extra processing involved either.
> Example below:
> Spring Context:
> <bean id="testBean" class="test.spring.HelloWorldBean">
> </bean>
> Component Element from Composite Should Be (This does not work):
> <component name="SpringComponent">
> <implementation.spring
> location="META-INF/SpringHelloWorld-context.xml"/>
> <service name="testBean">
> <interface.java interface="test.spring.HelloWorld"/>
> </service>
> </component>
> Component Element from Composite Actually Is (This works):
> <component name="SpringComponent">
> <implementation.spring
> location="META-INF/SpringHelloWorld-context.xml"/>
> <service name="HelloWorld">
> <interface.java interface="test.spring.HelloWorld"/>
> </service>
> </component>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.