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 [4/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/defin...

Modified: tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java Fri Oct 16 05:42:26 2009
@@ -37,6 +37,7 @@
 import org.apache.tuscany.sca.assembly.ConstrainingType;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
@@ -59,14 +60,16 @@
     private static ExtensibleStAXArtifactProcessor staxProcessor;
     private static ModelResolver resolver; 
     private static URLArtifactProcessor<Definitions> policyDefinitionsProcessor;
+    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 = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
         resolver = new DefaultModelResolver();
         
         FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
@@ -80,16 +83,16 @@
     @Test
     public void testReadWriteComposite() throws Exception {
         InputStream is = getClass().getResourceAsStream("TestAllCalculator.composite");
-        Composite composite = staxProcessor.read(is, Composite.class);
+        Composite composite = staxProcessor.read(is, Composite.class, context);
         
         verifyComposite(composite);
         
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(composite, bos);
+        staxProcessor.write(composite, bos, context);
         bos.close();
         
         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
-        composite = staxProcessor.read(bis, Composite.class);
+        composite = staxProcessor.read(bis, Composite.class, context);
         
         verifyComposite(composite);
         
@@ -98,36 +101,36 @@
     @Test
     public void testReadWireWriteComposite() throws Exception {
         InputStream is = getClass().getResourceAsStream("TestAllCalculator.composite");
-        Composite composite = staxProcessor.read(is, Composite.class);
+        Composite composite = staxProcessor.read(is, Composite.class, context);
         
         URL url = getClass().getResource("test_definitions.xml");
         URI uri = URI.create("test_definitions.xml");
-        Definitions scaDefns = (Definitions)policyDefinitionsProcessor.read(null, uri, url);
+        Definitions scaDefns = (Definitions)policyDefinitionsProcessor.read(null, uri, url, context);
         assertNotNull(scaDefns);
-        policyDefinitionsProcessor.resolve(scaDefns, resolver);
+        policyDefinitionsProcessor.resolve(scaDefns, resolver, context);
         
-        staxProcessor.resolve(composite, resolver);
+        staxProcessor.resolve(composite, resolver, context);
         // compositeBuilder.build(composite, null, monitor);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(composite, bos);
+        staxProcessor.write(composite, bos, context);
     }
     
     @Test
     public void testReadWriteComponentType() throws Exception {
         InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType");
-        ComponentType componentType = staxProcessor.read(is, ComponentType.class);
-        staxProcessor.resolve(componentType, resolver);
+        ComponentType componentType = staxProcessor.read(is, ComponentType.class, context);
+        staxProcessor.resolve(componentType, resolver, context);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(componentType, bos);
+        staxProcessor.write(componentType, bos, context);
     }
 
     @Test
     public void testReadWriteConstrainingType() throws Exception {
         InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType");
-        ConstrainingType constrainingType = staxProcessor.read(is, ConstrainingType.class);
-        staxProcessor.resolve(constrainingType, resolver);
+        ConstrainingType constrainingType = staxProcessor.read(is, ConstrainingType.class, context);
+        staxProcessor.resolve(constrainingType, resolver, context);
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        staxProcessor.write(constrainingType, bos);
+        staxProcessor.write(constrainingType, bos, context);
     }
     
     private void verifyComposite(Composite composite) {

Modified: tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java Fri Oct 16 05:42:26 2009
@@ -33,6 +33,7 @@
 
 import org.apache.tuscany.sca.assembly.Component;
 import org.apache.tuscany.sca.assembly.Composite;
+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;
@@ -50,10 +51,13 @@
     private static StAXArtifactProcessor<Composite> compositeProcessor;
     private static XMLOutputFactory outputFactory;
     private static XMLInputFactory inputFactory;
-
+    private static ProcessorContext context;
+    
     @BeforeClass
     public static void setUp() throws Exception {
         ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
+        
         FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
         outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
         //outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE);
@@ -69,7 +73,7 @@
         // Read
         InputStream is = getClass().getResourceAsStream("NestedCalculator.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = compositeProcessor.read(reader);
+        Composite composite = compositeProcessor.read(reader, context);
         Component component = composite.getComponents().get(0);
         Composite implementation = (Composite)component.getImplementation();
         QName qname = implementation.getName();
@@ -77,13 +81,13 @@
         // Write
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
         XMLStreamWriter writer = outputFactory.createXMLStreamWriter(bos);
-        compositeProcessor.write(composite, writer);
+        compositeProcessor.write(composite, writer, context);
         System.out.println(bos);
         
         // Read again
         is = new ByteArrayInputStream(bos.toByteArray());
         reader = inputFactory.createXMLStreamReader(is);
-        composite = compositeProcessor.read(reader);
+        composite = compositeProcessor.read(reader, context);
         
         // Compare
         component = composite.getComponents().get(0);

Modified: tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/ReadDocumentTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/ReadDocumentTestCase.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/ReadDocumentTestCase.java Fri Oct 16 05:42:26 2009
@@ -32,6 +32,7 @@
 
 import javax.xml.namespace.QName;
 
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
@@ -76,11 +77,13 @@
     private static final QName basicAuthMsgProtSecurity = new QName(namespace, "BasicAuthMsgProtSecurity");
     private static final QName wsBinding = new QName(scaNamespace, "binding.ws");
     private static final QName javaImpl = new QName(scaNamespace, "implementation.java");
+    private static ProcessorContext context;
 
     @BeforeClass
     public static void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
-
+        context = new ProcessorContext(extensionPoints);
+        
         // Create StAX processors
         StAXArtifactProcessorExtensionPoint staxProcessors =
             extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
@@ -92,7 +95,7 @@
 
         URL url = ReadDocumentTestCase.class.getResource("test_definitions.xml");
         URI uri = URI.create("test_definitions.xml");
-        definitions = policyDefinitionsProcessor.read(null, uri, url);
+        definitions = policyDefinitionsProcessor.read(null, uri, url, context);
 
         for (Intent intent : definitions.getIntents()) {
             intentTable.put(intent.getName(), intent);
@@ -194,7 +197,7 @@
         assertNull(javaImplType.getMayProvidedIntents().get(0).getDescription());
 
         ModelResolver resolver = new DefaultModelResolver();
-        policyDefinitionsProcessor.resolve(definitions, resolver);
+        policyDefinitionsProcessor.resolve(definitions, resolver, context);
         //builder.build(scaDefinitions);
 
         //testing if policy intents have been linked have property been linked up 

Modified: tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/TestPolicyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/TestPolicyProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/TestPolicyProcessor.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/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,18 +40,18 @@
         return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment");
     }
 
-    public MockPolicy read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException {
+    public MockPolicy read(XMLStreamReader arg0, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         return new MockPolicy();
     }
 
-    public void write(MockPolicy arg0, XMLStreamWriter arg1) throws ContributionWriteException, XMLStreamException {
+    public void write(MockPolicy arg0, XMLStreamWriter arg1, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
     }
 
     public Class<MockPolicy> getModelType() {
         return MockPolicy.class;
     }
 
-    public void resolve(MockPolicy arg0, ModelResolver arg1) throws ContributionResolveException {
+    public void resolve(MockPolicy arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException {
 
     }
 

Modified: tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java Fri Oct 16 05:42:26 2009
@@ -38,15 +38,12 @@
 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.contribution.resolver.DefaultModelResolver;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.monitor.DefaultMonitorFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.policy.BindingType;
 import org.apache.tuscany.sca.policy.ExtensionType;
 import org.apache.tuscany.sca.policy.ImplementationType;
@@ -66,8 +63,8 @@
 
     private ModelResolver resolver;
     private StAXArtifactProcessor<Object> staxProcessor;
-    private Monitor monitor;
-
+    private ProcessorContext context;
+    
     private static final QName elementToProcess =
         new QName("http://docs.oasis-open.org/ns/opencsa/sca/200903", "implementationType");
 
@@ -94,17 +91,12 @@
     public void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
         resolver = new DefaultModelResolver();
+        context = new ProcessorContext(extensionPoints);
         XMLInputFactory inputFactory = XMLInputFactory.newInstance();
-        // Create a monitor
-        UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
-        MonitorFactory monitorFactory = new DefaultMonitorFactory();
-        if (monitorFactory != null) {
-            monitor = monitorFactory.createMonitor();
-            utilities.addUtility(monitorFactory);
-        }
+
         StAXArtifactProcessorExtensionPoint staxProcessors =
             extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
         staxProcessors.addArtifactProcessor(new TestPolicyProcessor());
 
         URL url = getClass().getResource("test_definitions.xml");
@@ -124,7 +116,7 @@
             int event = reader.getEventType();
             switch (event) {
                 case START_ELEMENT: {
-                    Object artifact = staxProcessor.read(reader);
+                    Object artifact = staxProcessor.read(reader, context);
                     if (artifact instanceof PolicySet) {
                         PolicySet policySet = (PolicySet)artifact;
                         policySet.setName(new QName(namespace, policySet.getName().getLocalPart()));
@@ -136,7 +128,7 @@
                         for (Intent i : intent.getQualifiedIntents()) {
                             i.setName(new QName(namespace, i.getName().getLocalPart()));
                             intentTable.put(i.getName(), i);
-                            resolver.addModel(i);
+                            resolver.addModel(i, context);
                         }
                     } else if (artifact instanceof BindingType) {
                         BindingType bindingType = (BindingType)artifact;
@@ -147,7 +139,7 @@
                     }
 
                     if (artifact != null) {
-                        resolver.addModel(artifact);
+                        resolver.addModel(artifact, context);
                     }
 
                     break;
@@ -229,25 +221,25 @@
         List<Intent> intents = new ArrayList<Intent>(intentTable.values());
 
         for (Intent intent : intents) {
-            staxProcessor.resolve(intent, resolver);
+            staxProcessor.resolve(intent, resolver, context);
         }
 
         for (PolicySet policySet : policySetTable.values()) {
             if (policySet.getReferencedPolicySets().isEmpty())
-                staxProcessor.resolve(policySet, resolver);
+                staxProcessor.resolve(policySet, resolver, context);
         }
 
         for (PolicySet policySet : policySetTable.values()) {
             if (!policySet.getReferencedPolicySets().isEmpty())
-                staxProcessor.resolve(policySet, resolver);
+                staxProcessor.resolve(policySet, resolver, context);
         }
 
         for (ExtensionType bindingType : bindingTypesTable.values()) {
-            staxProcessor.resolve(bindingType, resolver);
+            staxProcessor.resolve(bindingType, resolver, context);
         }
 
         for (ExtensionType implType : implTypesTable.values()) {
-            staxProcessor.resolve(implType, resolver);
+            staxProcessor.resolve(implType, resolver, context);
         }
 
         //testing if policy intents have been linked have property been linked up 

Modified: tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/policy/xml/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;
 import org.apache.tuscany.sca.policy.PolicyExpression;
@@ -40,11 +41,11 @@
         return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment");
     }
 
-    public PolicyExpression read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException {
+    public PolicyExpression read(XMLStreamReader arg0, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         return new MockPolicyImplOne();
     }
 
-    public void write(PolicyExpression arg0, XMLStreamWriter arg1) throws ContributionWriteException, XMLStreamException {
+    public void write(PolicyExpression arg0, XMLStreamWriter arg1, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
     }
 
     public Class<PolicyExpression> getModelType() {
@@ -52,7 +53,7 @@
         return PolicyExpression.class;
     }
 
-    public void resolve(PolicyExpression arg0, ModelResolver arg1) throws ContributionResolveException {
+    public void resolve(PolicyExpression arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException {
 
     }
 

Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java Fri Oct 16 05:42:26 2009
@@ -24,7 +24,6 @@
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.Component;
 import org.apache.tuscany.sca.assembly.Contract;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * A builder that handles any build-time configuration needed by bindings.
@@ -38,8 +37,9 @@
      * 
      * @param component The component for the binding's service or reference
      * @param contract The binding's service or reference
+     * @param context TODO
      */
-    void build(Component component, Contract contract, B binding, Monitor monitor);
+    void build(Component component, Contract contract, B binding, BuilderContext context);
 
     /**
      * Get QName of the binding type

Added: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BuilderContext.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BuilderContext.java?rev=825773&view=auto
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BuilderContext.java (added)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BuilderContext.java Fri Oct 16 05:42:26 2009
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.assembly.builder;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.definitions.Definitions;
+import org.apache.tuscany.sca.monitor.DefaultMonitorFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.MonitorFactory;
+
+/**
+ * 
+ */
+public class BuilderContext {
+    protected Definitions definitions;
+    protected Map<QName, List<String>> bindingBaseURIs = Collections.emptyMap();
+    protected Monitor monitor;
+
+    /**
+     * @param definitions
+     * @param bindingBaseURIs
+     * @param monitor
+     */
+    public BuilderContext(Definitions definitions, Map<QName, List<String>> bindingBaseURIs, Monitor monitor) {
+        super();
+        this.definitions = definitions;
+        if (bindingBaseURIs != null) {
+            this.bindingBaseURIs = bindingBaseURIs;
+        }
+        this.monitor = monitor;
+    }
+
+    public BuilderContext(Monitor monitor) {
+        super();
+        this.monitor = monitor;
+    }
+
+    public BuilderContext(ExtensionPointRegistry registry) {
+        super();
+        MonitorFactory monitorFactory =
+            registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(MonitorFactory.class);
+        this.monitor = monitorFactory.createMonitor();
+    }
+
+    public BuilderContext() {
+        super();
+        this.monitor = new DefaultMonitorFactory().createMonitor();
+    }
+
+    public Monitor getMonitor() {
+        return monitor;
+    }
+
+    public Monitor setMonitor(Monitor monitor) {
+        Monitor old = this.monitor;
+        this.monitor = monitor;
+        return old;
+    }
+
+    public Definitions getDefinitions() {
+        return definitions;
+    }
+
+    public Map<QName, List<String>> getBindingBaseURIs() {
+        return bindingBaseURIs;
+    }
+
+    public void setDefinitions(Definitions definitions) {
+        this.definitions = definitions;
+    }
+}

Propchange: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BuilderContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BuilderContext.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java Fri Oct 16 05:42:26 2009
@@ -20,8 +20,6 @@
 package org.apache.tuscany.sca.assembly.builder;
 
 import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.definitions.Definitions;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * A builder that handles the configuration of the components inside a
@@ -42,13 +40,12 @@
      * Build a composite.
      * 
      * @param composite The composite
-     * @param definitions SCA definitions
-     * @param monitor
+     * @param context The builder context
      * @return The composite built from the original one. In most cases, it is the same as the orginal one as
      * most builders only change the content of the composite. 
      * 
      * @throws CompositeBuilderException
      */
-    Composite build(Composite composite, Definitions definitions, Monitor monitor) throws CompositeBuilderException;
+    Composite build(Composite composite, BuilderContext context) throws CompositeBuilderException;
 
 }

Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultBuilderExtensionPoint.java Fri Oct 16 05:42:26 2009
@@ -22,11 +22,9 @@
 import java.lang.reflect.Constructor;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 import javax.xml.namespace.QName;
-import javax.xml.ws.EndpointReference;
 
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.Component;
@@ -38,12 +36,10 @@
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
 import org.apache.tuscany.sca.core.LifeCycleListener;
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.definitions.Definitions;
 import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
 import org.apache.tuscany.sca.extensibility.ServiceDeclarationParser;
 import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * Default implementation of a provider factory extension point.
@@ -198,7 +194,7 @@
      * A wrapper around a composite builder allowing lazy
      * loading and initialization of implementation providers.
      */
-    private class LazyCompositeBuilder implements CompositeBuilder, DeployedCompositeBuilder {
+    private class LazyCompositeBuilder implements CompositeBuilder {
 
         private FactoryExtensionPoint factories;
         private InterfaceContractMapper mapper;
@@ -223,16 +219,9 @@
             return id;
         }
 
-        public Composite build(Composite composite, Definitions definitions, Monitor monitor)
+        public Composite build(Composite composite, BuilderContext context)
             throws CompositeBuilderException {
-            return getBuilder().build(composite, definitions, monitor);
-        }
-
-        public Composite build(Composite composite,
-                               Definitions definitions,
-                               Map<QName, List<String>> bindingBaseURIs,
-                               Monitor monitor) throws CompositeBuilderException {
-            return ((DeployedCompositeBuilder)getBuilder()).build(composite, definitions, bindingBaseURIs, monitor);
+            return getBuilder().build(composite, context);
         }
 
         private CompositeBuilder getBuilder() {
@@ -279,8 +268,8 @@
             this.qname = ServiceDeclarationParser.getQName(sd.getAttributes().get("qname"));
         }
 
-        public void build(Component component, Contract contract, Binding binding, Monitor monitor) {
-            getBuilder().build(component, contract, binding, monitor);
+        public void build(Component component, Contract contract, Binding binding, BuilderContext context) {
+            getBuilder().build(component, contract, binding, context);
         }
 
         public QName getBindingType() {
@@ -323,8 +312,8 @@
             this.qname = ServiceDeclarationParser.getQName(sd.getAttributes().get("qname"));
         }
 
-        public void build(Component component, Implementation implementation, Monitor monitor) {
-            getBuilder().build(component, implementation, monitor);
+        public void build(Component component, Implementation implementation, BuilderContext context) {
+            getBuilder().build(component, implementation, context);
         }
 
         public QName getImplementationType() {
@@ -366,8 +355,8 @@
             this.qname = ServiceDeclarationParser.getQName(sd.getAttributes().get("qname"));
         }
 
-        public void build(Component component, Implementation implementation, Definitions definitions, Monitor monitor) {
-            getBuilder().build(component, implementation, definitions, monitor);
+        public void build(Component component, Implementation implementation, BuilderContext context) {
+            getBuilder().build(component, implementation, context);
         }
 
         public QName getPolicyType() {
@@ -393,12 +382,12 @@
             return builder;
         }
 
-        public void build(Endpoint endpoint, Definitions definitions, Monitor monitor) {
-            getBuilder().build(endpoint, definitions, monitor);
+        public void build(Endpoint endpoint, BuilderContext context) {
+            getBuilder().build(endpoint, context);
         }
 
-        public void build(org.apache.tuscany.sca.assembly.EndpointReference endpointReference, Definitions definitions, Monitor monitor) {
-            getBuilder().build(endpointReference, definitions, monitor);
+        public void build(org.apache.tuscany.sca.assembly.EndpointReference endpointReference, BuilderContext context) {
+            getBuilder().build(endpointReference, context);
         }
 
     }

Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ImplementationBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ImplementationBuilder.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ImplementationBuilder.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ImplementationBuilder.java Fri Oct 16 05:42:26 2009
@@ -23,7 +23,6 @@
 
 import org.apache.tuscany.sca.assembly.Component;
 import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * A builder that handles any build-time configuration needed by implementations.
@@ -36,9 +35,10 @@
      * Configure a component implementation.
      * 
      * @param component The component 
+     * @param context TODO
      * @param contract The implementation
      */
-    void build(Component component, I implmentation, Monitor monitor);
+    void build(Component component, I implmentation, BuilderContext context);
 
     /**
      * Get the QName of the implementation type

Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/PolicyBuilder.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/PolicyBuilder.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/PolicyBuilder.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/PolicyBuilder.java Fri Oct 16 05:42:26 2009
@@ -25,8 +25,6 @@
 import org.apache.tuscany.sca.assembly.Endpoint;
 import org.apache.tuscany.sca.assembly.EndpointReference;
 import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.definitions.Definitions;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  * A builder that is contributed by a specific policy languange to validate the configurations
@@ -38,25 +36,22 @@
     /**
      * Build (and validate) the policy settings on the endpoint
      * @param endpoint
-     * @param definitions 
      * @param monitor
      */
-    void build(Endpoint endpoint, Definitions definitions, Monitor monitor);
+    void build(Endpoint endpoint, BuilderContext context);
 
     /**
      * Build (and validate) the policy settings on the endpoint reference
      * @param endpointReference
-     * @param definitions 
      * @param monitor
      */
-    void build(EndpointReference endpointReference, Definitions definitions, Monitor monitor);
+    void build(EndpointReference endpointReference, BuilderContext context);
 
     /**
      * Build (and validate) the policy settings on the component implementation
      * @param component
      * @param implementation
-     * @param definitions 
      * @param monitor
      */
-    void build(Component component, Implementation implementation, Definitions definitions, Monitor monitor);
+    void build(Component component, Implementation implementation, BuilderContext context);
 }

Modified: tuscany/java/sca/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.java (original)
+++ tuscany/java/sca/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.java Fri Oct 16 05:42:26 2009
@@ -29,13 +29,10 @@
 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;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 
 /**
  * @version $Rev$ $Date$
@@ -55,23 +52,16 @@
 
     private XMLInputFactory inputFactory;
     private StAXArtifactProcessor<Object> staxProcessor;
-    private Monitor monitor;
+    private ProcessorContext context;
 
     @Override
     protected void setUp() throws Exception {
         DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
         inputFactory = XMLInputFactory.newInstance();
-        // Create a monitor
-        FactoryExtensionPoint factories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
-        UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
         
-        MonitorFactory monitorFactory = factories.getFactory(MonitorFactory.class);  
-        if (monitorFactory != null) {
-        	monitor = monitorFactory.createMonitor();
-        	utilities.addUtility(monitorFactory);
-        }
         StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
     }
 
     /**
@@ -81,7 +71,7 @@
     public void testLoadValidComposite() throws Exception {
         XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(COMPOSITE));
         
-        Composite composite = (Composite)staxProcessor.read(reader);
+        Composite composite = (Composite)staxProcessor.read(reader, context);
         AtomBinding binding = (AtomBinding)   composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
         
         assertNotNull(binding);

Modified: tuscany/java/sca/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java (original)
+++ tuscany/java/sca/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java Fri Oct 16 05:42:26 2009
@@ -30,6 +30,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;
@@ -59,14 +60,13 @@
 public class EJBBindingProcessor implements StAXArtifactProcessor<EJBBinding> {
     private PolicyFactory policyFactory;
     private PolicySubjectProcessor policyProcessor;
-    private Monitor monitor;
+    
     private EJBBindingFactory ejbBindingFactory;
 
-    public EJBBindingProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
+    public EJBBindingProcessor(FactoryExtensionPoint modelFactories) {
         this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
         this.ejbBindingFactory = modelFactories.getFactory(EJBBindingFactory.class);
         this.policyProcessor = new PolicySubjectProcessor(policyFactory);
-        this.monitor = monitor;
     }
     
     /**
@@ -76,7 +76,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(), "binding-ejb-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
     	     monitor.problem(problem);
@@ -93,7 +93,7 @@
     /**
      * {@inheritDoc}
      */
-    public EJBBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public EJBBinding read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         EJBBinding ejbBinding = ejbBindingFactory.createEJBBinding();
 
         // Read the policies 
@@ -128,7 +128,7 @@
             } else if (ejbVersion.equals("EJB3")) {
                 ejbBinding.setEjbVersion(EJBBinding.EJBVersion.EJB3);
             } else {
-            	error("UnknownEJBVersion", reader, ejbVersion, name);
+            	error(context.getMonitor(), "UnknownEJBVersion", reader, ejbVersion, name);
             }
         }
 
@@ -141,7 +141,7 @@
         return ejbBinding;
     }
 
-    public void write(EJBBinding ejbBinding, XMLStreamWriter writer) throws ContributionWriteException,
+    public void write(EJBBinding ejbBinding, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException,
         XMLStreamException {
         // Write a <binding.ejb>
         writer.writeStartElement(Constants.SCA11_NS, EJBBinding.BINDING_EJB);
@@ -162,6 +162,6 @@
         return EJBBinding.class;
     }
 
-    public void resolve(EJBBinding ejbBinding, ModelResolver modelResolver) throws ContributionResolveException {
+    public void resolve(EJBBinding ejbBinding, ModelResolver modelResolver, ProcessorContext context) throws ContributionResolveException {
     }
 }

Modified: tuscany/java/sca/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/xml/HTTPBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/xml/HTTPBindingProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/xml/HTTPBindingProcessor.java (original)
+++ tuscany/java/sca/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/xml/HTTPBindingProcessor.java Fri Oct 16 05:42:26 2009
@@ -35,14 +35,12 @@
 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.processor.StAXAttributeProcessor;
 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.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.Problem;
-import org.apache.tuscany.sca.monitor.Problem.Severity;
 
 public class HTTPBindingProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<HTTPBinding> {
     private static final String NAME = "name";
@@ -51,17 +49,15 @@
     private HTTPBindingFactory httpBindingFactory;
     private StAXArtifactProcessor<Object> extensionProcessor;
     private StAXAttributeProcessor<Object> extensionAttributeProcessor;
-    private Monitor monitor;
+    
 
     public HTTPBindingProcessor(ExtensionPointRegistry extensionPoints, 
                                 StAXArtifactProcessor extensionProcessor,
-                                StAXAttributeProcessor extensionAttributeProcessor, 
-                                Monitor monitor) {
+                                StAXAttributeProcessor extensionAttributeProcessor) {
         FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
         this.httpBindingFactory = modelFactories.getFactory(HTTPBindingFactory.class);
         this.extensionProcessor = (StAXArtifactProcessor<Object>)extensionProcessor;
         this.extensionAttributeProcessor = extensionAttributeProcessor;
-        this.monitor = monitor;
     }
 
     public QName getArtifactType() {
@@ -72,7 +68,7 @@
         return HTTPBinding.class;
     }
 
-    public HTTPBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public HTTPBinding read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         HTTPBinding httpBinding = httpBindingFactory.createHTTPBinding();
 
         while(reader.hasNext()) {
@@ -94,7 +90,7 @@
                         }
                     } else {
                         // Read an extension element
-                        Object extension = extensionProcessor.read(reader);
+                        Object extension = extensionProcessor.read(reader, context);
                         if (extension != null) {
                             if (extension instanceof WireFormat) {
                                 httpBinding.setRequestWireFormat((WireFormat)extension);
@@ -118,7 +114,7 @@
         return httpBinding;
     }
 
-    public void write(HTTPBinding httpBinding, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
+    public void write(HTTPBinding httpBinding, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
         //writer.writeStartElement(Constants.SCA10_NS, BINDING_HTTP);
 
         writeStart(writer, HTTPBinding.TYPE.getNamespaceURI(), HTTPBinding.TYPE.getLocalPart());
@@ -138,37 +134,9 @@
     }
 
 
-    public void resolve(HTTPBinding model, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(HTTPBinding model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
         // Should not need to do anything here for now... 
 
     }
 
-    /**
-     * Report a warning.
-     * 
-     * @param problems
-     * @param message
-     * @param model
-     */
-    private void warning(String message, Object model, Object... messageParameters) {
-        if (monitor != null) {
-            Problem problem = monitor.createProblem(this.getClass().getName(), "binding-http-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters);
-            monitor.problem(problem);
-        }
-    }
-
-    /**
-     * Report a error.
-     * 
-     * @param problems
-     * @param message
-     * @param model
-     */
-    private void error(String message, Object model, Object... messageParameters) {
-        if (monitor != null) {
-            Problem problem = monitor.createProblem(this.getClass().getName(), "binding-http-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
-            monitor.problem(problem);
-        }        
-    }    
-
 }

Modified: tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java (original)
+++ tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java Fri Oct 16 05:42:26 2009
@@ -50,6 +50,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;
@@ -136,17 +137,16 @@
     private PolicySubjectProcessor policyProcessor;
     private ConfiguredOperationProcessor configuredOperationProcessor;
     protected StAXArtifactProcessor<Object> extensionProcessor;
-    private Monitor monitor;
+    
 
     private FactoryExtensionPoint modelFactories; // DOB
-    public JMSBindingProcessor(FactoryExtensionPoint modelFactories, StAXArtifactProcessor<Object> extensionProcessor, Monitor monitor) {
+    public JMSBindingProcessor(FactoryExtensionPoint modelFactories, StAXArtifactProcessor<Object> extensionProcessor) {
         this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
         this.policyProcessor = new PolicySubjectProcessor(policyFactory);
 
         this.configuredOperationProcessor = 
-            new ConfiguredOperationProcessor(modelFactories, this.monitor);
+            new ConfiguredOperationProcessor(modelFactories);
         this.extensionProcessor = extensionProcessor;
-        this.monitor = monitor;
         this.modelFactories = modelFactories;
     }
     
@@ -157,7 +157,7 @@
      * @param message
      * @param model
     */
-    private void warning(String message, Object model, Object... messageParameters) {
+    private void warning(Monitor monitor, String message, Object model, Object... messageParameters) {
         if (monitor != null) {
             Problem problem = monitor.createProblem(this.getClass().getName(), "binding-jms-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters);
     	    monitor.problem(problem);
@@ -172,7 +172,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(), "binding-jms-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
      	    monitor.problem(problem);
@@ -187,7 +187,8 @@
         return JMSBinding.class;
     }
 
-    public JMSBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public JMSBinding read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
+        Monitor monitor = context.getMonitor();
         JMSBinding jmsBinding = new JMSBinding();
         // Reset validation message to keep track of validation issues.
 
@@ -203,7 +204,7 @@
         // Read binding URI
         String uri = reader.getAttributeValue(null, "uri");
         if (uri != null && uri.length() > 0) {
-            parseURI(uri, jmsBinding);
+            parseURI(uri, jmsBinding, monitor);
         }
 
         // Read correlation scheme
@@ -212,7 +213,7 @@
             if (JMSBindingConstants.VALID_CORRELATION_SCHEMES.contains(correlationScheme.toLowerCase())) {
                 jmsBinding.setCorrelationScheme(correlationScheme);
             } else {
-            	error("InvalidCorrelationScheme", reader, correlationScheme);
+            	error(monitor, "InvalidCorrelationScheme", reader, correlationScheme);
             }
         }
 
@@ -277,28 +278,28 @@
                 case START_ELEMENT:
                     String elementName = reader.getName().getLocalPart();
                     if ("destination".equals(elementName)) {
-                        parseDestination(reader, jmsBinding);
+                        parseDestination(reader, jmsBinding, monitor);
                     } else if ("connectionFactory".equals(elementName)) {
-                        parseConnectionFactory(reader, jmsBinding);
+                        parseConnectionFactory(reader, jmsBinding, monitor);
                     } else if ("activationSpec".equals(elementName)) {
-                        parseActivationSpec(reader, jmsBinding);
+                        parseActivationSpec(reader, jmsBinding, monitor);
                     } else if ("response".equals(elementName)) {
-                        parseResponse(reader, jmsBinding);
+                        parseResponse(reader, jmsBinding, context);
                     } else if ("resourceAdapter".equals(elementName)) {
-                        parseResourceAdapter(reader, jmsBinding);
+                        parseResourceAdapter(reader, jmsBinding, monitor);
                     } else if ("headers".equals(elementName)) {
-                        parseHeaders(reader, jmsBinding);
+                        parseHeaders(reader, jmsBinding, monitor);
                     } else if ("operationProperties".equals(elementName)) {
-                        parseOperationProperties(reader, jmsBinding);
+                        parseOperationProperties(reader, jmsBinding, monitor);
                     } else if ("messageSelection".equals(elementName)) {
                         parseSubscriptionHeaders(reader, jmsBinding);
                     } else if (Constants.OPERATION_QNAME.equals(reader.getName())) {
-                        ConfiguredOperation confOp = configuredOperationProcessor.read(reader);
+                        ConfiguredOperation confOp = configuredOperationProcessor.read(reader, context);
                         if (confOp != null) {
                             ((OperationsConfigurator)jmsBinding).getConfiguredOperations().add(confOp);
                         }
                     } else {
-                        Object extension = extensionProcessor.read(reader);
+                        Object extension = extensionProcessor.read(reader, context);
                         if (extension != null) {
                             if (extension instanceof WireFormat) {
                                 if (jmsBinding.getRequestWireFormat() == null) {
@@ -314,7 +315,7 @@
                                 }
 
                             } else {
-                                error("UnexpectedElement", reader, extension.toString());
+                                error(monitor, "UnexpectedElement", reader, extension.toString());
                             }
                         }
                     }
@@ -331,7 +332,7 @@
                     if (x.equals(JMSBindingConstants.BINDING_JMS_QNAME)) {
                         endFound = true;
                     } else {
-                    	error("UnexpectedElement: expected " + JMSBindingConstants.BINDING_JMS_QNAME + ", found " + x.toString(), 
+                    	error(monitor, "UnexpectedElement: expected " + JMSBindingConstants.BINDING_JMS_QNAME + ", found " + x.toString(), 
                     	      reader, x.toString());
                     }
             }
@@ -352,14 +353,14 @@
             jmsBinding.setResponseWireFormat(jmsBinding.getRequestWireFormat());
          }
 
-        validate( jmsBinding );
+        validate( jmsBinding, monitor );
 
         return jmsBinding;
     }
 
-    protected void parseURI(String uri, JMSBinding jmsBinding) {
+    protected void parseURI(String uri, JMSBinding jmsBinding, Monitor monitor) {
         if (!uri.startsWith("jms:")) {
-        	error("MustStartWithSchema", jmsBinding, uri);
+        	error(monitor, "MustStartWithSchema", jmsBinding, uri);
         	return;
         }
         int i = uri.indexOf('?');            
@@ -370,7 +371,7 @@
         	    if (s.startsWith("connectionFactoryName=")) {
         	        jmsBinding.setConnectionFactoryName(s.substring(22));
         	    } else {
-        	        error("UnknownTokenInURI", jmsBinding, s, uri);
+        	        error(monitor, "UnknownTokenInURI", jmsBinding, s, uri);
                  	return;
         	     }
         	}
@@ -380,31 +381,32 @@
         }
     }
 
-    public void resolve(JMSBinding model, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(JMSBinding model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
+        Monitor monitor = context.getMonitor();
         if (model.getRequestConnectionName() != null) {
-            model.setRequestConnectionBinding(getConnectionBinding(model, "requestConnection", model.getRequestConnectionName(), resolver));
+            model.setRequestConnectionBinding(getConnectionBinding(model, "requestConnection", model.getRequestConnectionName(), resolver, context));
         }
         if (model.getResponseConnectionName() != null) {
-            model.setResponseConnectionBinding(getConnectionBinding(model, "responseConnection", model.getResponseConnectionName(), resolver));
+            model.setResponseConnectionBinding(getConnectionBinding(model, "responseConnection", model.getResponseConnectionName(), resolver, context));
         }
         if (model.getOperationPropertiesName() != null) {
-            model.setOperationPropertiesBinding(getConnectionBinding(model, "operationProperties", model.getOperationPropertiesName(), resolver));
+            model.setOperationPropertiesBinding(getConnectionBinding(model, "operationProperties", model.getOperationPropertiesName(), resolver, context));
         }
     }
 
     @SuppressWarnings("unchecked")
-    private JMSBinding getConnectionBinding(JMSBinding model, String attrName, QName bindingName, ModelResolver resolver) {
+    private JMSBinding getConnectionBinding(JMSBinding model, String attrName, QName bindingName, ModelResolver resolver, ProcessorContext context) {
         JMSBinding binding = new JMSBinding();
         binding.setTargetNamespace(bindingName.getNamespaceURI());
         binding.setName(bindingName.getLocalPart());
         binding.setUnresolved(true);
-        binding = resolver.resolveModel(JMSBinding.class, binding);
+        binding = resolver.resolveModel(JMSBinding.class, binding, context);
         if (binding.isUnresolved())
-            error("BindingNotFound", model, attrName, bindingName);
+            error(context.getMonitor(), "BindingNotFound", model, attrName, bindingName);
         return binding;
     }
 
-    private void parseDestination(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseDestination(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "jndiName");
         if (name != null && name.length() > 0) {
             jmsBinding.setDestinationName(name);
@@ -412,13 +414,13 @@
 
         String type = reader.getAttributeValue(null, "type");                
         if (type != null && type.length() > 0) {
-            warning("DoesntProcessDestinationType", jmsBinding);
+            warning(monitor, "DoesntProcessDestinationType", jmsBinding);
             if (JMSBindingConstants.DESTINATION_TYPE_QUEUE.equalsIgnoreCase(type)) {
                 jmsBinding.setDestinationType(JMSBindingConstants.DESTINATION_TYPE_QUEUE);
             } else if (JMSBindingConstants.DESTINATION_TYPE_TOPIC.equalsIgnoreCase(type)) {
                 jmsBinding.setDestinationType(JMSBindingConstants.DESTINATION_TYPE_TOPIC);
             } else {
-            	error("InvalidDestinationType", reader, type);
+            	error(monitor, "InvalidDestinationType", reader, type);
             }            
         }
 
@@ -427,30 +429,30 @@
             jmsBinding.setDestinationCreate(create);
         }
 
-        jmsBinding.getDestinationProperties().putAll(parseBindingProperties(reader));
+        jmsBinding.getDestinationProperties().putAll(parseBindingProperties(reader, monitor));
     }
 
-    private void parseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "jndiName");
         if (name != null && name.length() > 0) {
             jmsBinding.setConnectionFactoryName(name);
         } else {
-            error("MissingConnectionFactoryName", reader);
+            error(monitor, "MissingConnectionFactoryName", reader);
         }
-        jmsBinding.getConnectionFactoryProperties().putAll(parseBindingProperties(reader));
+        jmsBinding.getConnectionFactoryProperties().putAll(parseBindingProperties(reader, monitor));
     }
 
-    private void parseActivationSpec(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseActivationSpec(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "name");        
         if (name != null && name.length() > 0) {
             jmsBinding.setActivationSpecName(name);            
         } else {
-            warning("MissingActivationSpecName", reader);
+            warning(monitor, "MissingActivationSpecName", reader);
         }
-        jmsBinding.getActivationSpecProperties().putAll(parseBindingProperties(reader));
+        jmsBinding.getActivationSpecProperties().putAll(parseBindingProperties(reader, monitor));
     }
 
-    private void parseResponseDestination(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseResponseDestination(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "jndiName");
         if (name != null && name.length() > 0) {
             jmsBinding.setResponseDestinationName(name);
@@ -458,13 +460,13 @@
 
         String type = reader.getAttributeValue(null, "type");        
         if (type != null && type.length() > 0) {
-            warning("DoesntProcessResponseDestinationType", jmsBinding);
+            warning(monitor, "DoesntProcessResponseDestinationType", jmsBinding);
             if (JMSBindingConstants.DESTINATION_TYPE_QUEUE.equalsIgnoreCase(type)) {
                 jmsBinding.setResponseDestinationType(JMSBindingConstants.DESTINATION_TYPE_QUEUE);
             } else if (JMSBindingConstants.DESTINATION_TYPE_TOPIC.equalsIgnoreCase(type)) {
                 jmsBinding.setResponseDestinationType(JMSBindingConstants.DESTINATION_TYPE_TOPIC);
             } else {
-                error("InvalidResponseDestinationType", reader, type);
+                error(monitor, "InvalidResponseDestinationType", reader, type);
             }
         }
 
@@ -473,43 +475,44 @@
             jmsBinding.setResponseDestinationCreate(create);
         }
 
-        jmsBinding.getResponseDestinationProperties().putAll(parseBindingProperties(reader));
+        jmsBinding.getResponseDestinationProperties().putAll(parseBindingProperties(reader, monitor));
     }
 
-    private void parseResponseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseResponseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "jndiName");
         if (name != null && name.length() > 0) {
             jmsBinding.setResponseConnectionFactoryName(name);            
         } else {
-            warning("MissingResponseConnectionFactory", reader);
+            warning(monitor, "MissingResponseConnectionFactory", reader);
         }
-        jmsBinding.getResponseConnectionFactoryProperties().putAll(parseBindingProperties(reader));
+        jmsBinding.getResponseConnectionFactoryProperties().putAll(parseBindingProperties(reader, monitor));
     }
 
-    private void parseResponseActivationSpec(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseResponseActivationSpec(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "name");
         if (name != null && name.length() > 0) {
             jmsBinding.setResponseActivationSpecName(name);            
         } else {
-            warning("MissingResponseActivationSpec", reader);
+            warning(monitor, "MissingResponseActivationSpec", reader);
         }
-        jmsBinding.getResponseActivationSpecProperties().putAll(parseBindingProperties(reader));
+        jmsBinding.getResponseActivationSpecProperties().putAll(parseBindingProperties(reader, monitor));
     }
 
-    private void parseResponse(XMLStreamReader reader, JMSBinding jmsBinding) throws ContributionReadException, XMLStreamException {
+    private void parseResponse(XMLStreamReader reader, JMSBinding jmsBinding, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         // Read sub-elements of response
+        Monitor monitor = context.getMonitor();
         while (true) {
             switch (reader.next()) {
                 case START_ELEMENT:
                     String elementName = reader.getName().getLocalPart();
                     if ("destination".equals(elementName)) {
-                        parseResponseDestination(reader, jmsBinding);
+                        parseResponseDestination(reader, jmsBinding, context.getMonitor());
                     } else if ("connectionFactory".equals(elementName)) {
-                        parseResponseConnectionFactory(reader, jmsBinding);
+                        parseResponseConnectionFactory(reader, jmsBinding, monitor);
                     } else if ("activationSpec".equals(elementName)) {
-                        parseResponseActivationSpec(reader, jmsBinding);
+                        parseResponseActivationSpec(reader, jmsBinding, monitor);
                     } else {
-                        Object extension = extensionProcessor.read(reader);
+                        Object extension = extensionProcessor.read(reader, context);
                         if (extension != null) {
                             if (extension instanceof WireFormat) {
                                 if (jmsBinding.getResponseWireFormat() == null) {
@@ -518,7 +521,7 @@
                                     throw new ContributionReadException("The response wireformat has already been defined. " + "Only one response wire format can be specified.");
                                 }
                             } else {
-                                error("UnexpectedElement", reader, extension.toString());
+                                error(context.getMonitor(), "UnexpectedElement", reader, extension.toString());
                             }
                         }
                         reader.next();
@@ -530,20 +533,20 @@
                     if (x.getLocalPart().equals("response")) {
                         return;
                     } else {
-                    	error("UnexpectedResponseElement", reader, x.toString());
+                    	error(context.getMonitor(), "UnexpectedResponseElement", reader, x.toString());
                     }
             }
         }
     }
 
-    private void parseResourceAdapter(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseResourceAdapter(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "name");        
         if (name != null && name.length() > 0) {
             jmsBinding.setResourceAdapterName(name);            
         } else {
-            error("MissingResourceAdapterName", reader);
+            error(monitor, "MissingResourceAdapterName", reader);
         }
-        jmsBinding.getResourceAdapterProperties().putAll(parseBindingProperties(reader));
+        jmsBinding.getResourceAdapterProperties().putAll(parseBindingProperties(reader, monitor));
     }
 
     /**
@@ -555,7 +558,7 @@
      *     <property name=”NMTOKEN” type=”NMTOKEN”?>*    
      * </headers>?
      */
-    private void parseHeaders(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseHeaders(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String jmsType = reader.getAttributeValue(null, "type");
         if (jmsType != null && jmsType.length() > 0) {
             jmsBinding.setJMSType(jmsType);
@@ -568,7 +571,7 @@
             } else if ("nonpersistent".equalsIgnoreCase(jmsDeliveryMode)) {
                 jmsBinding.setJMSDeliveryMode(false);
             } else {
-                error("InvalidJMSDeliveryMode", jmsBinding, jmsDeliveryMode);
+                error(monitor, "InvalidJMSDeliveryMode", jmsBinding, jmsDeliveryMode);
             }
         }
 
@@ -584,10 +587,10 @@
                 if (p >= 0 && p <= 9) {
                     jmsBinding.setJMSPriority(p);
                 } else {
-                    warning("InvalidJMSPriority", jmsBinding, jmsPriority);
+                    warning(monitor, "InvalidJMSPriority", jmsBinding, jmsPriority);
                 }
             } catch (NumberFormatException ex) {
-                error("InvalidJMSPriority", jmsBinding, jmsPriority);
+                error(monitor, "InvalidJMSPriority", jmsBinding, jmsPriority);
             }
         }
 
@@ -603,7 +606,7 @@
                     if (x.getLocalPart().equals("headers")) {
                         return;
                     } else {
-                        error("UnexpectedResponseElement", reader, x.toString());
+                        error(monitor, "UnexpectedResponseElement", reader, x.toString());
                     }
             }
         }
@@ -648,15 +651,15 @@
      *   </headers>?
      * </operationProperties>*
      */
-    private void parseOperationProperties(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException {
+    private void parseOperationProperties(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         
         if (jmsBinding.getOperationPropertiesName() != null) {
-            error("DuplicateOperationProperties", jmsBinding);
+            error(monitor, "DuplicateOperationProperties", jmsBinding);
         }
         
         String opName = reader.getAttributeValue(null, "name");
         if (opName == null || opName.length() < 1) {
-            warning("MissingJMSOperationPropertyName", jmsBinding);
+            warning(monitor, "MissingJMSOperationPropertyName", jmsBinding);
             return;
         }
         // Since nativeOpName, headers, and property elements are optional, must add opName.
@@ -671,9 +674,9 @@
             switch (reader.next()) {
                 case START_ELEMENT:
                     if (reader.getName().getLocalPart().equals("headers")) { // optional
-                        parseOperationHeaders(reader, jmsBinding, opName);
+                        parseOperationHeaders(reader, jmsBinding, opName, monitor);
                     } else if (reader.getName().getLocalPart().equals("property")) { // optional
-                    	processProperty(reader, props);
+                    	processProperty(reader, props, monitor);
                     }
                 break;
                 case END_ELEMENT:
@@ -689,14 +692,14 @@
                         	jmsBinding.getOperationPropertiesProperties(opName).putAll(props);
                             return;
                         } else {
-                            error("UnexpectedResponseElement", reader, x.toString());
+                            error(monitor, "UnexpectedResponseElement", reader, x.toString());
                         }
                     }
             }
         }
     }
 
-    private void parseOperationHeaders(XMLStreamReader reader, JMSBinding jmsBinding, String opName) throws XMLStreamException {
+    private void parseOperationHeaders(XMLStreamReader reader, JMSBinding jmsBinding, String opName, Monitor monitor) throws XMLStreamException {
         String jmsType = reader.getAttributeValue(null, "type");
         if (jmsType != null && jmsType.length() > 0) {
             jmsBinding.setOperationJMSType(opName, jmsType);
@@ -709,7 +712,7 @@
             } else if ("nonpersistent".equalsIgnoreCase(jmsDeliveryMode)) {
                 jmsBinding.setOperationJMSDeliveryMode(opName, false);
             } else {
-                error("InvalidOPJMSDeliveryMode", jmsBinding, jmsDeliveryMode);
+                error(monitor, "InvalidOPJMSDeliveryMode", jmsBinding, jmsDeliveryMode);
             }
         }
 
@@ -725,10 +728,10 @@
                 if (p >= 0 && p <= 9) {
                     jmsBinding.setOperationJMSPriority(opName, p);
                 } else {
-                    warning("InvalidOPJMSPriority", jmsBinding, jmsPriority);
+                    warning(monitor, "InvalidOPJMSPriority", jmsBinding, jmsPriority);
                 }
             } catch (NumberFormatException ex) {
-                error("InvalidOPJMSPriority", jmsBinding, jmsPriority);
+                error(monitor, "InvalidOPJMSPriority", jmsBinding, jmsPriority);
             }
         }
 
@@ -744,7 +747,7 @@
                     if (x.getLocalPart().equals("headers")) {
                         return;
                     } else {
-                        error("UnexpectedResponseElement", reader, x.toString());
+                        error(monitor, "UnexpectedResponseElement", reader, x.toString());
                     }
             }
         }
@@ -790,7 +793,7 @@
         } // end while
     }
 
-    private Map<String, BindingProperty> parseBindingProperties(XMLStreamReader reader) throws XMLStreamException {
+    private Map<String, BindingProperty> parseBindingProperties(XMLStreamReader reader, Monitor monitor) throws XMLStreamException {
     	Map<String, BindingProperty> props = new HashMap<String, BindingProperty>();
     	String parentName = reader.getName().getLocalPart();        
         // Parse for all the properties within this element, until the end of
@@ -801,7 +804,7 @@
                 case START_ELEMENT:
                     String elementName = reader.getName().getLocalPart();
                     if ("property".equals(elementName)) {
-                    	processProperty(reader, props);
+                    	processProperty(reader, props, monitor);
                     }
                     break;
                 case END_ELEMENT:
@@ -815,10 +818,10 @@
         return props;
     }
 
-    private void processProperty(XMLStreamReader reader, Map<String, BindingProperty> props) throws XMLStreamException {
+    private void processProperty(XMLStreamReader reader, Map<String, BindingProperty> props, Monitor monitor) throws XMLStreamException {
         String name = reader.getAttributeValue(null, "name");
         if (name == null || name.length() < 1) {
-            error("InvalidPropertyElement", reader);
+            error(monitor, "InvalidPropertyElement", reader);
         }
         String type = reader.getAttributeValue(null, "type");
         String value = reader.getElementText();
@@ -833,7 +836,7 @@
      * The older validate() now calls validate(JMSBinding jmsBinding) with a null model. 
      */
     public void validate() {
-        validate( null );
+        validate( null, null );
     }
     
     /**
@@ -846,7 +849,7 @@
      * @param jmsBinding an optional JMS binding model to check for validity.  
      * @since 1.4
      */
-    protected void validate( JMSBinding jmsBinding ) {        
+    protected void validate( JMSBinding jmsBinding, Monitor monitor ) {        
         // If no JMSBinding model is provided, that is all the validation we can do.
         if ( jmsBinding == null ) {
             return;
@@ -857,12 +860,12 @@
         if (( connectionFactoryName != null ) && ( connectionFactoryName.length() > 0 )) {
             if (JMSBindingConstants.DESTINATION_TYPE_QUEUE == jmsBinding.getDestinationType()) {
                 if ( connectionFactoryName.contains( "topic" )) {
-                    error("DestinationQueueContradiction", jmsBinding, connectionFactoryName );
+                    error(monitor, "DestinationQueueContradiction", jmsBinding, connectionFactoryName );
                 }
             }
             if (JMSBindingConstants.DESTINATION_TYPE_TOPIC == jmsBinding.getDestinationType()) {
                 if ( connectionFactoryName.contains( "queue" )) {
-                    error("DestinationTopicContradiction", jmsBinding, connectionFactoryName );
+                    error(monitor, "DestinationTopicContradiction", jmsBinding, connectionFactoryName );
                 }
             }
         }
@@ -871,7 +874,7 @@
         if (( connectionFactoryName != null ) && ( connectionFactoryName.length() > 0 )) {
             String activationSpecName = jmsBinding.getActivationSpecName();
             if ((activationSpecName != null) && (activationSpecName.length() > 0 )) {
-                error("ConnectionFactoryActivationSpecContradiction", jmsBinding, connectionFactoryName, activationSpecName );                
+                error(monitor, "ConnectionFactoryActivationSpecContradiction", jmsBinding, connectionFactoryName, activationSpecName );                
             }
         }
 
@@ -883,7 +886,7 @@
         if (( responseConnectionName != null ) && ( responseConnectionName.getLocalPart().length() > 0 )) {
             String responseDestinationName = jmsBinding.getResponseDestinationName();
             if (( responseDestinationName != null ) && (responseDestinationName.length() > 0)) {
-                error("ResponseAttrElement", jmsBinding, responseConnectionName, responseDestinationName );                               
+                error(monitor, "ResponseAttrElement", jmsBinding, responseConnectionName, responseDestinationName );                               
             }
         }
 
@@ -904,11 +907,10 @@
      *    responseConnection="QName"?
      *    operationProperties="QName"? 
      *    ...>
-     *
-     * @param jmsBinding JMSBinding model
      * @param writer an XMLStreamWriter that writes XML attributes and elements
+     * @param jmsBinding JMSBinding model
      */
-    public void write(JMSBinding jmsBinding, XMLStreamWriter writer) throws ContributionWriteException,
+    public void write(JMSBinding jmsBinding, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException,
         XMLStreamException {
         // Write a <binding.jms>
         writeStart(writer, Constants.SCA11_NS, JMSBindingConstants.BINDING_JMS,
@@ -975,7 +977,7 @@
            
            if ((jmsBinding.getResponseWireFormat() != null) &&
                !(jmsBinding.getResponseWireFormat() instanceof WireFormatJMSDefault)){
-               writeWireFormat(jmsBinding.getResponseWireFormat(), writer);
+               writeWireFormat(jmsBinding.getResponseWireFormat(), writer, context);
            }
            
            writer.writeEndElement();
@@ -985,16 +987,16 @@
         
         writeResourceAdapterProperties( jmsBinding, writer );
         
-        writeConfiguredOperations( jmsBinding, writer );
+        writeConfiguredOperations( jmsBinding, writer, context );
         
         if ((jmsBinding.getRequestWireFormat() != null) &&
             !(jmsBinding.getRequestWireFormat() instanceof WireFormatJMSDefault)){
-            writeWireFormat(jmsBinding.getRequestWireFormat(), writer);
+            writeWireFormat(jmsBinding.getRequestWireFormat(), writer, context);
         }
         
         if ((jmsBinding.getOperationSelector() != null) &&
             !(jmsBinding.getOperationSelector() instanceof OperationSelectorJMSDefault)){
-            writeOperationSelector(jmsBinding.getOperationSelector(), writer);
+            writeOperationSelector(jmsBinding.getOperationSelector(), writer, context);
         }
         
         writeEnd(writer);
@@ -1500,14 +1502,14 @@
      *       <operation name=\"op1\" requires=\"IntentOne IntentTwo\"/>"
      *   </binding.jms>"
      */
-    private void writeConfiguredOperations( JMSBinding jmsBinding, XMLStreamWriter writer) throws XMLStreamException, ContributionWriteException {       
+    private void writeConfiguredOperations( JMSBinding jmsBinding, XMLStreamWriter writer, ProcessorContext context) throws XMLStreamException, ContributionWriteException {       
         List<ConfiguredOperation> configOps = jmsBinding.getConfiguredOperations();
         if (configOps == null || (configOps.size() < 1)) {
             return;
         }
 
         for( Iterator<ConfiguredOperation> it = configOps.iterator(); it.hasNext();) {
-           configuredOperationProcessor.write(it.next(), writer);
+           configuredOperationProcessor.write(it.next(), writer, context);
         }
 
         // Strange bug. Without white space, headers end tag improperly read.
@@ -1521,8 +1523,8 @@
      * @param wireFormat
      * @param writer
      */
-    private void writeWireFormat(WireFormat wireFormat, XMLStreamWriter writer ) throws XMLStreamException, ContributionWriteException {
-        extensionProcessor.write(wireFormat, writer);
+    private void writeWireFormat(WireFormat wireFormat, XMLStreamWriter writer, ProcessorContext context ) throws XMLStreamException, ContributionWriteException {
+        extensionProcessor.write(wireFormat, writer, context);
     }
     
     /**
@@ -1532,8 +1534,8 @@
      * @param operationSeletor
      * @param writer
      */
-    private void writeOperationSelector(OperationSelector operationSeletor, XMLStreamWriter writer ) throws XMLStreamException, ContributionWriteException{
-        extensionProcessor.write(operationSeletor, writer);        
+    private void writeOperationSelector(OperationSelector operationSeletor, XMLStreamWriter writer, ProcessorContext context ) throws XMLStreamException, ContributionWriteException{
+        extensionProcessor.write(operationSeletor, writer, context);        
     }
     
 }

Modified: tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/OperationSelectorJMSDefaultProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/OperationSelectorJMSDefaultProcessor.java?rev=825773&r1=825772&r2=825773&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/OperationSelectorJMSDefaultProcessor.java (original)
+++ tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/OperationSelectorJMSDefaultProcessor.java Fri Oct 16 05:42:26 2009
@@ -29,10 +29,10 @@
 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;
-import org.apache.tuscany.sca.monitor.Monitor;
 
 /**
  *
@@ -44,17 +44,17 @@
         return OperationSelectorJMSDefault.OPERATION_SELECTOR_JMS_DEFAULT_QNAME;
     }
     
-    public OperationSelectorJMSDefaultProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
+    public OperationSelectorJMSDefaultProcessor(FactoryExtensionPoint modelFactories) {
     }
 
     
-    public OperationSelectorJMSDefault read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+    public OperationSelectorJMSDefault read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
         OperationSelectorJMSDefault wireFormat = new OperationSelectorJMSDefault();
          
         return wireFormat;
     }
 
-    public void write(OperationSelectorJMSDefault wireFormat, XMLStreamWriter writer) 
+    public void write(OperationSelectorJMSDefault wireFormat, XMLStreamWriter writer, ProcessorContext context) 
         throws ContributionWriteException, XMLStreamException {
         String prefix = "tuscany";
         writer.writeStartElement(prefix, 
@@ -69,7 +69,7 @@
         return OperationSelectorJMSDefault.class;
     }
 
-    public void resolve(OperationSelectorJMSDefault arg0, ModelResolver arg1) throws ContributionResolveException {
+    public void resolve(OperationSelectorJMSDefault arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException {
 
     }