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

Reply via email to