NullPointerException if a property is not configured
----------------------------------------------------

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

  Components: Java SCA POJO Container  
    Reporter: Jean-Sebastien Delfino


By default the application developer is not required to configure all the 
properties of a component. If a property is not configured, the runtime throws 
a NullPointerException. Ths is not correct, no exception should be thrown.

To reproduce the problem, just comment out the property configuration element 
in helloworldmc/sca.module, as follows:

    <component name="HelloWorldServiceComponent">
        <implementation.java 
class="org.apache.tuscany.samples.helloworldmc.HelloWorldServiceComponentImpl"/>
        <references>
            <v:greetingPrefix>GreetingPrefixComponent</v:greetingPrefix>
            <v:greetingSuffix>GreetingSuffixComponent</v:greetingSuffix>
        </references>
        <properties>
        <!--
            <v:greetingMiddle>SCA</v:greetingMiddle>
         -->
        </properties>
    </component>

Here's the exception you'll get when you run the HelloWorldClient.

Exception in thread "main" java.lang.NullPointerException
        at 
org.apache.tuscany.container.java.builder.JavaContextFactoryBuilder.createPropertyInjector(JavaContextFactoryBuilder.java:215)
        at 
org.apache.tuscany.container.java.builder.JavaContextFactoryBuilder.build(JavaContextFactoryBuilder.java:172)
        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:201)
        at 
org.apache.tuscany.model.assembly.impl.AssemblyObjectImpl.accept(AssemblyObjectImpl.java:51)
        at 
org.apache.tuscany.model.assembly.impl.CompositeImpl.accept(CompositeImpl.java:333)
        at 
org.apache.tuscany.model.assembly.impl.ModuleImpl.accept(ModuleImpl.java:96)
        at 
org.apache.tuscany.model.assembly.impl.ComponentImpl.accept(ComponentImpl.java:211)
        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:275)
        at 
org.apache.tuscany.core.client.BootstrapHelper.registerModule(BootstrapHelper.java:133)
        at 
org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:104)
        at 
org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:67)
        at 
org.apache.tuscany.samples.helloworldmc.HelloWorldClient.main(HelloWorldClient.java:33)


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