You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Laws (JIRA)" <tu...@ws.apache.org> on 2008/03/13 18:56:24 UTC

[jira] Closed: (TUSCANY-2076) Basic component service operation doesn't seem to match spec

     [ https://issues.apache.org/jira/browse/TUSCANY-2076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Laws closed TUSCANY-2076.
-------------------------------

    Resolution: Fixed

Ok, so looking at the Java Component Implementation spec sections 1.2.1.2 and 1.2.1.3 it looks like this is working as specified, i..e 

Interface with @Remotable: ServiceName = interface name
interface without @Remotable: ServiceName = implementation class name

A little confusing but this seems to be a false alarm on my part. 

> Basic component service operation doesn't seem to match spec
> ------------------------------------------------------------
>
>                 Key: TUSCANY-2076
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2076
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Core Runtime
>    Affects Versions: Java-SCA-1.1
>         Environment: Windows XP SP2, IBM JDK V5
>            Reporter: Simon Laws
>            Assignee: Vamsavardhana Reddy
>             Fix For: Java-SCA-1.2
>
>
> samples/calculator uses very basic and minimal SCA confiburation and works just find. However is you go and extend the composite file slightly changing
>     <component name="CalculatorServiceComponent">
>         <implementation.java class="calculator.CalculatorServiceImpl"/>
>         <reference name="addService" target="AddServiceComponent" />
>         <reference name="subtractService" target="SubtractServiceComponent" />
>         <reference name="multiplyService" target="MultiplyServiceComponent" />
>         <reference name="divideService" target="DivideServiceComponent" />
>     </component>
> To read
>     <component name="CalculatorServiceComponent">
> 	<implementation.java class="calculator.CalculatorServiceImpl"/>
> 	<service name="CalculatorService">
> 	   <binding.sca/>
> 	</service>
>         <reference name="addService" target="AddServiceComponent" />
>         <reference name="subtractService" target="SubtractServiceComponent" />
>         <reference name="multiplyService" target="MultiplyServiceComponent" />
>         <reference name="divideService" target="DivideServiceComponent" />
>     </component>
> Then I get the following output...
> 13-Mar-2008 11:19:52 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem
> WARNING: Service not found for component service: CalculatorServiceComponent/CalculatorService
> 13-Mar-2008 11:19:52 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem
> WARNING: Service not found for component service: CalculatorServiceComponent/CalculatorService
> 13-Mar-2008 11:19:53 org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl activate
> WARNING: Skipping component service not defined in the component type: CalculatorServiceComponent#CalculatorService
> If I then go and force the component to recognize the service by adding an @Service annotation to the calculator component implementation by changing
> public class CalculatorServiceImpl implements CalculatorService {
> to read 
> @Service(CalculatorService.class)
> public class CalculatorServiceImpl implements CalculatorService {
> It then works again. 
> I believe the spec implies that the basic service definition in the composite file should be valid without the need to further annotate the service implementation. 

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


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org