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]


Reply via email to