Default binding URI for service from Composite impl component is incorrect
--------------------------------------------------------------------------

                 Key: TUSCANY-2010
                 URL: https://issues.apache.org/jira/browse/TUSCANY-2010
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Assembly Model
    Affects Versions: Java-SCA-1.0.1
            Reporter: Scott Kurz
            Priority: Minor
             Fix For: Java-SCA-1.1


Consider the following two SCDL files, a top-level SCDL with a component 
implemented in a 2nd SCDL file:

<!-- top-level SCDL excerpt -->
   <component name="MultiplyComponent">
      <implementation.composite name="multiply:MultiplyComposite"/>
    </component>

<!-- composite impl SCDL excerpt -->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";     
name="MultiplyComposite">
    <service name="MultiplyService" 
promote="InnerMultiplyComponent/MultiplyService">
      <interface.java ..../>
    </service>
    <component name="InnerMultiplyComponent">
      <implementation.java... />
    </component>
</composite>

It seems that, based on the current CompositeConfigurationBuilderImpl.java code 
in the assembly module, I am going to end up with an effective default binding 
URI of "MultiplyComponent/MultiplyComponent"  instead of simply the correct 
"MultiplyComponent".

It seems like one fix is to change this segment:

            // around line 109
            Implementation implementation = component.getImplementation();
            if (implementation instanceof Composite) {

                // Process nested composite
                //      configureComponents((Composite)implementation,  
componentURI);         //PROBLEM
               configureComponents((Composite)implementation,  null);           
                            //SEEMS TO WORK
            }

However, I'm not sure if I'm giving this the thought this deserves.   For 
example I see Sebastien made a change in r592270 and I'm not sure why.    

Maybe there's a better solution.    Could we possibly want to, in some cases, 
do something like:

URI.create(String).relativize(URI.create(String))      

in one or more case where we now do:

URI.create(String).resolve(String)

?

Just throwing that out there....



-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to