node.addContribution incorrectly loads of unused composites
-----------------------------------------------------------

                 Key: TUSCANY-1951
                 URL: https://issues.apache.org/jira/browse/TUSCANY-1951
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Core Runtime
    Affects Versions: Java-SCA-1.0.1, Java-SCA-1.0
            Reporter: Jean-Sebastien Delfino
             Fix For: Java-SCA-Next


node.addContribution() incorrectly triggers eager loading and resolution of all 
.composite artifacts in the contribution. Instead it should only consider the 
composites that are actually used later on by the node (similar to what the 
Java classloader does, it doesn't complain about classes with unresolved 
references to other classes unless and until they are actually used / 
referenced themselves).

To produce the exception below I just added a dummy composite containing an 
unresolvable class to the tutorial's store contribution. I shouldn't get that 
exception at all as the composite is never used in my environment (it's not 
referenced by any of the composites actually added to the SCA node).

Exception in thread "main" org.apache.tuscany.sca.node.NodeException: 
java.lang.ClassNotFoundException: services.merger.MergedCatalogImpl
        at 
org.apache.tuscany.sca.node.impl.SCANodeImpl.addContribution(SCANodeImpl.java:490)
        at 
org.apache.tuscany.sca.node.impl.SCANodeImpl.addContribution(SCANodeImpl.java:478)
        at launch.LaunchStore.main(LaunchStore.java:43)
Caused by: org.apache.tuscany.sca.node.NodeException: 
java.lang.ClassNotFoundException: services.merger.MergedCatalogImpl
        at 
org.apache.tuscany.sca.node.impl.SCANodeImpl.addContributionFromDomain(SCANodeImpl.java:339)
        at 
org.apache.tuscany.sca.node.impl.SCANodeImpl.addContribution(SCANodeImpl.java:484)
        ... 2 more
Caused by: 
org.apache.tuscany.sca.contribution.service.ContributionResolveException: 
java.lang.ClassNotFoundException: services.merger.MergedCatalogImpl
        at 
org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:148)
        at 
org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:65)
        at 
org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:242)
        at 
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:108)
        at 
org.apache.tuscany.sca.assembly.xml.BaseAssemblyProcessor.resolveImplementation(BaseAssemblyProcessor.java:241)
        at 
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:794)
        at 
org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:74)
        at 
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:108)
        at 
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:113)
        at 
org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:47)
        at 
org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:86)
        at 
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:423)
        at 
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:333)
        at 
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:169)
        at 
org.apache.tuscany.sca.node.impl.SCANodeImpl.addContributionFromDomain(SCANodeImpl.java:321)
        ... 3 more
Caused by: java.lang.ClassNotFoundException: services.merger.MergedCatalogImpl
        ... 18 more


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to