Looks like serviceContract itself is not NULL, but it's contents, like callBackClass, callBackName, callBackOperations are all null. Ideas ?
-- Luciano Resende http://people.apache.org/~lresende On 1/16/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
By checking the code, it seems that the callback interface of the ServiceContract is null. Thanks, Raymond ----- Original Message ----- From: "Luciano Resende" <[EMAIL PROTECTED]> To: "tuscany-dev" <[email protected]> Sent: Tuesday, January 16, 2007 5:33 PM Subject: Re: Tuscany-1045 - Merging component type information from two sources > Hi Raymond > > I have a possible fix for Tuscany-1045, but after I apply the fix, I > start getting the issue described in TUSCANY-967. What was the problem you > fixed ? From the comments, I looked for the componentType in the target > directory and it's there... Here is the stack trace I'm getting : > > java.lang.NullPointerException > at > org.apache.tuscany.core.implementation.processor.ServiceProcessor.visitField > (ServiceProcessor.java:144) > at > org.apache.tuscany.core.implementation.IntrospectionRegistryImpl.introspect ( > IntrospectionRegistryImpl.java:97) > at > org.apache.tuscany.core.implementation.java.JavaComponentTypeLoader.loadByIntrospection > (JavaComponentTypeLoader.java:79) > at > org.apache.tuscany.core.implementation.java.JavaComponentTypeLoader.load ( > JavaComponentTypeLoader.java:65) > at > org.apache.tuscany.core.implementation.java.JavaComponentTypeLoader.load ( > JavaComponentTypeLoader.java:45) > at > org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType( > LoaderRegistryImpl.java:156) > at > org.apache.tuscany.core.implementation.java.JavaImplementationLoader.load( > JavaImplementationLoader.java:58) > at org.apache.tuscany.core.loader.LoaderRegistryImpl.load( > LoaderRegistryImpl.java:84) > at > org.apache.tuscany.core.loader.ComponentLoader.loadImplementation > (ComponentLoader.java:199) > at org.apache.tuscany.core.loader.ComponentLoader.load( > ComponentLoader.java:110) > at org.apache.tuscany.core.loader.ComponentLoader.load( > ComponentLoader.java:79) > at org.apache.tuscany.core.loader.LoaderRegistryImpl.load( > LoaderRegistryImpl.java:84) > at > org.apache.tuscany.core.implementation.composite.CompositeLoader.load( > CompositeLoader.java:91) > at > org.apache.tuscany.core.implementation.composite.CompositeLoader.load( > CompositeLoader.java:65) > at org.apache.tuscany.core.loader.LoaderRegistryImpl.load( > LoaderRegistryImpl.java:84) > at org.apache.tuscany.core.loader.LoaderRegistryImpl.load( > LoaderRegistryImpl.java:102) > at > org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.loadFromSidefile > (CompositeComponentTypeLoader.java:65) > at > org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.load > (CompositeComponentTypeLoader.java:57) > at > org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.load > (CompositeComponentTypeLoader.java:39) > at > org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType( > LoaderRegistryImpl.java:156) > at org.apache.tuscany.core.deployer.DeployerImpl.load( > DeployerImpl.java:127) > at org.apache.tuscany.core.deployer.DeployerImpl.deploy( > DeployerImpl.java:92) > at > org.apache.tuscany.core.runtime.AbstractRuntime.deployApplicationScdl( > AbstractRuntime.java:305) > at > org.apache.tuscany.sca.plugin.itest.MavenEmbeddedRuntime.initialize( > MavenEmbeddedRuntime.java:83) > at org.apache.tuscany.sca.plugin.itest.TuscanyStartMojo.execute( > TuscanyStartMojo.java:295) > at org.apache.maven.plugin.DefaultPluginManager.executeMojo( > DefaultPluginManager.java:412) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals( > DefaultLifecycleExecutor.java:534) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle > (DefaultLifecycleExecutor.java:475) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal( > DefaultLifecycleExecutor.java:454) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures > (DefaultLifecycleExecutor.java:306) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments( > DefaultLifecycleExecutor.java:273) > at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute( > DefaultLifecycleExecutor.java:140) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:256) > 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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java > :315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at org.codehaus.classworlds.Launcher.mainWithExitCode( Launcher.java > :430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > > > On 1/15/07, Luciano Resende <[EMAIL PROTECTED]> wrote: >> >> I have started investigating TUSCANY-1045. Based on what the spec is >> saying, we should start by calculating the component type information >> from >> introspection and then looking into sidefile and merge the info from both >> in >> a compatible way : >> >> "The component type is calculated in two steps where the second step adds >> to the information found in the first step. Step one is introspecting the >> implementation (if possible), including the inspection of implementation >> annotations (if available). Step two covers the cases where introspection >> of >> the implementation is not possible or where it does not provide complete >> information and it involves looking for an SCA component type file. >> Component type information found in the component type file must be >> compatible with the equivalent information found from inspection of the >> implementation. The component type file can specify partial information, >> with the remainder being derived from the implementation. " >> >> The issue is that our code, inside JavaComponentTypeLoader is doing these >> two paths in a exclusive way. >> I'm planning to work on this, but I want some guidance on how to merge >> information from a componentType from two different sources. I have >> couple >> questions : >> >> - Do we already have some similar code available ? >> - Any special care while merging the info from the two sources >> (introspection and sideFile) ? >> - How to identify if the info from both sources are compatible ? >> >> -- >> Luciano Resende >> http://people.apache.org/~lresende < http://people.apache.org/%7Elresende> > > > > > -- > Luciano Resende > http://people.apache.org/~lresende > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
