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 2009/03/12 10:56:51 UTC

[jira] Commented: (TUSCANY-2883) [1.x] NPE occurs when doing negative test about conformace item 60008

    [ https://issues.apache.org/jira/browse/TUSCANY-2883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681235#action_12681235 ] 

Simon Laws commented on TUSCANY-2883:
-------------------------------------

The reported error is still valid but the patch here can be ignored as the patch for TUSCANY-2884 committed all the test cases together at  revision: 752817  


> [1.x] NPE occurs when doing negative test about conformace item 60008
> ---------------------------------------------------------------------
>
>                 Key: TUSCANY-2883
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2883
>             Project: Tuscany
>          Issue Type: Task
>          Components: Java SCA Assembly Model
>    Affects Versions: Java-SCA-1.4
>            Reporter: Shu Chao Wan
>         Attachments: composite.patch
>
>
> In ASM60008, it says that "The interfaces of the component references promoted by a composite reference MUST be the same, or if the composite reference itself declares an interface then all the component reference interfaces must be compatible with the composite reference interface. Compatible means that the component reference interface is the same or is a strict subset of the composite reference interface." 
> In order to verify this statement in negative way, I wrote a composite file whose  promoted component interface is incompatible with the composite reference's interface, one is CService, and the other is BService, and then a ServiceRuntimeException is expected as the result. But actually I got a NullPointerException.
> --------------------------------
> TestCase
> --------------------------------
>     @Test
>     public void ASM60008_n() throws Exception {
>         initDomain("differentreferenceinterface_outer.composite");
>         AService service = ServiceFinder.getService(AService.class, "DifferentInterfaceComponent/AService");
>         System.out.println(service.getState());
>         cleanupDomain();
>     }
> ------------------------------------------------------------
> differentreferenceinterface_outer.composite
> ------------------------------------------------------------
> <composite ..>
>     <component name="DifferentInterfaceComponent">
>         <implementation.composite name="assembly-tests:Assembly-different-reference-interface-inner-Composite"/>
>         <reference name="c" target="CComponent"/>
>      </component>
>     <component name="CComponent">
>         <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/>
>     </component>
> </composite>
> ------------------------------------------------------------
> differentreferenceinterface_inner.composite
> ------------------------------------------------------------
> <composite ..>
>     <service name="AService" promote="AComponent"/>
>     <component name="AComponent">
>             <implementation.java  class="org.apache.tuscany.sca.vtest.assembly.composite.impl.AServiceImpl" />
>            <reference name="b">   
>                     <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.BService" />
>              </reference>
>     </component>
>      <reference name="c" promote="AComponent/b">
> 	<interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService" />
>       </reference>    
> </composite>
> --------------------------------
> NullPointerException
> --------------------------------
> java.lang.NullPointerException
> 	at org.apache.tuscany.sca.vtest.assembly.composite.impl.AServiceImpl.getState(AServiceImpl.java:39)
> 	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:162)
> 	at org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
> 	at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:310)
> 	at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:163)
> 	at $Proxy9.getState(Unknown Source)
> 	at org.apache.tuscany.sca.vtest.assembly.composite.CompositeTestCase.ASM60008_n(CompositeTestCase.java:330)
> 	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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
> 	at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

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