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

Mark Combellack reassigned TUSCANY-2027:
----------------------------------------

    Assignee: Mark Combellack

> Problem using implementation.composite that is another 
> implementation.composite with promoted references
> --------------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2027
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2027
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Core Runtime
>    Affects Versions: Java-SCA-Next
>         Environment: svn revision 609904
> Linux
>            Reporter: Mark Combellack
>            Assignee: Mark Combellack
>             Fix For: Java-SCA-Next
>
>         Attachments: recursive2.jar
>
>
> I am having problems with a sample application that attempts to use nested 
> implementation.composites and references
> I have an application that has:
> A lowest level composite (Called CComposite) that has two promoted references:
>     <service name="CService" promote="CComponent">
>         <interface.java interface="samples.C"/>
>         <binding.sca/>
>     </service>
>     <reference name="PromotedRefX" promote="CComponent/refX">
>         <interface.java interface="samples.X"/>
>         <binding.sca/>
>     </reference>
>     <reference name="PromotedRefY" promote="CComponent/refY">
>         <interface.java interface="samples.Y"/>
>         <binding.sca/>
>     </reference>
>     <component name="CComponent">
>         <implementation.java class="samples.CImpl"/>
>         <reference name="refX"/>
>         <reference name="refY"/>
>     </component>
> This is then used by another Composite (called BComposite):
>     <service name="BService" promote="BComponent">
>         <interface.java interface="samples.C"/>
>         <binding.sca/>
>     </service>
>     <component name="BComponent">
>         <implementation.composite name="sample:CComposite"/>
>         <reference name="PromotedRefX" target="XComponent"/>
>         <reference name="PromotedRefY" target="YComponent"/>
>     </component>
>     <component name="XComponent">
>               <implementation.java class="samples.XImpl"/>
>     </component>
>     <component name="YComponent">
>         <implementation.java class="samples.YImpl"/>
>     </component>
> This is then used by another composite (called AComposite):
>     <service name="AService" promote="AComponent">
>         <interface.java interface="samples.C"/>
>     </service>
>     <component name="AComponent">
>         <implementation.composite name="sample:BComposite"/>
>     </component>
> I have a unit test that tries to use AComponent. However, when I invoke an 
> operation on the Service, I get the following exception:
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running nested.NestedTestCase
> Deployed names = [XComponent, AComponent, BComponent, YComponent, CComponent]
> Setting X on CImpl to [Proxy - [EMAIL PROTECTED]
> Setting Y on CImpl to [Proxy - [EMAIL PROTECTED]
> Deployed names = [XComponent, AComponent, BComponent, YComponent, CComponent]
> Setting X on CImpl to [Proxy - [EMAIL PROTECTED]
> Setting Y on CImpl to [Proxy - [EMAIL PROTECTED]
> Method call returned [C:cOp() - xResult = X:xOp() yResult = Y:yOp()]
> Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.667 sec <<< 
> FAILURE!
> testAComponent(nested.NestedTestCase)  Time elapsed: 1.434 sec  <<< ERROR!
> org.osoa.sca.ServiceUnavailableException: Service not found for component 
> CComponent reference refX (bindingURI=null operation=xOp). Ensure that the 
> composite containing the service is loaded and started somewhere in the SCA 
> domain and that if running in a remote node that the interface of the target 
> service marked as @Remotable
>         at 
> org.apache.tuscany.sca.binding.sca.impl.RuntimeSCAReferenceBindingProvider.createInvoker(RuntimeSCAReferenceBindingProvider.java:225)
>         at 
> org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.addBindingInterceptor(RuntimeWireImpl.java:213)
>         at 
> org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.initInvocationChains(RuntimeWireImpl.java:155)
>         at 
> org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.getInvocationChains(RuntimeWireImpl.java:97)
>         at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.getInvocationChain(JDKInvocationHandler.java:205)
>         at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:139)
>         at $Proxy6.xOp(Unknown Source)
>         at samples.CImpl.cOp(CImpl.java:33)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at 
> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:105)
>         at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:248)
>         at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:145)
>         at $Proxy5.cOp(Unknown Source)
>         at nested.NestedTestCase.testAComponent(NestedTestCase.java:42)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at junit.framework.TestCase.runTest(TestCase.java:168)
>         at junit.framework.TestCase.runBare(TestCase.java:134)
>         at junit.framework.TestResult$1.protect(TestResult.java:110)
>         at junit.framework.TestResult.runProtected(TestResult.java:128)
>         at junit.framework.TestResult.run(TestResult.java:113)
>         at junit.framework.TestCase.run(TestCase.java:124)
>         at junit.framework.TestSuite.runTest(TestSuite.java:232)
>         at junit.framework.TestSuite.run(TestSuite.java:227)
>         at 
> org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
>         at 
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
>         at 
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
>         at 
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at 
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:308)
>         at 
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:879)
> Results :
> Tests in error: 
>   testAComponent(nested.NestedTestCase)
> Tests run: 2, Failures: 0, Errors: 1, Skipped: 0
> I have a second test that looks up BComponent directly and runs the same code 
> and this test passes.

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