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)" <de...@tuscany.apache.org> on 2008/09/09 17:15:44 UTC

[jira] Assigned: (TUSCANY-2587) Inconsistent service naming in promoted service scenarios

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

Simon Laws reassigned TUSCANY-2587:
-----------------------------------

    Assignee: Simon Laws

> Inconsistent service naming in promoted service scenarios
> ---------------------------------------------------------
>
>                 Key: TUSCANY-2587
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2587
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Core Runtime
>    Affects Versions: Java-SCA-1.3
>            Reporter: Simon Laws
>            Assignee: Simon Laws
>             Fix For: Java-SCA-1.3.2
>
>
> I've just realized there is some strange behaviour in the case where a reference targets a component service which uses implementation.composite. For example,
> Composite1
> -----------------
>   <component name="A">
>         <implementation.java class="test.AImpl"/>
>         <reference name="targetService" target="B/InnerService">
>   </component>
>   <component name="B">
>           <implementation.composite name="ns:Composite2"/>
>   </component>
> Composite2
> -----------------
>   <service name="InnerService" promote="InnerServiceComponent">
>     <interface.java interface="test.Target"/>
>   </service>
>   <component name="C">
>        <implementation.java class="test.CImpl"/>
>        <service name="Target">
>          <interface.java interface="test.Target"/>
>        </service>
>   </component>
> When this composite is processed a service with the name $promoted$.B.InnerService is created on component C to represent the promoted endpoint. However this leads to a difference between how the model looks when the target component is in the same JVM and how it looks when it is in a remote JVM.
> In the remote case the target component won't be resolved and hence a dummy component service will be created with the the name B/InnerService. However in the local case the reference will be set to point to the resolved component and service where the service name is $promoted$.B.InnerService. 
> In the longer term all this $promoted$ service stuff really needs tidying up (I intend to look at it as part of the endpoint issue) but in the short term I'd like to fix the "$promoted$.B.InnerService" name to read "$promoted$B$slash$InnerService" so there is no doubt about how to extract the component and service names should you wish to do so. 

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