You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2009/10/16 07:42:38 UTC

svn commit: r825773 [15/15] - in /tuscany/java/sca: itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/ modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ modules/assembly-xml/src/main/java/org/apache/tuscany/sca/defi...

Modified: tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java (original)
+++ tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java Fri Oct 16 05:42:26 2009
@@ -22,6 +22,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 
 
@@ -38,7 +39,7 @@
     public TestModelResolver() {
     }
 
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+    public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) {
         Object resolved = map.get(unresolved);
         if (resolved != null) {
             
@@ -52,11 +53,11 @@
         }
     }
     
-    public void addModel(Object resolved) {
+    public void addModel(Object resolved, ProcessorContext context) {
         map.put(resolved, resolved);
     }
     
-    public Object removeModel(Object resolved) {
+    public Object removeModel(Object resolved, ProcessorContext context) {
         return map.remove(resolved);
     }
     

Modified: tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java (original)
+++ tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java Fri Oct 16 05:42:26 2009
@@ -26,6 +26,7 @@
 import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
 import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
 import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 
@@ -39,11 +40,11 @@
         return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment");
     }
 
-    public Object read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException {
+    public Object read(XMLStreamReader arg0, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         return new MockPolicyImplOne();
     }
 
-    public void write(Object arg0, XMLStreamWriter arg1) throws ContributionWriteException,
+    public void write(Object arg0, XMLStreamWriter arg1, ProcessorContext context) throws ContributionWriteException,
                                                         XMLStreamException {
     }
 
@@ -52,7 +53,7 @@
         return Object.class;
     }
 
-    public void resolve(Object arg0, ModelResolver arg1) throws ContributionResolveException {
+    public void resolve(Object arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException {
 
     }
 

Modified: tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java (original)
+++ tuscany/java/sca/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java Fri Oct 16 05:42:26 2009
@@ -27,10 +27,10 @@
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamReader;
 
-import org.apache.tuscany.sca.policy.xml.ws.WSPolicyProcessor;
-
 import junit.framework.TestCase;
 
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
+
 /**
  * Test reading SCA XML assembly documents.
  * 
@@ -93,7 +93,7 @@
                 	name = reader.getName();
                 	
                 	if(WSPolicyProcessor.WS_POLICY_QNAME.equals(name)) {
-                		 artifact = processor.read(reader);
+                		 artifact = processor.read(reader, new ProcessorContext());
                 	}
                 	
                     break;

Modified: tuscany/java/sca/modules/scdl/src/main/java/org/apache/tuscany/sca/scdl/SCDLUtils.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/scdl/src/main/java/org/apache/tuscany/sca/scdl/SCDLUtils.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/scdl/src/main/java/org/apache/tuscany/sca/scdl/SCDLUtils.java (original)
+++ tuscany/java/sca/modules/scdl/src/main/java/org/apache/tuscany/sca/scdl/SCDLUtils.java Fri Oct 16 05:42:26 2009
@@ -51,6 +51,7 @@
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.ExtendedURLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
@@ -59,6 +60,7 @@
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
 import org.apache.tuscany.sca.definitions.Definitions;
@@ -71,53 +73,61 @@
 
 public class SCDLUtils {
 
-//  private static final String SCA11_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1";
+    //  private static final String SCA11_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1";
 
     public static Composite readComposite(InputStream is) throws XMLStreamException, ContributionReadException {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        ProcessorContext context = new ProcessorContext(extensionPoints);
         XMLInputFactory inputFactory = XMLInputFactory.newInstance();
         UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
         MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
         Monitor monitor = monitorFactory.createMonitor();
-        StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
-        StAXArtifactProcessor<Object> staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor);
+        StAXArtifactProcessorExtensionPoint staxProcessors =
+            new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
+        StAXArtifactProcessor<Object> staxProcessor =
+            new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = (Composite)staxProcessor.read(reader);
-        
+        Composite composite = (Composite)staxProcessor.read(reader, context);
+
         List<Problem> ps = monitor.getProblems();
         if (ps.size() > 0) {
             throw new ContributionReadException(ps.get(0).toString());
         }
-        
+
         return composite;
     }
 
     public static Contribution readContribution(String location) throws Exception {
-        
+
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        ProcessorContext context = new ProcessorContext(extensionPoints);
         extensionPoints.start();
-        
+
         UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
         MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
         Monitor monitor = monitorFactory.createMonitor();
-        URLArtifactProcessorExtensionPoint docProcessorExtensions = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
-        ExtendedURLArtifactProcessor<Contribution> contributionProcessor = (ExtendedURLArtifactProcessor<Contribution>) docProcessorExtensions.getProcessor(Contribution.class);
-        
+        URLArtifactProcessorExtensionPoint docProcessorExtensions =
+            extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+        ExtendedURLArtifactProcessor<Contribution> contributionProcessor =
+            (ExtendedURLArtifactProcessor<Contribution>)docProcessorExtensions.getProcessor(Contribution.class);
+
         File f = new File(location);
         List<Contribution> contributions = new ArrayList<Contribution>();
-        contributions.add(contributionProcessor.read(null, f.toURI(), f.toURI().toURL()));
+        contributions.add(contributionProcessor.read(null, f.toURI(), f.toURI().toURL(), context));
 
         FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
-//        AssemblyFactory assemblyFactory = new RuntimeAssemblyFactory(extensionPoints);
-//        modelFactories.addFactory(assemblyFactory);
+        //        AssemblyFactory assemblyFactory = new RuntimeAssemblyFactory(extensionPoints);
+        //        modelFactories.addFactory(assemblyFactory);
 
         monitor = monitorFactory.createMonitor();
 
         ContributionFactory contributionFactory = modelFactories.getFactory(ContributionFactory.class);
 
-        contributionProcessor = (ExtendedURLArtifactProcessor<Contribution>) docProcessorExtensions.getProcessor(Contribution.class);
+        contributionProcessor =
+            (ExtendedURLArtifactProcessor<Contribution>)docProcessorExtensions.getProcessor(Contribution.class);
 
-        ModelResolverExtensionPoint modelResolvers = extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class);
+        ModelResolverExtensionPoint modelResolvers =
+            extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class);
 
         DefinitionsFactory definitionsFactory = modelFactories.getFactory(DefinitionsFactory.class);
         Definitions systemDefinitions = definitionsFactory.createDefinitions();
@@ -127,7 +137,8 @@
         Contribution systemContribution = contributionFactory.createContribution();
         systemContribution.setURI("http://tuscany.apache.org/SystemContribution");
         systemContribution.setLocation("http://tuscany.apache.org/SystemContribution");
-        ModelResolver modelResolverSys = new ExtensibleModelResolver(systemContribution, modelResolvers, modelFactories, monitor);
+        ModelResolver modelResolverSys =
+            new ExtensibleModelResolver(systemContribution, modelResolvers, modelFactories);
         systemContribution.setModelResolver(modelResolverSys);
         systemContribution.setUnresolved(true);
 
@@ -145,17 +156,18 @@
         // definitions.xml picture
 
         monitor.pushContext("Extension points definitions");
-        DefinitionsExtensionPoint definitionsExtensionPoint = extensionPoints.getExtensionPoint(DefinitionsExtensionPoint.class);
-        for(Definitions defs: definitionsExtensionPoint.getDefinitions()) {
+        DefinitionsExtensionPoint definitionsExtensionPoint =
+            extensionPoints.getExtensionPoint(DefinitionsExtensionPoint.class);
+        for (Definitions defs : definitionsExtensionPoint.getDefinitions()) {
             DefinitionsUtil.aggregate(defs, systemDefinitions, monitor);
         }
         monitor.popContext();
-        
+
         // get all definitions.xml artifacts from contributions and aggregate
         // into the system contribution. In turn add a default import into
         // each contribution so that for unresolved items the resolution
         // processing will look in the system contribution
-        for (Contribution contribution: contributions) {
+        for (Contribution contribution : contributions) {
             monitor.pushContext("Contribution: " + contribution.getURI());
             // aggregate definitions
             for (Artifact artifact : contribution.getArtifacts()) {
@@ -177,79 +189,81 @@
             monitor.popContext();
         }
 
-        ExtensibleModelResolver modelResolver = new ExtensibleModelResolver(new Contributions(contributions), modelResolvers, modelFactories, monitor);
+        ExtensibleModelResolver modelResolver =
+            new ExtensibleModelResolver(new Contributions(contributions), modelResolvers, modelFactories);
 
-        contributionProcessor.resolve(systemContribution, modelResolver);
+        contributionProcessor.resolve(systemContribution, modelResolver, context);
         contributions.add(systemContribution);
 
         // TODO - Now we can calculate applicable policy sets for each composite
 
         // pre-resolve the contributions
-        contributionsPreresolve(contributionProcessor, contributions, modelResolver);
+        contributionsPreresolve(contributionProcessor, contributions, modelResolver, context);
 
         // Build the contribution dependencies
         Set<Contribution> resolved = new HashSet<Contribution>();
-        for (Contribution contribution: contributions) {
+        for (Contribution contribution : contributions) {
             buildDependencies(contribution, contributions, monitor);
 
             // Resolve contributions
-            for (Contribution dependency: contribution.getDependencies()) {
+            for (Contribution dependency : contribution.getDependencies()) {
                 if (!resolved.contains(dependency)) {
                     resolved.add(dependency);
-                    contributionProcessor.resolve(dependency, modelResolver);
+                    contributionProcessor.resolve(dependency, modelResolver, context);
                 }
             }
         }
 
-//    // Create a top level composite to host our composite
-//    // This is temporary to make the activator happy
-//        AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
-////      AssemblyFactory assemblyFactory = new RuntimeAssemblyFactory(extensionPoints);
-////      modelFactories.addFactory(assemblyFactory);
-//    Composite tempComposite = assemblyFactory.createComposite();
-//    tempComposite.setName(new QName(SCA11_TUSCANY_NS, "_tempComposite"));
-//    tempComposite.setURI(SCA11_TUSCANY_NS);
-//
-//    for (Contribution contribution : contributions) {
-//        for (Composite composite : contribution.getDeployables()) {
-//            // Include the node composite in the top-level composite
-//            tempComposite.getIncludes().add(composite);
-//        }
-//    }
-//
-//    
-//    CompositeActivator compositeActivator = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class).getUtility(CompositeActivator.class);
-//
-//        // get the top level composite for this node
-//        compositeActivator.setDomainComposite(tempComposite);
-//
-//        // Activate the composite
-//        compositeActivator.activate(compositeActivator.getDomainComposite());
-//
-//        // Start the composite
-//        compositeActivator.start(compositeActivator.getDomainComposite());
-//    
-//    
-////    // TODO - EPR - create a binding map to pass down into the builders
-////    //              for use during URI calculation.
-////    Map<QName, List<String>> bindingMap = new HashMap<QName, List<String>>();
-////    for (BindingConfiguration config : configuration.getBindings()) {
-////        bindingMap.put(config.getBindingType(), config.getBaseURIs());
-////    }
-//
-//        CompositeBuilderExtensionPoint compositeBuilders = extensionPoints.getExtensionPoint(CompositeBuilderExtensionPoint.class);
-//        CompositeBuilder compositeBuilder = compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.assembly.builder.CompositeBuilder");
-//    ((CompositeBuilderTmp)compositeBuilder).build(tempComposite, systemDefinitions, new HashMap<QName, List<String>>(), monitor);
-////    analyzeProblems();
-//
-////    endpointReferenceBuilder.buildtimeBuild(tempComposite);
-////    analyzeProblems();
-//
-////    return tempComposite;
-////    Composite xxx = configureNode(extensionPoints, cs, monitor);
-    return contributions.get(0);
+        //    // Create a top level composite to host our composite
+        //    // This is temporary to make the activator happy
+        //        AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
+        ////      AssemblyFactory assemblyFactory = new RuntimeAssemblyFactory(extensionPoints);
+        ////      modelFactories.addFactory(assemblyFactory);
+        //    Composite tempComposite = assemblyFactory.createComposite();
+        //    tempComposite.setName(new QName(SCA11_TUSCANY_NS, "_tempComposite"));
+        //    tempComposite.setURI(SCA11_TUSCANY_NS);
+        //
+        //    for (Contribution contribution : contributions) {
+        //        for (Composite composite : contribution.getDeployables()) {
+        //            // Include the node composite in the top-level composite
+        //            tempComposite.getIncludes().add(composite);
+        //        }
+        //    }
+        //
+        //    
+        //    CompositeActivator compositeActivator = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class).getUtility(CompositeActivator.class);
+        //
+        //        // get the top level composite for this node
+        //        compositeActivator.setDomainComposite(tempComposite);
+        //
+        //        // Activate the composite
+        //        compositeActivator.activate(compositeActivator.getDomainComposite());
+        //
+        //        // Start the composite
+        //        compositeActivator.start(compositeActivator.getDomainComposite());
+        //    
+        //    
+        ////    // TODO - EPR - create a binding map to pass down into the builders
+        ////    //              for use during URI calculation.
+        ////    Map<QName, List<String>> bindingMap = new HashMap<QName, List<String>>();
+        ////    for (BindingConfiguration config : configuration.getBindings()) {
+        ////        bindingMap.put(config.getBindingType(), config.getBaseURIs());
+        ////    }
+        //
+        //        CompositeBuilderExtensionPoint compositeBuilders = extensionPoints.getExtensionPoint(CompositeBuilderExtensionPoint.class);
+        //        CompositeBuilder compositeBuilder = compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.assembly.builder.CompositeBuilder");
+        //    ((CompositeBuilderTmp)compositeBuilder).build(tempComposite, systemDefinitions, new HashMap<QName, List<String>>(), monitor);
+        ////    analyzeProblems();
+        //
+        ////    endpointReferenceBuilder.buildtimeBuild(tempComposite);
+        ////    analyzeProblems();
+        //
+        ////    return tempComposite;
+        ////    Composite xxx = configureNode(extensionPoints, cs, monitor);
+        return contributions.get(0);
+
+    }
 
-}
     /**
      * Pre-resolve phase for contributions, to set up handling of imports and exports prior to full resolution
      * @param contributionProcessor 
@@ -257,11 +271,13 @@
      * @param resolver - the ModelResolver to use
      * @throws ContributionResolveException
      */
-    private static void contributionsPreresolve( ExtendedURLArtifactProcessor<Contribution> contributionProcessor, List<Contribution> contributions, ModelResolver resolver )
-        throws ContributionResolveException {
+    private static void contributionsPreresolve(ExtendedURLArtifactProcessor<Contribution> contributionProcessor,
+                                                List<Contribution> contributions,
+                                                ModelResolver resolver,
+                                                ProcessorContext context) throws ContributionResolveException {
 
-        for( Contribution contribution : contributions ) {
-                contributionProcessor.preResolve(contribution, resolver);
+        for (Contribution contribution : contributions) {
+            contributionProcessor.preResolve(contribution, resolver, context);
         } // end for
     } // end method contributionsPreresolve
 
@@ -279,23 +295,28 @@
 
         contribution.getDependencies().addAll(dependencies);
     }
+
     /**
      * Analyze a contribution and add its dependencies to the given dependency set.
      */
-    private static void addContributionDependencies(Contribution contribution, List<Contribution> contributions, List<Contribution> dependencies, Set<Contribution> set, Monitor monitor) {
+    private static void addContributionDependencies(Contribution contribution,
+                                                    List<Contribution> contributions,
+                                                    List<Contribution> dependencies,
+                                                    Set<Contribution> set,
+                                                    Monitor monitor) {
 
         // Go through the contribution imports
-        for (Import import_: contribution.getImports()) {
+        for (Import import_ : contribution.getImports()) {
             boolean resolved = false;
 
             // Go through all contribution candidates and their exports
             List<Export> matchingExports = new ArrayList<Export>();
-            for (Contribution dependency: contributions) {
+            for (Contribution dependency : contributions) {
                 if (dependency == contribution) {
                     // Do not self import
                     continue;
                 }
-                for (Export export: dependency.getExports()) {
+                for (Export export : dependency.getExports()) {
 
                     // If an export from a contribution matches the import in hand
                     // add that contribution to the dependency set
@@ -322,16 +343,17 @@
             } else {
                 // Record import resolution issue
                 if (!(import_ instanceof DefaultImport)) {
-                        // Add the (empty) matchingExports List and report a warning
-                        import_.setModelResolver(new DefaultImportModelResolver(matchingExports));
-//                    warning(monitor, "UnresolvedImport", import_, import_);
+                    // Add the (empty) matchingExports List and report a warning
+                    import_.setModelResolver(new DefaultImportModelResolver(matchingExports));
+                    //                    warning(monitor, "UnresolvedImport", import_, import_);
                 }
             } // end if
         }
     }
 
-    
-    private static List<Contribution> loadContributions(DefaultExtensionPointRegistry extensionPoints, String s) throws MalformedURLException, ContributionReadException, XMLStreamException, IOException, UnsupportedEncodingException, Exception {
+    private static List<Contribution> loadContributions(ExtensionPointRegistry extensionPoints, String s, ProcessorContext context)
+        throws MalformedURLException, ContributionReadException, XMLStreamException, IOException,
+        UnsupportedEncodingException, Exception {
         List<Contribution> contributions = new ArrayList<Contribution>();
 
         URI contributionURI = createURI(s);
@@ -342,68 +364,77 @@
         }
         URL contributionURL = uri.toURL();
 
-            URLArtifactProcessorExtensionPoint docProcessorExtensions = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
-            ExtendedURLArtifactProcessor<Contribution> contributionProcessor = (ExtendedURLArtifactProcessor<Contribution>) docProcessorExtensions.getProcessor(Contribution.class);
-
-            // Load the contribution
-            Contribution contribution = contributionProcessor.read(null, contributionURI, contributionURL);
-            contributions.add(contribution);
-
-            boolean attached = false;
-//            for (DeploymentComposite dc : contrib.getDeploymentComposites()) {
-//                if (dc.getContent() != null) {
-//                    Reader xml = new StringReader(dc.getContent());
-//                    attached = attachDeploymentComposite(extensionPoints, contribution, xml, null, attached);
-//                } else if (dc.getLocation() != null) {
-//                    URI dcURI = createURI(dc.getLocation());
-//                    if (!dcURI.isAbsolute()) {
-//                        Composite composite = null;
-//                        // The location is pointing to an artifact within the contribution
-//                        for (Artifact a : contribution.getArtifacts()) {
-//                            if (dcURI.toString().equals(a.getURI())) {
-//                                composite = (Composite)a.getModel();
-//                                if (!attached) {
-//                                    contribution.getDeployables().clear();
-//                                    attached = true;
-//                                }
-//                                contribution.getDeployables().add(composite);
-//                                break;
-//                            }
-//                        }
-//                        if (composite == null) {
-//                            // Not found
-//                            throw new ServiceRuntimeException("Deployment composite " + dcURI
-//                                + " cannot be found within contribution "
-//                                + contribution.getLocation());
-//                        }
-//                    } else {
-//                        URL url = dcURI.toURL();
-//                        InputStream is = openStream(url);
-//                        Reader xml = new InputStreamReader(is, "UTF-8");
-//                        attached = attachDeploymentComposite(extensionPoints, contribution, xml, url.toString(), attached);
-//                    }
-//                }
-////            analyzeProblems();
-//        }
-    return contributions;
-}
+        URLArtifactProcessorExtensionPoint docProcessorExtensions =
+            extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+        ExtendedURLArtifactProcessor<Contribution> contributionProcessor =
+            (ExtendedURLArtifactProcessor<Contribution>)docProcessorExtensions.getProcessor(Contribution.class);
+
+        // Load the contribution
+        Contribution contribution = contributionProcessor.read(null, contributionURI, contributionURL, context);
+        contributions.add(contribution);
+
+        boolean attached = false;
+        //            for (DeploymentComposite dc : contrib.getDeploymentComposites()) {
+        //                if (dc.getContent() != null) {
+        //                    Reader xml = new StringReader(dc.getContent());
+        //                    attached = attachDeploymentComposite(extensionPoints, contribution, xml, null, attached);
+        //                } else if (dc.getLocation() != null) {
+        //                    URI dcURI = createURI(dc.getLocation());
+        //                    if (!dcURI.isAbsolute()) {
+        //                        Composite composite = null;
+        //                        // The location is pointing to an artifact within the contribution
+        //                        for (Artifact a : contribution.getArtifacts()) {
+        //                            if (dcURI.toString().equals(a.getURI())) {
+        //                                composite = (Composite)a.getModel();
+        //                                if (!attached) {
+        //                                    contribution.getDeployables().clear();
+        //                                    attached = true;
+        //                                }
+        //                                contribution.getDeployables().add(composite);
+        //                                break;
+        //                            }
+        //                        }
+        //                        if (composite == null) {
+        //                            // Not found
+        //                            throw new ServiceRuntimeException("Deployment composite " + dcURI
+        //                                + " cannot be found within contribution "
+        //                                + contribution.getLocation());
+        //                        }
+        //                    } else {
+        //                        URL url = dcURI.toURL();
+        //                        InputStream is = openStream(url);
+        //                        Reader xml = new InputStreamReader(is, "UTF-8");
+        //                        attached = attachDeploymentComposite(extensionPoints, contribution, xml, url.toString(), attached);
+        //                    }
+        //                }
+        ////            analyzeProblems();
+        //        }
+        return contributions;
+    }
 
-    private boolean attachDeploymentComposite(DefaultExtensionPointRegistry extensionPoints, Contribution contribution, Reader xml, String location, boolean attached) throws XMLStreamException, ContributionReadException {
+    private boolean attachDeploymentComposite(ExtensionPointRegistry extensionPoints,
+                                              Contribution contribution,
+                                              Reader xml,
+                                              String location,
+                                              boolean attached,
+                                              ProcessorContext context) throws XMLStreamException,
+        ContributionReadException {
 
         XMLInputFactory inputFactory = XMLInputFactory.newInstance();
         XMLStreamReader reader = inputFactory.createXMLStreamReader(xml);
         reader.nextTag();
 
-        StAXArtifactProcessorExtensionPoint xmlProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        StAXArtifactProcessorExtensionPoint xmlProcessors =
+            extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
         StAXArtifactProcessor<Composite> compositeProcessor = xmlProcessors.getProcessor(Composite.class);
-        
+
         // Read the composite model
-        Composite composite = (Composite)compositeProcessor.read(reader);
+        Composite composite = (Composite)compositeProcessor.read(reader, context);
         reader.close();
 
         FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
         ContributionFactory contributionFactory = modelFactories.getFactory(ContributionFactory.class);
-        
+
         // Create an artifact for the deployment composite
         Artifact artifact = contributionFactory.createArtifact();
         String uri = composite.getName().getLocalPart() + ".composite";

Modified: tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessor.java (original)
+++ tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessor.java Fri Oct 16 05:42:26 2009
@@ -28,6 +28,7 @@
 import org.apache.tuscany.sca.common.xml.stax.StAXHelper;
 import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
 import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
@@ -48,13 +49,12 @@
     private StAXHelper helper;
     private XSDFactory factory;
     private XMLInputFactory inputFactory;
-    private Monitor monitor;
+    
 
-    public XSDDocumentProcessor(ExtensionPointRegistry registry, StAXArtifactProcessor processor, Monitor monitor) {
+    public XSDDocumentProcessor(ExtensionPointRegistry registry, StAXArtifactProcessor processor) {
         FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
         this.factory = modelFactories.getFactory(XSDFactory.class);
         this.inputFactory = modelFactories.getFactory(XMLInputFactory.class);
-        this.monitor = monitor;
         this.helper = StAXHelper.getInstance(registry);
     }
     
@@ -65,24 +65,24 @@
      * @param message
      * @param model
      */
-    private void error(String message, Object model, Exception ex) {
+    private void error(Monitor monitor, String message, Object model, Exception ex) {
         if (monitor != null) {
             Problem problem = monitor.createProblem(this.getClass().getName(), "xsd-xml-validation-messages", Severity.ERROR, model, message, ex);
             monitor.problem(problem);
         }        
     }
 
-    public XSDefinition read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException {
+    public XSDefinition read(URL contributionURL, URI artifactURI, URL artifactURL, ProcessorContext context) throws ContributionReadException {
         try {
             return indexRead(artifactURL);
         } catch (Exception e) {
             ContributionReadException ce = new ContributionReadException(e);
-            error("ContributionReadException", artifactURL, ce);
+            error(context.getMonitor(), "ContributionReadException", artifactURL, ce);
             throw ce;
         }
     }
 
-    public void resolve(XSDefinition model, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(XSDefinition model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
     }
 
     public String getArtifactType() {

Modified: tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java (original)
+++ tuscany/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java Fri Oct 16 05:42:26 2009
@@ -36,9 +36,9 @@
 import org.apache.tuscany.sca.contribution.Import;
 import org.apache.tuscany.sca.contribution.namespace.NamespaceImport;
 import org.apache.tuscany.sca.contribution.processor.ContributionRuntimeException;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.xsd.DefaultXSDFactory;
 import org.apache.tuscany.sca.xsd.XSDFactory;
 import org.apache.tuscany.sca.xsd.XSDefinition;
@@ -61,14 +61,13 @@
     private Map<String, List<XSDefinition>> map = new HashMap<String, List<XSDefinition>>();
     private XmlSchemaCollection schemaCollection;
 
-    public XSDModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories, Monitor monitor) {
+    public XSDModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories) {
         this.contribution = contribution;
         this.schemaCollection = new XmlSchemaCollection();
-        schemaCollection.setSchemaResolver(new URIResolverImpl(contribution));
         this.factory = new DefaultXSDFactory();
     }
 
-    public void addModel(Object resolved) {
+    public void addModel(Object resolved, ProcessorContext context) {
         XSDefinition definition = (XSDefinition)resolved;
         List<XSDefinition> list = map.get(definition.getNamespace());
         if (list == null) {
@@ -78,7 +77,7 @@
         list.add(definition);
     }
 
-    public Object removeModel(Object resolved) {
+    public Object removeModel(Object resolved, ProcessorContext context) {
         XSDefinition definition = (XSDefinition)resolved;
         List<XSDefinition> list = map.get(definition.getNamespace());
         if (list == null) {
@@ -88,8 +87,8 @@
         }
     }
 
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-
+    public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) {
+        schemaCollection.setSchemaResolver(new URIResolverImpl(contribution, context));
     	XSDefinition definition = (XSDefinition)unresolved;        
         String namespace = definition.getNamespace();
         XSDefinition resolved = null;
@@ -233,9 +232,11 @@
      */
     public static class URIResolverImpl implements URIResolver {
         private Contribution contribution;
+        private ProcessorContext context;
 
-        public URIResolverImpl(Contribution contribution) {
+        public URIResolverImpl(Contribution contribution, ProcessorContext context) {
             this.contribution = contribution;
+            this.context = context;
         }
 
         public org.xml.sax.InputSource resolveEntity(java.lang.String targetNamespace,
@@ -265,7 +266,7 @@
                         	if (namespaceImport.getLocation() == null) {
         	                    // Delegate the resolution to the namespace import resolver
         	                    resolved =
-        	                        namespaceImport.getModelResolver().resolveModel(XSDefinition.class, (XSDefinition)unresolved);
+        	                        namespaceImport.getModelResolver().resolveModel(XSDefinition.class, (XSDefinition)unresolved, context);
         	                    if (!resolved.isUnresolved()) {
         	                        return XMLDocumentHelper.getInputSource(resolved.getLocation().toURL());
         	                    }
@@ -279,7 +280,7 @@
                     } else if (import_ instanceof DefaultImport) {
                         // Delegate the resolution to the default import resolver
                         resolved =
-                            import_.getModelResolver().resolveModel(XSDefinition.class, (XSDefinition)unresolved);
+                            import_.getModelResolver().resolveModel(XSDefinition.class, (XSDefinition)unresolved, context);
                         if (!resolved.isUnresolved()) {
                         	return XMLDocumentHelper.getInputSource(resolved.getLocation().toURL());
                         }
@@ -291,7 +292,7 @@
                 	NamespaceImport namespaceImport = (NamespaceImport)locationMap.get(location);
                 	// Delegate the resolution to the namespace import resolver
                     resolved =
-                        namespaceImport.getModelResolver().resolveModel(XSDefinition.class, (XSDefinition)unresolved);
+                        namespaceImport.getModelResolver().resolveModel(XSDefinition.class, (XSDefinition)unresolved, context);
                     if (!resolved.isUnresolved()) {
                     	return XMLDocumentHelper.getInputSource(resolved.getLocation().toURL());
                     }

Modified: tuscany/java/sca/modules/xsd/src/test/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/xsd/src/test/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessorTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/xsd/src/test/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessorTestCase.java (original)
+++ tuscany/java/sca/modules/xsd/src/test/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessorTestCase.java Fri Oct 16 05:42:26 2009
@@ -27,6 +27,7 @@
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
@@ -56,32 +57,33 @@
     public void setUp() throws Exception {
         ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
         URLArtifactProcessorExtensionPoint documentProcessors = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
-        documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors, null);
+        documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors);
         FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
         contributionFactory = modelFactories.getFactory(ContributionFactory.class);
         Contribution contribution = contributionFactory.createContribution();
-        resolver = new XSDModelResolver(contribution, modelFactories, null);
+        resolver = new XSDModelResolver(contribution, modelFactories);
     }
 
     @Test
     public void testXSD() throws Exception {
+        ProcessorContext context = new ProcessorContext();
         URL url = getClass().getResource("/xsd/greeting.xsd");
-        XSDefinition definition = (XSDefinition)documentProcessor.read(null, URI.create("xsd/greeting.xsd"), url);
+        XSDefinition definition = (XSDefinition)documentProcessor.read(null, URI.create("xsd/greeting.xsd"), url, context);
         Assert.assertNull(definition.getSchema());
         Assert.assertEquals("http://greeting", definition.getNamespace());
         URL url1 = getClass().getResource("/xsd/name.xsd");
-        XSDefinition definition1 = (XSDefinition)documentProcessor.read(null, URI.create("xsd/name.xsd"), url1);
+        XSDefinition definition1 = (XSDefinition)documentProcessor.read(null, URI.create("xsd/name.xsd"), url1, context);
         Assert.assertNull(definition1.getSchema());
         Assert.assertEquals("http://greeting", definition1.getNamespace());
-        resolver.addModel(definition);
-        XSDefinition resolved = resolver.resolveModel(XSDefinition.class, definition);
+        resolver.addModel(definition, context);
+        XSDefinition resolved = resolver.resolveModel(XSDefinition.class, definition, context);
         XmlSchemaObjectCollection collection = resolved.getSchema().getIncludes();
         Assert.assertTrue(collection.getCount() == 1);
         XmlSchemaType type =
             ((XmlSchemaInclude)collection.getItem(0)).getSchema().getTypeByName(new QName("http://greeting", "Name"));
         Assert.assertNotNull(type);
-        resolver.addModel(definition1);
-        resolved = resolver.resolveModel(XSDefinition.class, definition);
+        resolver.addModel(definition1, context);
+        resolved = resolver.resolveModel(XSDefinition.class, definition, context);
         collection = resolved.getSchema().getIncludes();
         Assert.assertTrue(collection.getCount() == 2);
         XmlSchemaType type1 =

Modified: tuscany/java/sca/samples/dosgi-dynamic-calculator-operations/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/samples/dosgi-dynamic-calculator-operations/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/samples/dosgi-dynamic-calculator-operations/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java (original)
+++ tuscany/java/sca/samples/dosgi-dynamic-calculator-operations/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java Fri Oct 16 05:42:26 2009
@@ -44,7 +44,7 @@
         logger.info("Starting " + context.getBundle());
 
         Dictionary<String, Object> props = new Hashtable<String, Object>();
-        props.put("service.exported.configs", new String[] {"sca"});
+        props.put("service.exported.configs", new String[] {"org.osgi.sca"});
         props.put("service.exported.interfaces", new String[] {"*"});
         
         logger.info("Registering " + AddService.class.getName());

Modified: tuscany/java/sca/samples/dosgi-dynamic-calculator/src/main/java/calculator/dosgi/impl/CalculatorActivator.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/samples/dosgi-dynamic-calculator/src/main/java/calculator/dosgi/impl/CalculatorActivator.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/samples/dosgi-dynamic-calculator/src/main/java/calculator/dosgi/impl/CalculatorActivator.java (original)
+++ tuscany/java/sca/samples/dosgi-dynamic-calculator/src/main/java/calculator/dosgi/impl/CalculatorActivator.java Fri Oct 16 05:42:26 2009
@@ -59,7 +59,7 @@
         Dictionary<String, Object> props = new Hashtable<String, Object>();
         props.put("sca.service", "CalculatorComponent#service-name(Calculator)");
         props.put("calculator", "Calculator");
-        props.put("service.exported.configs", new String[] {"sca"});
+        props.put("service.exported.configs", new String[] {"org.osgi.sca"});
         props.put("sca.bindings", new String[] {"OSGI-INF/sca/calculator-service.bindings"});
         props.put("service.exported.interfaces", new String[] {"*"});
         logger.info("Registering " + CalculatorService.class.getName());