Multiplicity 0..1 does not work - Exception in JavaContextFactory
-----------------------------------------------------------------

         Key: TUSCANY-299
         URL: http://issues.apache.org/jira/browse/TUSCANY-299
     Project: Tuscany
        Type: Bug

  Components: Java SCA POJO Container  
    Versions: M1    
    Reporter: Jean-Sebastien Delfino
     Fix For: M1


In your component do the following:
  @Reference(required=false)
    public void setGreetingSuffix(GreetingPortionProvider greetingSuffix) {
        this.greetingSuffix = greetingSuffix;
    }
and do not wire that reference. This should work, greetingSuffix should just be 
null. Instead you'll get the following exception:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at 
org.apache.tuscany.container.java.config.JavaContextFactory.createReferenceInjector(JavaContextFactory.java:217)
        at 
org.apache.tuscany.container.java.config.JavaContextFactory.addSourceWireFactories(JavaContextFactory.java:146)
        at 
org.apache.tuscany.core.extension.ContextFactoryBuilderSupport.build(ContextFactoryBuilderSupport.java:134)
        at 
org.apache.tuscany.core.builder.impl.AssemblyVisitorImpl.visit(AssemblyVisitorImpl.java:52)
        at 
org.apache.tuscany.model.assembly.impl.AssemblyObjectImpl.accept(AssemblyObjectImpl.java:39)
        at 
org.apache.tuscany.model.assembly.impl.ExtensibleImpl.accept(ExtensibleImpl.java:66)
        at 
org.apache.tuscany.model.assembly.impl.ComponentImpl.accept(ComponentImpl.java:196)
        at 
org.apache.tuscany.model.assembly.impl.AssemblyObjectImpl.accept(AssemblyObjectImpl.java:50)
        at 
org.apache.tuscany.model.assembly.impl.CompositeImpl.accept(CompositeImpl.java:336)
        at 
org.apache.tuscany.model.assembly.impl.ModuleImpl.accept(ModuleImpl.java:97)
        at 
org.apache.tuscany.model.assembly.impl.ComponentImpl.accept(ComponentImpl.java:206)
        at 
org.apache.tuscany.core.builder.impl.AssemblyVisitorImpl.start(AssemblyVisitorImpl.java:44)
        at 
org.apache.tuscany.core.runtime.RuntimeContextImpl.build(RuntimeContextImpl.java:161)
        at 
org.apache.tuscany.core.context.impl.AbstractCompositeContext.registerModelObject(AbstractCompositeContext.java:274)
        at 
org.apache.tuscany.core.client.BootstrapHelper.registerModule(BootstrapHelper.java:133)
        at 
org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:103)
        at 
org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:67)
        at 
org.apache.tuscany.samples.helloworldmc.HelloWorldServiceComponentTestCase.testGeetings(HelloWorldServiceComponentTestCase.java:32)
        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:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

To reproduce the problem use the attached test case.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to