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.