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 [11/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/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsDocumentProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsDocumentProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsDocumentProcessor.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsDocumentProcessor.java Fri Oct 16 05:42:26 2009
@@ -31,13 +31,13 @@
 
 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.processor.ValidatingXMLInputFactory;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
 import org.apache.tuscany.sca.implementation.osgi.ServiceDescriptions;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * The service descriptions document processor
@@ -47,8 +47,7 @@
     private StAXArtifactProcessor extensionProcessor;
 
     public ServiceDescriptionsDocumentProcessor(FactoryExtensionPoint modelFactories,
-                                                StAXArtifactProcessor staxProcessor,
-                                                Monitor monitor) {
+                                                StAXArtifactProcessor staxProcessor) {
         super();
         this.extensionProcessor = staxProcessor;
         this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class);
@@ -58,7 +57,7 @@
         return "/OSGI-INF/remote-service/*.xml";
     }
 
-    public ServiceDescriptions read(URL contributionURL, URI artifactURI, URL artifactURL)
+    public ServiceDescriptions read(URL contributionURL, URI artifactURI, URL artifactURL, ProcessorContext context)
         throws ContributionReadException {
         InputStream is = null;
         try {
@@ -71,7 +70,7 @@
         }
         try {
             XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-            Object result = extensionProcessor.read(reader);
+            Object result = extensionProcessor.read(reader, context);
             return (ServiceDescriptions)result;
         } catch (XMLStreamException e) {
             ContributionReadException ce = new ContributionReadException(e);
@@ -93,7 +92,7 @@
         return ServiceDescriptions.class;
     }
 
-    public void resolve(ServiceDescriptions model, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(ServiceDescriptions model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
     }
 
 }

Modified: tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsModelResolver.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsModelResolver.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsModelResolver.java Fri Oct 16 05:42:26 2009
@@ -20,11 +20,11 @@
 package org.apache.tuscany.sca.implementation.osgi.xml;
 
 import org.apache.tuscany.sca.contribution.Contribution;
+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.implementation.osgi.ServiceDescriptions;
 import org.apache.tuscany.sca.implementation.osgi.ServiceDescriptionsFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * 
@@ -32,19 +32,19 @@
 public class ServiceDescriptionsModelResolver implements ModelResolver {
     private ServiceDescriptions serviceDescriptions;
 
-    public ServiceDescriptionsModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories, Monitor monitor) {
+    public ServiceDescriptionsModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories) {
         ServiceDescriptionsFactory factory = modelFactories.getFactory(ServiceDescriptionsFactory.class);
         this.serviceDescriptions = factory.createServiceDescriptions();
     }
 
-    public void addModel(Object resolved) {
+    public void addModel(Object resolved, ProcessorContext context) {
         // Merge the service descriptions
         if (resolved instanceof ServiceDescriptions) {
             serviceDescriptions.addAll((ServiceDescriptions)resolved);
         }
     }
 
-    public Object removeModel(Object resolved) {
+    public Object removeModel(Object resolved, ProcessorContext context) {
         // Remove the service descriptions
         if (resolved instanceof ServiceDescriptions) {
             serviceDescriptions.removeAll((ServiceDescriptions)resolved);
@@ -52,7 +52,7 @@
         return resolved;
     }
 
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+    public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) {
         // Always return the aggregated service descriptions
         return modelClass.cast(serviceDescriptions);
     }

Modified: tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsProcessor.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsProcessor.java Fri Oct 16 05:42:26 2009
@@ -31,6 +31,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;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
@@ -38,7 +39,6 @@
 import org.apache.tuscany.sca.implementation.osgi.ServiceDescription;
 import org.apache.tuscany.sca.implementation.osgi.ServiceDescriptions;
 import org.apache.tuscany.sca.implementation.osgi.ServiceDescriptionsFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /*
 <?xml version="1.0" encoding="UTF-8"?>
@@ -65,18 +65,16 @@
     StAXArtifactProcessor<ServiceDescriptions> {
     private ServiceDescriptionsFactory factory;
     private StAXArtifactProcessor processor;
-    private Monitor monitor;
+    
 
     public ServiceDescriptionsProcessor(ExtensionPointRegistry registry,
-                                        StAXArtifactProcessor processor,
-                                        Monitor monitor) {
-        this.monitor = monitor;
+                                        StAXArtifactProcessor processor) {
         this.processor = processor;
         FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
         this.factory = modelFactories.getFactory(ServiceDescriptionsFactory.class);
     }
 
-    public ServiceDescriptions read(XMLStreamReader reader) throws XMLStreamException, ContributionReadException {
+    public ServiceDescriptions read(XMLStreamReader reader, ProcessorContext context) throws XMLStreamException, ContributionReadException {
         int event = reader.getEventType();
         ServiceDescriptions sds = factory.createServiceDescriptions();
         ServiceDescription sd = null;
@@ -130,7 +128,7 @@
                     } else {
                         name = reader.getName();
                         if (!ServiceDescriptions.SERVICE_DESCRIPTIONS_QNAME.equals(name)) {
-                            Object ext = processor.read(reader);
+                            Object ext = processor.read(reader, context);
                             if (sd != null) {
                                 sd.getProperties().put(name.toString(), ext);
                             }
@@ -178,7 +176,7 @@
         return ServiceDescriptions.SERVICE_DESCRIPTIONS_QNAME;
     }
 
-    public void write(ServiceDescriptions model, XMLStreamWriter writer) throws ContributionWriteException,
+    public void write(ServiceDescriptions model, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException,
         XMLStreamException {
         // TODO: To be implemented
     }
@@ -187,7 +185,7 @@
         return ServiceDescriptions.class;
     }
 
-    public void resolve(ServiceDescriptions model, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(ServiceDescriptions model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
         // TODO: To be implemented
     }
 }

Modified: tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/BluePrintComponentsProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/BluePrintComponentsProcessorTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/BluePrintComponentsProcessorTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/BluePrintComponentsProcessorTestCase.java Fri Oct 16 05:42:26 2009
@@ -25,6 +25,7 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.sca.assembly.ComponentType;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
 import org.apache.tuscany.sca.core.DefaultFactoryExtensionPoint;
 import org.junit.AfterClass;
@@ -69,9 +70,8 @@
     @Test
     public void testLoad() throws Exception {
         BluePrintComponentsProcessor processor =
-            new BluePrintComponentsProcessor(new DefaultFactoryExtensionPoint(new DefaultExtensionPointRegistry()),
-                                             null);
-        ComponentType ct = processor.read(reader);
+            new BluePrintComponentsProcessor(new DefaultFactoryExtensionPoint(new DefaultExtensionPointRegistry()));
+        ComponentType ct = processor.read(reader, new ProcessorContext());
         Assert.assertEquals(1, ct.getServices().size());
         Assert.assertEquals(4, ct.getReferences().size());
     }

Modified: tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiComponentProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiComponentProcessorTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiComponentProcessorTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiComponentProcessorTestCase.java Fri Oct 16 05:42:26 2009
@@ -25,8 +25,10 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.sca.assembly.ComponentType;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
 import org.apache.tuscany.sca.core.DefaultFactoryExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -66,9 +68,10 @@
 
     @Test
     public void testLoad() throws Exception {
+        ExtensionPointRegistry registry = new DefaultExtensionPointRegistry();
         OSGiComponentProcessor processor =
-            new OSGiComponentProcessor(new DefaultFactoryExtensionPoint(new DefaultExtensionPointRegistry()), null);
-        ComponentType ct = processor.read(reader);
+            new OSGiComponentProcessor(new DefaultFactoryExtensionPoint(registry));
+        ComponentType ct = processor.read(reader, new ProcessorContext(registry));
         Assert.assertEquals(1, ct.getServices().size());
         Assert.assertEquals(4, ct.getReferences().size());
     }

Modified: tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java Fri Oct 16 05:42:26 2009
@@ -36,6 +36,7 @@
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 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.resolver.ModelResolver;
@@ -56,23 +57,25 @@
     private static XMLInputFactory inputFactory;
     private static XMLOutputFactory outputFactory;
     private static StAXArtifactProcessor<Object> staxProcessor;
+    private static ProcessorContext context;
 
     @BeforeClass
     public static void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
         inputFactory = XMLInputFactory.newInstance();
         outputFactory = XMLOutputFactory.newInstance();
         outputFactory.setProperty("javax.xml.stream.isRepairingNamespaces", Boolean.TRUE);
         StAXArtifactProcessorExtensionPoint staxProcessors =
             new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
     }
 
     @Test
     public void testReadComposite() throws Exception {
         InputStream is = getClass().getClassLoader().getResourceAsStream("osgitest.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = (Composite)staxProcessor.read(reader);
+        Composite composite = (Composite)staxProcessor.read(reader, context);
         assertNotNull(composite);
     }
 
@@ -80,12 +83,12 @@
     public void testReadAndResolveComposite() throws Exception {
         InputStream is = getClass().getClassLoader().getResourceAsStream("osgitest.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = (Composite)staxProcessor.read(reader);
+        Composite composite = (Composite)staxProcessor.read(reader, context);
         assertNotNull(composite);
 
         is = getClass().getClassLoader().getResourceAsStream("OSGI-INF/sca/bundle.componentType");
         reader = inputFactory.createXMLStreamReader(is);
-        ComponentType componentType = (ComponentType)staxProcessor.read(reader);
+        ComponentType componentType = (ComponentType)staxProcessor.read(reader, context);
 
         assertEquals(1, componentType.getServices().size());
         Object prop1 = componentType.getServices().get(0).getExtensions().get(0);
@@ -102,10 +105,10 @@
         assertEquals("prop2", osgiProp2.getName());
 
         ModelResolver resolver = new TestModelResolver(getClass().getClassLoader());
-        staxProcessor.resolve(componentType, resolver);
-        resolver.addModel(componentType);
+        staxProcessor.resolve(componentType, resolver, context);
+        resolver.addModel(componentType, context);
 
-        staxProcessor.resolve(composite, resolver);
+        staxProcessor.resolve(composite, resolver, context);
     }
 
     @Test
@@ -121,14 +124,14 @@
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
         reader.nextTag();
 
-        OSGiImplementation osgiImpl = (OSGiImplementation)staxProcessor.read(reader);
+        OSGiImplementation osgiImpl = (OSGiImplementation)staxProcessor.read(reader, context);
 
         assertEquals(osgiImpl.getBundleSymbolicName(), "osgi.test");
         assertEquals(osgiImpl.getBundleVersion(), "1.0.0");
 
         StringWriter sw = new StringWriter();
         XMLStreamWriter writer = outputFactory.createXMLStreamWriter(sw);
-        staxProcessor.write(osgiImpl, writer);
+        staxProcessor.write(osgiImpl, writer, context);
         writer.flush();
         Assert.assertTrue(sw.toString().contains("bundleSymbolicName=\"osgi.test\" bundleVersion=\"1.0.0\""));
     }

Modified: tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/ServiceDescriptionsTestCase.java Fri Oct 16 05:42:26 2009
@@ -26,10 +26,10 @@
 import javax.xml.stream.XMLStreamReader;
 
 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.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.implementation.osgi.ServiceDescription;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -71,26 +71,26 @@
     private static ServiceDescriptionsProcessor processor;
     private static XMLStreamReader reader;
 
-    /**
-     * @throws java.lang.Exception
-     */
+    private static ProcessorContext context;
+
     @BeforeClass
-    public static void setUpBeforeClass() throws Exception {
-        ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+    public static void setUp() throws Exception {
+        DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
 
         XMLInputFactory factory = XMLInputFactory.newInstance();
         StAXArtifactProcessorExtensionPoint staxProcessors =
             extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-        StAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, factory, null, null);
+        StAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, factory, null);
 
-        processor = new ServiceDescriptionsProcessor(extensionPoints, staxProcessor, null);
+        processor = new ServiceDescriptionsProcessor(extensionPoints, staxProcessor);
 
         reader = factory.createXMLStreamReader(new StringReader(xml));
     }
 
     @Test
     public void testLoad() throws Exception {
-        List<ServiceDescription> descriptions = processor.read(reader);
+        List<ServiceDescription> descriptions = processor.read(reader, context);
         Assert.assertEquals(2, descriptions.size());
         System.out.println(descriptions);
     }

Modified: tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/TestModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/TestModelResolver.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/TestModelResolver.java (original)
+++ tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/TestModelResolver.java Fri Oct 16 05:42:26 2009
@@ -26,6 +26,7 @@
 
 import org.apache.tuscany.sca.assembly.ComponentType;
 import org.apache.tuscany.sca.assembly.Property;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.resolver.ClassReference;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.implementation.osgi.impl.OSGiImplementationImpl;
@@ -46,7 +47,7 @@
         this.classLoader = new WeakReference<ClassLoader>(classLoader);
     }
 
-    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) {
 
@@ -93,11 +94,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/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationBuilder.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationBuilder.java (original)
+++ tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationBuilder.java Fri Oct 16 05:42:26 2009
@@ -22,15 +22,15 @@
 import javax.xml.namespace.QName;
 
 import org.apache.tuscany.sca.assembly.Component;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
 import org.apache.tuscany.sca.assembly.builder.ImplementationBuilder;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * 
  */
 public class SpringImplementationBuilder implements ImplementationBuilder<SpringImplementation> {
 
-    public void build(Component component, SpringImplementation implmentation, Monitor monitor) {
+    public void build(Component component, SpringImplementation implmentation, BuilderContext context) {
         implmentation.build(component);
     }
 

Modified: tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java (original)
+++ tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/introspect/SpringXMLComponentTypeLoader.java Fri Oct 16 05:42:26 2009
@@ -56,6 +56,7 @@
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 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.resolver.ClassReference;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
@@ -150,7 +151,7 @@
      * Spring implementation
      *
      */
-    public void load(SpringImplementation implementation, ModelResolver resolver) throws ContributionReadException {
+    public void load(SpringImplementation implementation, ModelResolver resolver, ProcessorContext context) throws ContributionReadException {
         //System.out.println("Spring TypeLoader - load method start");
     	ComponentType componentType = implementation.getComponentType();
         /* Check that there is a component type object already set	*/
@@ -159,16 +160,16 @@
         }
         if (componentType.isUnresolved()) {
             /* Fetch the location of the application-context file from the implementation */
-            loadFromXML(implementation, resolver);
+            loadFromXML(implementation, resolver, context);
             if (!componentType.isUnresolved())
                 implementation.setUnresolved(false);
         } // end if
         //System.out.println("Spring TypeLoader - load method complete");
     } // end method load
 
-    private Class<?> resolveClass(ModelResolver resolver, String className) throws ClassNotFoundException {
+    private Class<?> resolveClass(ModelResolver resolver, String className, ProcessorContext context) throws ClassNotFoundException {
         ClassReference classReference = new ClassReference(className);
-        classReference = resolver.resolveModel(ClassReference.class, classReference);
+        classReference = resolver.resolveModel(ClassReference.class, classReference, context);
         if (classReference.isUnresolved()) {
             throw new ClassNotFoundException(className);
         }
@@ -183,7 +184,7 @@
      * @param implementation SpringImplementation into which to load the component type information
      * @throws ContributionReadException Failed to read the contribution
      */
-    private void loadFromXML(SpringImplementation implementation, ModelResolver resolver) throws ContributionReadException {
+    private void loadFromXML(SpringImplementation implementation, ModelResolver resolver, ProcessorContext context) throws ContributionReadException {
         XMLStreamReader reader;
         List<SpringBeanElement> beans = new ArrayList<SpringBeanElement>();
         List<SpringSCAServiceElement> services = new ArrayList<SpringSCAServiceElement>();
@@ -195,10 +196,10 @@
         String contextPath = implementation.getLocation();
 
         try {        	
-            resource = resolveLocation(resolver, contextPath);
+            resource = resolveLocation(resolver, contextPath, context);
             contextResources = getApplicationContextResource(resource);
             
-            implementation.setClassLoader(new ContextClassLoader(resolver));
+            implementation.setClassLoader(new ContextClassLoader(resolver, context));
             implementation.setResource(contextResources);
             // The URI is used to uniquely identify the Implementation
             implementation.setURI(resource.toString());
@@ -210,7 +211,7 @@
                 List<SpringSCAPropertyElement> appCxtProperties = new ArrayList<SpringSCAPropertyElement>();
             	reader = xmlInputFactory.createXMLStreamReader(contextResource.openStream());
             	// Read the beans, services, references and properties for individual application context
-            	readContextDefinition(resolver, reader, contextPath, appCxtBeans, appCxtServices, appCxtReferences, appCxtProperties);
+            	readContextDefinition(resolver, reader, contextPath, appCxtBeans, appCxtServices, appCxtReferences, appCxtProperties, context);
             	// Validate the beans from individual application context for uniqueness
             	validateBeans(appCxtBeans, appCxtServices, appCxtReferences, appCxtProperties);
             	// Add all the validated beans to the generic list
@@ -229,12 +230,12 @@
         /* At this point, the complete application-context.xml file has been read and its contents  */
         /* stored in the lists of beans, services, references.  These are now used to generate      */
         /* the implied componentType for the application context								    */
-        generateComponentType(implementation, resolver, beans, services, references, scaproperties);
+        generateComponentType(implementation, resolver, beans, services, references, scaproperties, context);
 
         return;
     } // end method loadFromXML
 
-    private URL resolveLocation(ModelResolver resolver, String contextPath) throws MalformedURLException,
+    private URL resolveLocation(ModelResolver resolver, String contextPath, ProcessorContext context) throws MalformedURLException,
         ContributionReadException {
         URL resource = null;
         URI uri = URI.create(contextPath);
@@ -242,7 +243,7 @@
             Artifact artifact = contributionFactory.createArtifact();
             artifact.setUnresolved(true);
             artifact.setURI(contextPath);
-            artifact = resolver.resolveModel(Artifact.class, artifact);
+            artifact = resolver.resolveModel(Artifact.class, artifact, context);
             if (!artifact.isUnresolved()) {
                 resource = new URL(artifact.getLocation());
             } else {
@@ -258,10 +259,10 @@
      * Method which returns the XMLStreamReader for the Spring application-context.xml file
      * specified in the location attribute
      */
-    private XMLStreamReader getApplicationContextReader(ModelResolver resolver, String location) throws ContributionReadException {
+    private XMLStreamReader getApplicationContextReader(ModelResolver resolver, String location, ProcessorContext context) throws ContributionReadException {
 
         try {
-            URL resource = getApplicationContextResource(resolveLocation(resolver, location)).get(0);
+            URL resource = getApplicationContextResource(resolveLocation(resolver, location, context)).get(0);
             XMLStreamReader reader =
             	xmlInputFactory.createXMLStreamReader(resource.openStream());
             return reader;
@@ -275,6 +276,7 @@
     /**
      * Method which reads the spring context definitions from Spring application-context.xml
      * file and identifies the defined beans, properties, services and references
+     * @param context 
      */
     private void readContextDefinition(ModelResolver resolver,
                                        XMLStreamReader reader,
@@ -282,7 +284,7 @@
                                        List<SpringBeanElement> beans,
                                        List<SpringSCAServiceElement> services,
                                        List<SpringSCAReferenceElement> references,
-                                       List<SpringSCAPropertyElement> scaproperties) throws ContributionReadException {
+                                       List<SpringSCAPropertyElement> scaproperties, ProcessorContext context) throws ContributionReadException {
 
         SpringBeanElement bean = null;
 
@@ -299,9 +301,9 @@
                             if (location != null) {
                             	// FIXME - need to find a right way of generating this path
                                 String resourcePath = contextPath.substring(0, contextPath.lastIndexOf("/")+1) + location;
-                                XMLStreamReader ireader = getApplicationContextReader(resolver, resourcePath);
+                                XMLStreamReader ireader = getApplicationContextReader(resolver, resourcePath, context);
                                 // Read the context definition for the identified imported resource
-                                readContextDefinition(resolver, ireader, contextPath, beans, services, references, scaproperties);
+                                readContextDefinition(resolver, ireader, contextPath, beans, services, references, scaproperties, context);
                             }
                         } else if (SpringImplementationConstants.SCA_SERVICE_ELEMENT.equals(qname)) {
                         	// The value of the @name attribute of an <sca:service/> subelement of a <beans/> 
@@ -538,7 +540,8 @@
                                        List<SpringBeanElement> beans,
                                        List<SpringSCAServiceElement> services,
                                        List<SpringSCAReferenceElement> references,
-                                       List<SpringSCAPropertyElement> scaproperties) throws ContributionReadException {
+                                       List<SpringSCAPropertyElement> scaproperties,
+                                       ProcessorContext context) throws ContributionReadException {
         /*
          * 1. Each sca:service becomes a service in the component type
          * 2. Each sca:reference becomes a reference in the component type
@@ -558,7 +561,7 @@
             Iterator<SpringSCAServiceElement> its = services.iterator();
             while (its.hasNext()) {
                 SpringSCAServiceElement serviceElement = its.next();                
-                Class<?> interfaze = resolveClass(resolver, serviceElement.getType());
+                Class<?> interfaze = resolveClass(resolver, serviceElement.getType(), context);
                 Service theService = createService(interfaze, serviceElement.getName());
                 // Spring allows duplication of bean definitions in multiple context scenario,
                 // in such cases, the latest bean definition overrides the older ones, hence 
@@ -590,7 +593,7 @@
             Iterator<SpringSCAReferenceElement> itr = references.iterator();
             while (itr.hasNext()) {
                 SpringSCAReferenceElement referenceElement = itr.next();
-                Class<?> interfaze = resolveClass(resolver, referenceElement.getType());
+                Class<?> interfaze = resolveClass(resolver, referenceElement.getType(), context);
                 Reference theReference = createReference(interfaze, referenceElement.getName());
                 // Override the older bean definition with the latest ones
                 // for the duplicate definitions found.
@@ -647,7 +650,7 @@
                     // If its not a valid bean for service, ignore it
                     if (!isvalidBeanForService(beanElement)) continue;
                     // Load the Spring bean class
-                    Class<?> beanClass = resolveClass(resolver, beanElement.getClassName());
+                    Class<?> beanClass = resolveClass(resolver, beanElement.getClassName(), context);
                     // Introspect the bean
                     beanIntrospector =
                         new SpringBeanIntrospector(assemblyFactory, javaFactory, policyFactory, beanElement.getCustructorArgs());
@@ -674,7 +677,7 @@
                 if (beanElement.getProperties().isEmpty() && beanElement.getCustructorArgs().isEmpty())
                 	continue;
 
-                Class<?> beanClass = resolveClass(resolver, beanElement.getClassName());
+                Class<?> beanClass = resolveClass(resolver, beanElement.getClassName(), context);
                 // Introspect the bean
                 beanIntrospector =
                     new SpringBeanIntrospector(assemblyFactory, javaFactory, policyFactory, beanElement.getCustructorArgs());
@@ -709,7 +712,7 @@
 	                            	// The name of the reference in this case is the string in
 	                                // the @ref attribute of the Spring property element, NOT the
 	                                // name of the field in the Spring bean....
-	                            	Class<?> interfaze = resolveClass(resolver, (propertyMap.get(propertyElement.getName()).getType()).getName());
+	                            	Class<?> interfaze = resolveClass(resolver, (propertyMap.get(propertyElement.getName()).getType()).getName(), context);
 	                                Reference theReference = createReference(interfaze, propertyRef);
 	                                implementation.setUnresolvedBeanRef(propertyRef, theReference);
 	                            } // end if
@@ -725,7 +728,7 @@
 	                	if (propertyRefUnresolved(constructorArgRef, beans, references, scaproperties)) {
 	                    	for (JavaParameterImpl parameter : constructor.getParameters()) {
 	                    		String paramType = parameter.getType().getName();
-	                    		Class<?> interfaze = resolveClass(resolver, paramType);
+	                    		Class<?> interfaze = resolveClass(resolver, paramType, context);
 	                    		// Create a component type reference/property if the constructor-arg element has a
 	                            // type attribute OR index attribute declared...
 	                    		if ((conArgElement.getType() != null && paramType.equals(conArgElement.getType())) ||
@@ -1113,22 +1116,24 @@
     }
     
     private class ContextClassLoader extends ClassLoader {
-    	public ContextClassLoader(ModelResolver resolver) {
+    	public ContextClassLoader(ModelResolver resolver, ProcessorContext context) {
     		super();
     		this.resolver = resolver;
+    		this.context = context;
     	}
 
 		private ModelResolver resolver;
+		private ProcessorContext context;
 		
 		@Override
 		protected Class<?> findClass(String name) throws ClassNotFoundException {
-			return SpringXMLComponentTypeLoader.this.resolveClass(resolver, name);
+			return SpringXMLComponentTypeLoader.this.resolveClass(resolver, name, context);
 		}
 		
 		@Override
 		protected URL findResource(String name) {
 			try {
-				return resolveLocation(resolver, name);
+				return resolveLocation(resolver, name, context);
 			} catch (Exception e) {
 				return null;
 			}

Modified: tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java (original)
+++ tuscany/java/sca/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringImplementationProcessor.java Fri Oct 16 05:42:26 2009
@@ -33,6 +33,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;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
@@ -61,17 +62,16 @@
     private JavaInterfaceFactory javaFactory;
     private PolicyFactory policyFactory;
     private PolicySubjectProcessor policyProcessor;
-    private Monitor monitor;
+    
 
     private FactoryExtensionPoint factories;
 
-    public SpringImplementationProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
+    public SpringImplementationProcessor(FactoryExtensionPoint modelFactories) {
         this.factories = modelFactories;
         this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
         this.javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
         this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
         this.policyProcessor = new PolicySubjectProcessor(policyFactory);
-        this.monitor = monitor;
     }
 
     /**
@@ -81,7 +81,7 @@
      * @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(), "impl-spring-validation-messages", Severity.ERROR, model, message, ex);
 	        monitor.problem(problem);
@@ -95,7 +95,7 @@
      * @param message
      * @param model
      */
-    private void error(String message, Object model, Object... messageParameters) {
+    private void error(Monitor monitor, String message, Object model, Object... messageParameters) {
     	 if (monitor != null) {
 	        Problem problem = monitor.createProblem(this.getClass().getName(), "impl-spring-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
 	        monitor.problem(problem);
@@ -121,7 +121,7 @@
      * then the default behaviour is to build an application context using all the *.xml files
      * in the METAINF/spring directory.
      */
-    public SpringImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public SpringImplementation read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
 
         // Create the Spring implementation
         SpringImplementation springImplementation = null;
@@ -134,7 +134,7 @@
         	springImplementation.setUnresolved(true);
             processComponentType(springImplementation);
         } else {
-        	error("LocationAttributeMissing", reader);
+        	error(context.getMonitor(), "LocationAttributeMissing", reader);
             //throw new ContributionReadException(MSG_LOCATION_MISSING);
         }
 
@@ -169,7 +169,7 @@
      * Write out the XML representation of the Spring implementation
      * <implementation.spring location="..." />
      */
-    public void write(SpringImplementation springImplementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
+    public void write(SpringImplementation springImplementation, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
 
         // Write <implementation.spring>
         writer.writeStartElement(Constants.SCA11_NS, IMPLEMENTATION_SPRING);
@@ -187,30 +187,31 @@
      * Resolves the Spring implementation - loads the Spring application-context XML and
      * derives the spring implementation componentType from it
      */
-    public void resolve(SpringImplementation springImplementation, ModelResolver resolver)
+    public void resolve(SpringImplementation springImplementation, ModelResolver resolver, ProcessorContext context)
         throws ContributionResolveException {
 
     	if (springImplementation == null)
     		return;
 
+    	Monitor monitor = context.getMonitor();
         /* Load the Spring component type by reading the Spring application context */
         SpringXMLComponentTypeLoader springLoader =
             new SpringXMLComponentTypeLoader(factories, assemblyFactory, javaFactory, policyFactory, monitor);
         try {
             // Load the Spring Implementation information from its application context file...
-            springLoader.load(springImplementation, resolver);
+            springLoader.load(springImplementation, resolver, context);
         } catch (ContributionReadException e) {
         	ContributionResolveException ce = new ContributionResolveException(e);
-        	error("ContributionResolveException", resolver, ce);
+        	error(monitor, "ContributionResolveException", resolver, ce);
             throw ce;
         }
 
         ComponentType ct = springImplementation.getComponentType();
         if (ct.isUnresolved()) {
             // If the introspection fails to resolve, try to find a side file...
-            ComponentType componentType = resolver.resolveModel(ComponentType.class, ct);
+            ComponentType componentType = resolver.resolveModel(ComponentType.class, ct, context);
             if (componentType.isUnresolved()) {
-            	error("UnableToResolveComponentType", resolver);
+            	error(monitor, "UnableToResolveComponentType", resolver);
                 //throw new ContributionResolveException("SpringArtifactProcessor: unable to resolve componentType for Spring component");
             } else {
                 springImplementation.setComponentType(componentType);

Modified: tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationBuilder.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationBuilder.java (original)
+++ tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationBuilder.java Fri Oct 16 05:42:26 2009
@@ -22,16 +22,16 @@
 import javax.xml.namespace.QName;
 
 import org.apache.tuscany.sca.assembly.Component;
+import org.apache.tuscany.sca.assembly.builder.BuilderContext;
 import org.apache.tuscany.sca.assembly.builder.ImplementationBuilder;
 import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * 
  */
 public class WebImplementationBuilder implements ImplementationBuilder<WebImplementation> {
 
-    public void build(Component component, WebImplementation implmentation, Monitor monitor) {
+    public void build(Component component, WebImplementation implmentation, BuilderContext context) {
         ((WebImplementationImpl)implmentation).build(component);
 
     }

Modified: tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java (original)
+++ tuscany/java/sca/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java Fri Oct 16 05:42:26 2009
@@ -32,6 +32,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;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
@@ -65,7 +66,7 @@
         return WebImplementation.class;
     }
 
-    public WebImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public WebImplementation read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         
         // Read an <implementation.web> element
         WebImplementation implementation = implementationFactory.createWebImplementation();
@@ -90,14 +91,14 @@
         return implementation;
     }
 
-    public void resolve(WebImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(WebImplementation implementation, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
         
         // Resolve the component type
         String uri = implementation.getURI();
         if (uri != null) {
             ComponentType componentType = assemblyFactory.createComponentType();
             componentType.setURI("web.componentType");
-            componentType = resolver.resolveModel(ComponentType.class, componentType);
+            componentType = resolver.resolveModel(ComponentType.class, componentType, context);
             if (!componentType.isUnresolved()) {
                 
                 // Initialize the implementation's services, references and properties
@@ -109,7 +110,7 @@
         implementation.setUnresolved(false);
     }
 
-    public void write(WebImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
+    public void write(WebImplementation implementation, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
         
         // Write <implementation.web>
         writeStart(writer, IMPLEMENTATION_WEB.getNamespaceURI(), IMPLEMENTATION_WEB.getLocalPart(),

Modified: tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java Fri Oct 16 05:42:26 2009
@@ -29,6 +29,7 @@
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 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.core.DefaultExtensionPointRegistry;
@@ -41,19 +42,21 @@
 
     private XMLInputFactory inputFactory;
     private StAXArtifactProcessor<Object> staxProcessor;
+    private ProcessorContext context;
 
     @Override
     public void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
         inputFactory = XMLInputFactory.newInstance();
         StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
     }
 
     public void testReadComposite() throws Exception {
         InputStream is = getClass().getResourceAsStream("TestWeb.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = (Composite) staxProcessor.read(reader);
+        Composite composite = (Composite) staxProcessor.read(reader, context);
         assertNotNull(composite);
         assertTrue(((WebImplementation) composite.getComponents().get(0).getImplementation()).getWebURI().equals("MyWebapp"));
     }

Modified: tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java (original)
+++ tuscany/java/sca/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java Fri Oct 16 05:42:26 2009
@@ -30,6 +30,7 @@
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 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.core.DefaultExtensionPointRegistry;
@@ -42,22 +43,24 @@
     private XMLInputFactory inputFactory;
     private XMLOutputFactory outputFactory;
     private StAXArtifactProcessor<Object> staxProcessor;
+    private ProcessorContext context;
 
     @Override
     public void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
         inputFactory = XMLInputFactory.newInstance();
         outputFactory = XMLOutputFactory.newInstance();
         StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
     }
 
     public void testReadWriteComposite() throws Exception {
         InputStream is = getClass().getResourceAsStream("TestWeb.composite");
-        Composite composite = (Composite) staxProcessor.read(inputFactory.createXMLStreamReader(is));
+        Composite composite = (Composite) staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
         assertNotNull(composite);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
+        staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos), context);
         
         assertTrue(bos.toString().contains("web-uri=\"MyWebapp\""));
 

Modified: tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java (original)
+++ tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java Fri Oct 16 05:42:26 2009
@@ -35,6 +35,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.ClassReference;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
@@ -68,11 +69,10 @@
 public class JavaInterfaceProcessor implements StAXArtifactProcessor<JavaInterfaceContract>, JavaConstants {
     private static final String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200903";
     private JavaInterfaceFactory javaFactory;
-    private Monitor monitor;
+    
 
-    public JavaInterfaceProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
+    public JavaInterfaceProcessor(FactoryExtensionPoint modelFactories) {
         this.javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
-        this.monitor = monitor;
     }
     
     /**
@@ -82,11 +82,17 @@
      * @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(), "interface-javaxml-validation-messages", Severity.ERROR, model, message, ex);
+            Problem problem =
+                monitor.createProblem(this.getClass().getName(),
+                                      "interface-javaxml-validation-messages",
+                                      Severity.ERROR,
+                                      model,
+                                      message,
+                                      ex);
             monitor.problem(problem);
-        }        
+        }
     }
      
      /**
@@ -96,12 +102,18 @@
       * @param message
       * @param model
       */
-     private void error(String message, Object model, Object... messageParameters) {
-     	 if (monitor != null) {
-     		 Problem problem = monitor.createProblem(this.getClass().getName(), "interface-javaxml-validation-messages", Severity.ERROR, model, message,(Object[])messageParameters);
-     	     monitor.problem(problem);
-     	 }        
-     }
+    private void error(Monitor monitor, String message, Object model, Object... messageParameters) {
+        if (monitor != null) {
+            Problem problem =
+                monitor.createProblem(this.getClass().getName(),
+                                      "interface-javaxml-validation-messages",
+                                      Severity.ERROR,
+                                      model,
+                                      message,
+                                      (Object[])messageParameters);
+            monitor.problem(problem);
+        }
+    }
     
     private JavaInterface createJavaInterface(String interfaceName) {
         JavaInterface javaInterface = javaFactory.createJavaInterface();
@@ -110,7 +122,7 @@
         return javaInterface;
     }
 
-    public JavaInterfaceContract read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public JavaInterfaceContract read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         
         // Read an <interface.java>
         JavaInterfaceContract javaInterfaceContract = javaFactory.createJavaInterfaceContract();
@@ -141,7 +153,7 @@
         return javaInterfaceContract;
     }
     
-    public void write(JavaInterfaceContract javaInterfaceContract, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
+    public void write(JavaInterfaceContract javaInterfaceContract, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
         
         // Write an <interface.java>
         writer.writeStartElement(SCA11_NS, INTERFACE_JAVA);
@@ -159,20 +171,20 @@
         writer.writeEndElement();
     }
     
-    private JavaInterface resolveJavaInterface(JavaInterface javaInterface, ModelResolver resolver) throws ContributionResolveException {
+    private JavaInterface resolveJavaInterface(JavaInterface javaInterface, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
         
         if (javaInterface != null && javaInterface.isUnresolved()) {
-
+            Monitor monitor = context.getMonitor();
             // Resolve the Java interface
-            javaInterface = resolver.resolveModel(JavaInterface.class, javaInterface);
+            javaInterface = resolver.resolveModel(JavaInterface.class, javaInterface, context);
             if (javaInterface.isUnresolved()) {
 
                 // If the Java interface has never been resolved yet, do it now
                 ClassReference classReference = new ClassReference(javaInterface.getName());
-                classReference = resolver.resolveModel(ClassReference.class, classReference);
+                classReference = resolver.resolveModel(ClassReference.class, classReference, context);
                 Class<?> javaClass = classReference.getJavaClass();
                 if (javaClass == null) {
-                    error("ClassNotFoundException", resolver, javaInterface.getName());
+                    error(monitor, "ClassNotFoundException", resolver, javaInterface.getName());
                     return javaInterface;
                     //throw new ContributionResolveException(new ClassNotFoundException(javaInterface.getName()));
                 }
@@ -185,7 +197,7 @@
                 } catch (InvalidInterfaceException e) {
                 	ContributionResolveException ce = new ContributionResolveException("Resolving Java interface " + javaInterface.getName(), e);
                 	//error("ContributionResolveException", javaFactory, ce);
-                	error("InvalidInterfaceException", javaFactory, e);
+                	error(monitor, "InvalidInterfaceException", javaFactory, e);
                     return javaInterface;
                 	//throw ce;
                 } catch ( Exception e ) {
@@ -194,25 +206,30 @@
 
                 // Cache the resolved interface
                 javaInterface.setUnresolved(false);
-                resolver.addModel(javaInterface);
+                resolver.addModel(javaInterface, context);
             }
         }
         return javaInterface;
     }
 
-    public void resolve(JavaInterfaceContract javaInterfaceContract, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(JavaInterfaceContract javaInterfaceContract, ModelResolver resolver, ProcessorContext context)
+        throws ContributionResolveException {
         try {
-	        // Resolve the interface and callback interface
-	        JavaInterface javaInterface = resolveJavaInterface((JavaInterface)javaInterfaceContract.getInterface(), resolver);
-	        javaInterfaceContract.setInterface(javaInterface);
-	        
-	        JavaInterface javaCallbackInterface = resolveJavaInterface((JavaInterface)javaInterfaceContract.getCallbackInterface(), resolver);
-	        javaInterfaceContract.setCallbackInterface(javaCallbackInterface);
+            Monitor monitor = context.getMonitor();
+            // Resolve the interface and callback interface
+            JavaInterface javaInterface =
+                resolveJavaInterface((JavaInterface)javaInterfaceContract.getInterface(), resolver, context);
+            javaInterfaceContract.setInterface(javaInterface);
+
+            JavaInterface javaCallbackInterface =
+                resolveJavaInterface((JavaInterface)javaInterfaceContract.getCallbackInterface(), resolver, context);
+            javaInterfaceContract.setCallbackInterface(javaCallbackInterface);
 	        
 	        checkForbiddenAnnotations(javaInterfaceContract);
 	        
         } catch (Exception e) {
-        	throw new ContributionResolveException( "Resolving Java Interface " + javaInterfaceContract.getInterface().toString(), e );
+            throw new ContributionResolveException("Resolving Java Interface " + javaInterfaceContract.getInterface()
+                .toString(), e);
         } // end try
     }
     

Modified: tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java (original)
+++ tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java Fri Oct 16 05:42:26 2009
@@ -32,6 +32,7 @@
 import org.apache.tuscany.sca.assembly.ConstrainingType;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 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.core.DefaultExtensionPointRegistry;
@@ -49,21 +50,23 @@
     private static XMLInputFactory inputFactory;
     private static XMLOutputFactory outputFactory;
     private static StAXArtifactProcessor<Object> staxProcessor;
+    private static ProcessorContext context;
 
     @BeforeClass
     public static void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
         inputFactory = XMLInputFactory.newInstance();
         outputFactory = XMLOutputFactory.newInstance();
         StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
     }
 
     @Test
     public void testReadComponentType() throws Exception {
         InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ComponentType componentType = (ComponentType)staxProcessor.read(reader);
+        ComponentType componentType = (ComponentType)staxProcessor.read(reader, context);
         assertNotNull(componentType);
     }
 
@@ -71,7 +74,7 @@
     public void testReadConstrainingType() throws Exception {
         InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ConstrainingType constrainingType = (ConstrainingType)staxProcessor.read(reader);
+        ConstrainingType constrainingType = (ConstrainingType)staxProcessor.read(reader, context);
         assertNotNull(constrainingType);
     }
 
@@ -80,7 +83,7 @@
     public void testReadComposite() throws Exception {
         InputStream is = getClass().getResourceAsStream("Calculator.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = (Composite)staxProcessor.read(reader);
+        Composite composite = (Composite)staxProcessor.read(reader, context);
         assertNotNull(composite);
     }
 

Modified: tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/WriteTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/WriteTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/WriteTestCase.java (original)
+++ tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/WriteTestCase.java Fri Oct 16 05:42:26 2009
@@ -32,6 +32,7 @@
 import org.apache.tuscany.sca.assembly.ConstrainingType;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 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.core.DefaultExtensionPointRegistry;
@@ -47,41 +48,43 @@
     private static XMLInputFactory inputFactory;
     private static XMLOutputFactory outputFactory;
     private static StAXArtifactProcessor<Object> staxProcessor;
+    private static ProcessorContext context;
 
     @BeforeClass
     public static void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
         inputFactory = XMLInputFactory.newInstance();
         outputFactory = XMLOutputFactory.newInstance();
         StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
     }
 
     @Test
     public void testReadWriteComponentType() throws Exception {
         InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
-        ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is));
+        ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
         assertNotNull(componentType);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos));
+        staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos), context);
     }
 
     @Test
     public void testReadWriteConstrainingType() throws Exception {
         InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType");
-        ConstrainingType constrainingType = (ConstrainingType)staxProcessor.read(inputFactory.createXMLStreamReader(is));
+        ConstrainingType constrainingType = (ConstrainingType)staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
         assertNotNull(constrainingType);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(constrainingType, outputFactory.createXMLStreamWriter(bos));
+        staxProcessor.write(constrainingType, outputFactory.createXMLStreamWriter(bos), context);
     }
 
     @Test
     public void testReadWriteComposite() throws Exception {
         InputStream is = getClass().getResourceAsStream("Calculator.composite");
-        Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is));
+        Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is), context);
         assertNotNull(composite);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
+        staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos), context);
     }
 
 }

Modified: tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java (original)
+++ tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java Fri Oct 16 05:42:26 2009
@@ -22,6 +22,7 @@
 
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
+import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * Factory for the WSDL model.
@@ -43,7 +44,7 @@
      * @param portType the portType to inspect
      * @return a WSDLInterface corresponding to the WSDL portType
      */
-    WSDLInterface createWSDLInterface(PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidInterfaceException;
+    WSDLInterface createWSDLInterface(PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver, Monitor monitor) throws InvalidInterfaceException;
 
     /**
      * Creates the contents of a WSDL interface from a WSDL portType.
@@ -51,7 +52,7 @@
      * @param portType the portType to inspect
      * @return a WSDLInterface corresponding to the WSDL portType
      */
-    void createWSDLInterface(WSDLInterface wsdlInterface, PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidInterfaceException;
+    void createWSDLInterface(WSDLInterface wsdlInterface, PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver, Monitor monitor) throws InvalidInterfaceException;
 
     /**
      * Creates a new WSDL definition.

Modified: tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java (original)
+++ tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java Fri Oct 16 05:42:26 2009
@@ -23,14 +23,12 @@
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 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.interfacedef.InvalidInterfaceException;
 import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
 import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory;
 import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
 import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
 import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 
 /**
  * A factory for the WSDL model.
@@ -43,12 +41,7 @@
     
     public WSDLFactoryImpl(ExtensionPointRegistry registry) {
         FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
-        UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);
-        MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class);
-
-        Monitor monitor = monitorFactory.createMonitor();
-
-        introspector = new WSDLInterfaceIntrospectorImpl(modelFactories, this, monitor);
+        introspector = new WSDLInterfaceIntrospectorImpl(modelFactories, this);
     } // end constructor WSDLFactoryImpl(ExtensionPointRegistry registry)
 
     public WSDLInterface createWSDLInterface() {
@@ -57,17 +50,19 @@
     
     public WSDLInterface createWSDLInterface(PortType portType,
                                              WSDLDefinition wsdlDefinition,
-                                             ModelResolver resolver) throws InvalidInterfaceException {
+                                             ModelResolver resolver, 
+                                             Monitor monitor) throws InvalidInterfaceException {
         WSDLInterface wsdlInterface = createWSDLInterface();
-        introspector.introspectPortType(wsdlInterface, portType, wsdlDefinition, resolver);
+        introspector.introspectPortType(wsdlInterface, portType, wsdlDefinition, resolver, monitor);
         return wsdlInterface;
     }
     
     public void createWSDLInterface(WSDLInterface wsdlInterface,
                                     PortType portType,
                                     WSDLDefinition wsdlDefinition,
-                                    ModelResolver resolver) throws InvalidInterfaceException {
-        introspector.introspectPortType(wsdlInterface, portType, wsdlDefinition, resolver);
+                                    ModelResolver resolver,
+                                    Monitor monitor) throws InvalidInterfaceException {
+        introspector.introspectPortType(wsdlInterface, portType, wsdlDefinition, resolver, monitor);
     }
     
     public WSDLDefinition createWSDLDefinition() {

Modified: tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java (original)
+++ tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java Fri Oct 16 05:42:26 2009
@@ -55,21 +55,19 @@
     private WSDLFactory wsdlFactory;
     private XSDFactory xsdFactory;
     private PolicyFactory policyFactory;
-    private Monitor monitor;
     
-    public WSDLInterfaceIntrospectorImpl(FactoryExtensionPoint modelFactories, WSDLFactory wsdlFactory, Monitor monitor) {
+    public WSDLInterfaceIntrospectorImpl(FactoryExtensionPoint modelFactories, WSDLFactory wsdlFactory) {
         this.xsdFactory = modelFactories.getFactory(XSDFactory.class);
         this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
         this.wsdlFactory = wsdlFactory;
-        this.monitor = monitor;
     }
 
     // FIXME: Do we want to deal with document-literal wrapped style based on the JAX-WS Specification?
-    private List<Operation> introspectOperations(PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidWSDLException {
+    private List<Operation> introspectOperations(PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver, Monitor monitor) throws InvalidWSDLException {
         List<Operation> operations = new ArrayList<Operation>();
         for (Object o : portType.getOperations()) {
             javax.wsdl.Operation wsdlOp = (javax.wsdl.Operation)o;
-            Operation operation = getOperation(wsdlOp, wsdlDefinition, resolver, xsdFactory);
+            Operation operation = getOperation(wsdlOp, wsdlDefinition, resolver, xsdFactory, monitor);
             if(isEndConversation(wsdlOp)) {
                 operation.setConversationSequence(ConversationSequence.CONVERSATION_END);
             }
@@ -78,20 +76,21 @@
         return operations;
     }
 
-    public void introspectPortType(WSDLInterface wsdlInterface, PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver) throws InvalidWSDLException {
+    public void introspectPortType(WSDLInterface wsdlInterface, PortType portType, WSDLDefinition wsdlDefinition, ModelResolver resolver, Monitor monitor) throws InvalidWSDLException {
         processIntents(wsdlInterface, portType);
-        WSDLInterface callback = processCallbackAttribute( portType, resolver );
+        WSDLInterface callback = processCallbackAttribute( portType, resolver, monitor );
         wsdlInterface.setPortType(portType);
         wsdlInterface.setCallbackInterface(callback);
-        wsdlInterface.getOperations().addAll(introspectOperations(portType, wsdlDefinition, resolver));
+        wsdlInterface.getOperations().addAll(introspectOperations(portType, wsdlDefinition, resolver, monitor));
         wsdlInterface.setConversational(isConversational(portType));
     }
 
     public static Operation getOperation(javax.wsdl.Operation wsdlOp,
                                          WSDLDefinition wsdlDefinition,
                                          ModelResolver resolver,
-                                         XSDFactory xsdFactory) throws InvalidWSDLException {
-        WSDLOperationIntrospectorImpl op = new WSDLOperationIntrospectorImpl(xsdFactory, wsdlOp, wsdlDefinition, null, resolver);
+                                         XSDFactory xsdFactory,
+                                         Monitor monitor) throws InvalidWSDLException {
+        WSDLOperationIntrospectorImpl op = new WSDLOperationIntrospectorImpl(xsdFactory, wsdlOp, wsdlDefinition, null, resolver, monitor);
         return op.getOperation();
     }
     
@@ -101,7 +100,7 @@
      * @param portType the portType
      * @return
      */
-    private WSDLInterface processCallbackAttribute( PortType portType, ModelResolver resolver ) {
+    private WSDLInterface processCallbackAttribute( PortType portType, ModelResolver resolver, Monitor monitor ) {
         Object o =  portType.getExtensionAttribute(CALLBACK_ATTRIBUTE);
         if(o != null && o instanceof QName) { 
         	WSDLInterface wsdlInterface = wsdlFactory.createWSDLInterface();

Modified: tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java (original)
+++ tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java Fri Oct 16 05:42:26 2009
@@ -34,6 +34,7 @@
 import javax.xml.XMLConstants;
 import javax.xml.namespace.QName;
 
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.interfacedef.ConversationSequence;
 import org.apache.tuscany.sca.interfacedef.DataType;
@@ -46,6 +47,7 @@
 import org.apache.tuscany.sca.interfacedef.util.XMLType;
 import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
 import org.apache.tuscany.sca.interfacedef.wsdl.WSDLOperation;
+import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.xsd.XSDFactory;
 import org.apache.tuscany.sca.xsd.XSDefinition;
 import org.apache.ws.commons.schema.XmlSchemaComplexType;
@@ -68,6 +70,7 @@
 
     private XSDFactory xsdFactory;
     private ModelResolver resolver;
+    private ProcessorContext context;
     private WSDLDefinition wsdlDefinition;
     private javax.wsdl.Operation operation;
     private WSDLOperation operationModel;
@@ -87,7 +90,8 @@
                                          javax.wsdl.Operation operation,
                                          WSDLDefinition wsdlDefinition,
                                          String dataBinding,
-                                         ModelResolver resolver) {
+                                         ModelResolver resolver,
+                                         Monitor monitor) {
         super();
         this.xsdFactory = xsdFactory;
         this.operation = operation;
@@ -95,6 +99,7 @@
         this.resolver = resolver;
         this.dataBinding = dataBinding;
         this.wrapper = new Wrapper();
+        this.context = new ProcessorContext(monitor);
     }
 
     private Wrapper wrapper;
@@ -235,7 +240,7 @@
             XSDefinition definition = xsdFactory.createXSDefinition();
             definition.setUnresolved(true);
             definition.setNamespace(elementName.getNamespaceURI());
-            definition = resolver.resolveModel(XSDefinition.class, definition);
+            definition = resolver.resolveModel(XSDefinition.class, definition, context);
             if (definition.getSchema() != null) {
                 element = definition.getSchema().getElementByName(elementName);
             }
@@ -249,7 +254,7 @@
             XSDefinition definition = xsdFactory.createXSDefinition();
             definition.setUnresolved(true);
             definition.setNamespace(typeName.getNamespaceURI());
-            definition = resolver.resolveModel(XSDefinition.class, definition);
+            definition = resolver.resolveModel(XSDefinition.class, definition, context);
             if (definition.getSchema() != null) {
                 type = definition.getSchema().getTypeByName(typeName);
             }