You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2010/09/06 18:49:52 UTC

svn commit: r993091 - in /tuscany/sca-java-2.x/trunk/modules: ./ assembly-xsd/src/main/resources/ contribution-resource/ contribution-resource/META-INF/ contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ contribution-reso...

Author: lresende
Date: Mon Sep  6 16:49:51 2010
New Revision: 993091

URL: http://svn.apache.org/viewvc?rev=993091&view=rev
Log:
Porting support to import/export resources from 1.x

Added:
    tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd   (with props)
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/META-INF/
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/META-INF/MANIFEST.MF
Removed:
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportListener.java
Modified:
    tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1.xsd
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/pom.xml
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java
    tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java
    tuscany/sca-java-2.x/trunk/modules/pom.xml

Added: tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd?rev=993091&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd (added)
+++ tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd Mon Sep  6 16:49:51 2010
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://tuscany.apache.org/xmlns/sca/1.1"
+    xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+    xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1"
+    elementFormDefault="qualified">
+
+    <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200912" schemaLocation="sca-contribution-1.1-cd05-rev1.xsd"/>
+
+    <element name="import.resource" type="t:ImportResourceType" substitutionGroup="sca:importBase"/>
+    <complexType name="ImportResourceType">
+        <complexContent>
+            <extension base="sca:Import">
+                <attribute name="uri" type="anyURI" use="required"/>
+            </extension>
+        </complexContent>
+    </complexType>
+
+    <element name="export.resource" type="t:ExportResourceType" substitutionGroup="sca:exportBase"/>
+    <complexType name="ExportResourceType">
+        <complexContent>
+            <extension base="sca:Export">
+                <attribute name="uri" type="anyURI" use="required"/>
+            </extension>
+        </complexContent>
+    </complexType>
+
+</schema>
\ No newline at end of file

Propchange: tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1-contribution-resource.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1.xsd
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1.xsd?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1.xsd (original)
+++ tuscany/sca-java-2.x/trunk/modules/assembly-xsd/src/main/resources/tuscany-sca-1.1.xsd Mon Sep  6 16:49:51 2010
@@ -26,13 +26,17 @@
     <import namespace="http://docs.oasis-open.org/ns/opencsa/sca/200912" schemaLocation="sca-1.1-cd05-rev1.xsd"/>
 
 
-    <include schemaLocation="tuscany-sca-1.1-binding-atom.xsd"/>    
+    <include schemaLocation="tuscany-sca-1.1-binding-atom.xsd"/>
     <include schemaLocation="tuscany-sca-1.1-binding-jms.xsd"/>
     <include schemaLocation="tuscany-sca-1.1-binding-http.xsd"/>
     <include schemaLocation="tuscany-sca-1.1-binding-jsonrpc.xsd"/>
     <include schemaLocation="tuscany-sca-1.1-binding-rest.xsd"/>
     <include schemaLocation="tuscany-sca-1.1-binding-rmi.xsd"/>
+    <!--
     <include schemaLocation="tuscany-sca-1.1-binding-rss.xsd"/>
+     -->
+
+    <include schemaLocation="tuscany-sca-1.1-contribution-resource.xsd"/>
 
     <include schemaLocation="tuscany-sca-1.1-implementation-osgi.xsd"/>
     <include schemaLocation="tuscany-sca-1.1-implementation-widget.xsd"/>

Added: tuscany/sca-java-2.x/trunk/modules/contribution-resource/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/META-INF/MANIFEST.MF?rev=993091&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/META-INF/MANIFEST.MF (added)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/META-INF/MANIFEST.MF Mon Sep  6 16:49:51 2010
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Export-Package: org.apache.tuscany.sca.contribution.resource
+SCA-Version: 1.1
+Bundle-Name: Apache Tuscany SCA Resource Import/Export Model
+Bundle-Vendor: The Apache Software Foundation
+Bundle-Version: 2.0.0
+Bundle-ManifestVersion: 2
+Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
+Bundle-Description: Apache Tuscany SCA Resource Import/Export Model
+Import-Package: javax.xml.namespace,
+ javax.xml.parsers,
+ javax.xml.stream,
+ javax.xml.stream.events,
+ javax.xml.stream.util,
+ javax.xml.transform,
+ javax.xml.transform.sax,
+ javax.xml.transform.stream,
+ javax.xml.validation,
+ org.apache.tuscany.sca.assembly;version="2.0.0",
+ org.apache.tuscany.sca.assembly.xsd;version="2.0.0";resolution:=optional,
+ org.apache.tuscany.sca.common.java.io;version="2.0.0",
+ org.apache.tuscany.sca.common.xml;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.stax;version="2.0.0",
+ org.apache.tuscany.sca.contribution;version="2.0.0",
+ org.apache.tuscany.sca.contribution.resolver;version="2.0.0",
+ org.apache.tuscany.sca.core;version="2.0.0",
+ org.apache.tuscany.sca.monitor;version="2.0.0",
+ org.w3c.dom,
+ org.w3c.dom.ls,
+ org.xml.sax,
+ org.xml.sax.helpers
+Bundle-SymbolicName: org.apache.tuscany.sca.contribution.resource
+Bundle-DocURL: http://www.apache.org/
+Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/pom.xml?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/pom.xml Mon Sep  6 16:49:51 2010
@@ -7,22 +7,22 @@
  * 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.    
+ * under the License.
 -->
 <project>
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.tuscany.sca</groupId>
         <artifactId>tuscany-modules</artifactId>
-        <version>1.7-SNAPSHOT</version>
+        <version>2.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>tuscany-contribution-resource</artifactId>
@@ -32,13 +32,13 @@
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-contribution</artifactId>
-            <version>1.7-SNAPSHOT</version>
+            <version>2.0-SNAPSHOT</version>
         </dependency>
 
-        <dependency>
+       <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-core-spi</artifactId>
-            <version>1.7-SNAPSHOT</version>
+            <version>2.0-SNAPSHOT</version>
         </dependency>
 
         <dependency>
@@ -54,23 +54,4 @@
             </exclusions>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-
-                <configuration>
-                    <instructions>
-                        <Bundle-Version>${tuscany.version}</Bundle-Version>
-                        <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.resource</Bundle-SymbolicName>
-                        <Bundle-Description>${pom.name}</Bundle-Description>
-                        <Export-Package>org.apache.tuscany.sca.contribution.resource*</Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java Mon Sep  6 16:49:51 2010
@@ -6,41 +6,44 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource;
 
+import javax.xml.namespace.QName;
+
 import org.apache.tuscany.sca.contribution.Export;
 
 
 /**
  * The representation of an resource export.
- * 
+ *
  * @version $Rev$ $Date$
  */
 public interface ResourceExport extends Export {
+	QName TYPE = new QName(SCA11_TUSCANY_NS, "export.resource");
 
     /**
      * Get Resource URI that identifies the export.
-     * 
+     *
      * @return The exported resource URI
      */
     String getURI();
 
     /**
      * Set Resource URI that identifies the export.
-     * 
+     *
      * @param uri The exported resource URI
      */
     void setURI(String uri);
-    
+
 }

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java Mon Sep  6 16:49:51 2010
@@ -6,54 +6,57 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource;
 
+import javax.xml.namespace.QName;
+
 import org.apache.tuscany.sca.contribution.Import;
 
 /**
  * The representation of an resource import.
- * 
+ *
  * @version $Rev$ $Date$
  */
 public interface ResourceImport extends Import {
+	QName TYPE = new QName(SCA11_TUSCANY_NS, "import.resource");
 
     /**
      * Get the location used to resolve the definitions for this import
-     * 
+     *
      * @return The import location
      */
     String getLocation();
 
     /**
      * Set the location used to resolve the definitions for this import
-     * 
+     *
      * @param location The import location
      */
     void setLocation(String location);
 
     /**
      * Get URI that identifies the resource import
-     * 
+     *
      * @return The URI
      */
     String getURI();
 
     /**
      * Set URI that identifies the resource import
-     * 
+     *
      * @param uri The resource URI
      */
     void setURI(String uri);
-    
+
 }
\ No newline at end of file

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java Mon Sep  6 16:49:51 2010
@@ -6,15 +6,15 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource.impl;
@@ -25,7 +25,7 @@ import java.util.Map;
 import org.apache.tuscany.sca.contribution.Artifact;
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.Import;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.contribution.resource.ResourceImport;
 
@@ -37,34 +37,34 @@ import org.apache.tuscany.sca.contributi
 public class ArtifactModelResolver implements ModelResolver {
     private Contribution contribution;
     private Map<String, Artifact> map = new HashMap<String, Artifact>();
-    
-    public ArtifactModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) {
+
+    public ArtifactModelResolver(Contribution contribution) {
     	this.contribution = contribution;
     }
 
-    public void addModel(Object resolved) {
+    public void addModel(Object resolved,  ProcessorContext context) {
     	Artifact artifact = (Artifact)resolved;
-        map.put(artifact.getURI(), artifact);
+    	map.put(artifact.getURI(), artifact);
     }
-    
-    public Object removeModel(Object resolved) {
-        return map.remove(((Artifact)resolved).getURI());
+
+    public Object removeModel(Object resolved,  ProcessorContext context) {
+    	return map.remove(((Artifact)resolved).getURI());
     }
-    
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+
+    public <T> T resolveModel(Class<T> modelClass, T unresolved,  ProcessorContext context) {
 
     	// Get the artifact URI
         String uri = ((Artifact)unresolved).getURI();
         if (uri == null) {
         	return (T)unresolved;
         }
-        
+
         // Lookup the artifact
         Artifact resolved = (Artifact) map.get(uri);
         if (resolved != null) {
             return modelClass.cast(resolved);
-        } 
-        
+        }
+
         // If not found, delegate the resolution to the imports (in this case based on the resource imports)
         for (Import import_ : this.contribution.getImports()) {
             if (import_ instanceof ResourceImport) {
@@ -73,7 +73,7 @@ public class ArtifactModelResolver imple
                 if ((resourceImport.getURI().equals(uri)) &&
                     (resourceImport.getModelResolver() != null)){
                     // Delegate the resolution to the import resolver
-                    resolved = resourceImport.getModelResolver().resolveModel(Artifact.class, (Artifact)unresolved);
+                    resolved = resourceImport.getModelResolver().resolveModel(Artifact.class, (Artifact)unresolved, context);
                     if (!resolved.isUnresolved()) {
                         return modelClass.cast(resolved);
                     }
@@ -83,5 +83,5 @@ public class ArtifactModelResolver imple
 
         return (T)unresolved;
     }
-    
+
 }

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java Mon Sep  6 16:49:51 2010
@@ -6,20 +6,21 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource.impl;
 
 import org.apache.tuscany.sca.contribution.Artifact;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.contribution.resource.ResourceExport;
 
@@ -32,31 +33,31 @@ public class ResourceExportModelResolver
 
     private ResourceExport export;
     private ModelResolver resolver;
-    
+
     public ResourceExportModelResolver(ResourceExport export, ModelResolver resolver) {
         this.export = export;
         this.resolver = resolver;
     }
-    
-    public void addModel(Object resolved) {
+
+    public void addModel(Object resolved, ProcessorContext context) {
         throw new IllegalStateException();
     }
 
-    public Object removeModel(Object resolved) {
+    public Object removeModel(Object resolved, ProcessorContext context) {
         throw new IllegalStateException();
     }
 
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-        
+    public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) {
+
         // Filter based on the artifact URI
         Artifact artifact = (Artifact)unresolved;
         if (export.getURI().equals(artifact.getURI())) {
-            
+
             // The artifact URI matches the exported URI, delegate to the
             // contribution's resolver
-            return resolver.resolveModel(modelClass, unresolved);
+            return resolver.resolveModel(modelClass, unresolved, context);
         } else {
-            
+
             // The artifact URI is not exported, return the unresolved object
             return unresolved;
         }

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java Mon Sep  6 16:49:51 2010
@@ -6,15 +6,15 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource.impl;
@@ -27,106 +27,89 @@ import javax.xml.stream.XMLStreamExcepti
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+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.contribution.resource.ResourceExport;
 import org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+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;
-import org.apache.tuscany.sca.monitor.impl.ProblemImpl;
 
 /**
  * Artifact processor for Resource export
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class ResourceExportProcessor implements StAXArtifactProcessor<ResourceExport> {
 
-    private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";
-    private static final QName EXPORT_RESOURCE = new QName(SCA10_NS, "export.resource");
     private static final String URI = "uri";
-    
+
     private final ResourceImportExportFactory factory;
-    private final Monitor monitor;
-    
-    public ResourceExportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
+
+    public ResourceExportProcessor(FactoryExtensionPoint modelFactories) {
         this.factory = modelFactories.getFactory(ResourceImportExportFactory.class);
-        this.monitor = monitor;
     }
-    
+
+
     /**
      * Report a error.
-     * 
+     *
      * @param problems
      * @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 = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
-            monitor.problem(problem);
+	        Problem problem = monitor.createProblem(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
+	        monitor.problem(problem);
     	 }
      }
-     
-     /**
-      * Report a exception.
-      * 
-      * @param problems
-      * @param message
-      * @param model
-      */
-     private void error(String message, Object model, Exception ex) {
-         if (monitor != null) {
-             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, ex);
-             monitor.problem(problem);
-         }
-     }
 
     public QName getArtifactType() {
-        return EXPORT_RESOURCE;
+        return ResourceExport.TYPE;
     }
-    
+
     public Class<ResourceExport> getModelType() {
         return ResourceExport.class;
     }
-    
+
     /**
      * Process <export.resource uri=""/>
      */
-    public ResourceExport read(XMLStreamReader reader) throws ContributionReadException {
+    public ResourceExport read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException {
     	ResourceExport resourceExport = this.factory.createResourceExport();
         QName element = null;
-        
+
         try {
             while (reader.hasNext()) {
                 int event = reader.getEventType();
                 switch (event) {
                     case START_ELEMENT:
                         element = reader.getName();
-                        
+
                         // Read <export.resource>
-                        if (EXPORT_RESOURCE.equals(element)) {
+                        if (ResourceExport.TYPE.equals(element)) {
                             String uri = reader.getAttributeValue(null, URI);
                             if (uri == null) {
-                            	error("AttributeURIMissing", reader);
+                            	error(context.getMonitor(), "AttributeURIMissing", reader);
                                 //throw new ContributionReadException("Attribute 'uri' is missing");
                             } else
                                 resourceExport.setURI(uri);
-                        } 
-                        
+                        }
+
                         break;
                     case XMLStreamConstants.END_ELEMENT:
-                        if (EXPORT_RESOURCE.equals(reader.getName())) {
+                        if (ResourceExport.TYPE.equals(reader.getName())) {
                             return resourceExport;
                         }
-                        break;        
+                        break;
                 }
-                
+
                 // Read the next element
                 if (reader.hasNext()) {
                     reader.next();
@@ -135,26 +118,26 @@ public class ResourceExportProcessor imp
         }
         catch (XMLStreamException e) {
             ContributionReadException ex = new ContributionReadException(e);
-            error("XMLStreamException", reader, ex);
+            error(context.getMonitor(), "XMLStreamException", reader, ex);
         }
-        
+
         return resourceExport;
     }
 
-    public void write(ResourceExport resourceExport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-        
+    public void write(ResourceExport resourceExport, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
+
         // Write <export.resource>
-        writer.writeStartElement(EXPORT_RESOURCE.getNamespaceURI(), EXPORT_RESOURCE.getLocalPart());
-        
+        writer.writeStartElement(ResourceExport.TYPE.getNamespaceURI(), ResourceExport.TYPE.getLocalPart());
+
         if (resourceExport.getURI() != null) {
             writer.writeAttribute(URI, resourceExport.getURI());
         }
-        
+
         writer.writeEndElement();
     }
 
-    public void resolve(ResourceExport resourceExport, ModelResolver resolver) throws ContributionResolveException {
-        
+    public void resolve(ResourceExport resourceExport, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
+
         if (resourceExport.getURI() != null)
             // Initialize the export's model resolver
             resourceExport.setModelResolver(new ResourceExportModelResolver(resourceExport, resolver));

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java Mon Sep  6 16:49:51 2010
@@ -6,15 +6,15 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource.impl;
@@ -27,72 +27,52 @@ import javax.xml.stream.XMLStreamExcepti
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+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.contribution.resource.ResourceImport;
 import org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+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;
-import org.apache.tuscany.sca.monitor.impl.ProblemImpl;
 
 /**
  * Artifact processor for Namespace import
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class ResourceImportProcessor  implements StAXArtifactProcessor<ResourceImport> {
-    private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";
-    
-    private static final QName IMPORT_RESOURCE = new QName(SCA10_NS, "import.resource");
-
     private static final String URI = "uri";
     private static final String LOCATION = "location";
-    
+
     private final ResourceImportExportFactory factory;
-    private final Monitor monitor;
-    
-    public ResourceImportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
+
+    public ResourceImportProcessor(FactoryExtensionPoint modelFactories) {
         this.factory = modelFactories.getFactory(ResourceImportExportFactory.class);
-        this.monitor = monitor;
     }
-    
+
     /**
-     * Report a warning.
-     * 
+     * Report a error.
+     *
      * @param problems
      * @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 = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
+	        Problem problem = monitor.createProblem(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
 	        monitor.problem(problem);
     	 }
      }
-     
-     /**
-      * Report a exception.
-      * 
-      * @param problems
-      * @param message
-      * @param model
-      */
-     private void error(String message, Object model, Exception ex) {
-         if (monitor != null) {
-             Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, ex);
-             monitor.problem(problem);
-         }
-     }
-    
+
     public QName getArtifactType() {
-        return IMPORT_RESOURCE;
+        return ResourceImport.TYPE;
     }
-    
+
     public Class<ResourceImport> getModelType() {
         return ResourceImport.class;
     }
@@ -100,26 +80,26 @@ public class ResourceImportProcessor  im
     /**
      * Process <import.resource uri="" location=""/>
      */
-    public ResourceImport read(XMLStreamReader reader) throws ContributionReadException {
+    public ResourceImport read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException {
     	ResourceImport resourceImport = this.factory.createResourceImport();
         QName element;
-        
+
         try {
             while (reader.hasNext()) {
                 int event = reader.getEventType();
                 switch (event) {
                     case START_ELEMENT:
                         element = reader.getName();
-    
+
                         // Read <import>
-                        if (IMPORT_RESOURCE.equals(element)) {
+                        if (ResourceImport.TYPE.equals(element)) {
                             String uri = reader.getAttributeValue(null, URI);
                             if (uri == null) {
-                            	error("AttributeURIMissing", reader);
+                            	error(context.getMonitor(), "AttributeURIMissing", reader);
                                 //throw new ContributionReadException("Attribute 'uri' is missing");
                             } else
                                 resourceImport.setURI(uri);
-    
+
                             String location = reader.getAttributeValue(null, LOCATION);
                             if (location != null) {
                                 resourceImport.setLocation(location);
@@ -127,12 +107,12 @@ public class ResourceImportProcessor  im
                         }
                         break;
                     case XMLStreamConstants.END_ELEMENT:
-                        if (IMPORT_RESOURCE.equals(reader.getName())) {
+                        if (ResourceImport.TYPE.equals(reader.getName())) {
                             return resourceImport;
                         }
-                        break;        
+                        break;
                 }
-                
+
                 // Read the next element
                 if (reader.hasNext()) {
                     reader.next();
@@ -141,28 +121,28 @@ public class ResourceImportProcessor  im
         }
         catch (XMLStreamException e) {
             ContributionReadException ex = new ContributionReadException(e);
-            error("XMLStreamException", reader, ex);
+            error(context.getMonitor(), "XMLStreamException", reader, ex);
         }
-        
+
         return resourceImport;
     }
 
-    public void write(ResourceImport resourceImport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-        
+    public void write(ResourceImport resourceImport, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException {
+
         // Write <import>
-        writer.writeStartElement(IMPORT_RESOURCE.getNamespaceURI(), IMPORT_RESOURCE.getLocalPart());
-        
+        writer.writeStartElement(ResourceImport.TYPE.getNamespaceURI(), ResourceImport.TYPE.getLocalPart());
+
         if (resourceImport.getURI() != null) {
             writer.writeAttribute(URI, resourceImport.getURI());
         }
         if (resourceImport.getLocation() != null) {
             writer.writeAttribute(LOCATION, resourceImport.getLocation());
         }
-        
+
         writer.writeEndElement();
     }
 
 
-    public void resolve(ResourceImport model, ModelResolver resolver) throws ContributionResolveException {
+    public void resolve(ResourceImport model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException {
     }
 }

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor Mon Sep  6 16:49:51 2010
@@ -5,15 +5,15 @@
 # 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. 
+# under the License.
 
-org.apache.tuscany.sca.contribution.resource.impl.ResourceImportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#import.resource,model=org.apache.tuscany.sca.contribution.resource.ResourceImport
-org.apache.tuscany.sca.contribution.resource.impl.ResourceExportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#export.resource,model=org.apache.tuscany.sca.contribution.resource.ResourceExport
+org.apache.tuscany.sca.contribution.resource.impl.ResourceImportProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.1#import.resource,model=org.apache.tuscany.sca.contribution.resource.ResourceImport
+org.apache.tuscany.sca.contribution.resource.impl.ResourceExportProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.1#export.resource,model=org.apache.tuscany.sca.contribution.resource.ResourceExport
\ No newline at end of file

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java Mon Sep  6 16:49:51 2010
@@ -6,81 +6,78 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource.impl;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import java.io.StringReader;
 
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamReader;
 
-import junit.framework.TestCase;
-
 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.resource.ResourceExport;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
 import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.monitor.Problem;
-import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl;
-import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
 /**
  * Test NamespaceExportProcessorTestCase
- *  
+ *
  * @version $Rev$ $Date$
  */
-public class ResourceExportProcessorTestCase extends TestCase {
+public class ResourceExportProcessorTestCase {
 
     private static final String VALID_XML =
-        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
-            + "<export.resource xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:ns=\"http://ns\" uri=\"helloworld/HelloWorldService.componentType\"/>";
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+            + "<export.resource xmlns=\"http://tuscany.apache.org/xmlns/sca/1.1\" xmlns:ns=\"http://ns\" uri=\"helloworld/HelloWorldService.componentType\"/>";
 
     private static final String INVALID_XML =
-        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
-            + "<export.resource xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:ns=\"http://ns\"/>";
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+            + "<export.resource xmlns=\"http://tuscany.apache.org/xmlns/sca/1.1\" xmlns:ns=\"http://ns\"/>";
 
-    private XMLInputFactory inputFactory;
-    private StAXArtifactProcessor<Object> staxProcessor;
-    private Monitor monitor;
+    private static XMLInputFactory inputFactory;
+    private static StAXArtifactProcessor<Object> staxProcessor;
+    private static Monitor monitor;
+    private static ProcessorContext context;
 
-    @Override
-    protected void setUp() throws Exception {
+    @BeforeClass
+    public static void setUp() throws Exception {
         ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
+        monitor = context.getMonitor();
         inputFactory = XMLInputFactory.newInstance();
-        // Create a monitor
-        UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
-        MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl();  
-        if (monitorFactory != null) {
-        	monitor = monitorFactory.createMonitor();
-        	utilities.addUtility(monitorFactory);
-        }
+
         StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
     }
 
     /**
      * Test loading a valid export element from a contribution metadata stream
      * @throws Exception
      */
+    @Test
     public void testLoad() throws Exception {
         XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML));
-        ResourceExport resourceExport = (ResourceExport)staxProcessor.read(reader);
+        ResourceExport resourceExport = (ResourceExport)staxProcessor.read(reader, context);
         assertEquals("helloworld/HelloWorldService.componentType", resourceExport.getURI());
     }
 
@@ -88,6 +85,7 @@ public class ResourceExportProcessorTest
      * Test loading an INVALID export element from a contribution metadata stream
      * @throws Exception
      */
+    @Test
     public void testLoadInvalid() throws Exception {
         XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML));
         /*try {
@@ -96,9 +94,9 @@ public class ResourceExportProcessorTest
         } catch (ContributionReadException e) {
             assertTrue(true);
         }*/
-        staxProcessor.read(reader);
-        Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem();           
+        staxProcessor.read(reader, context);
+        Problem problem = monitor.getLastProblem();
         assertNotNull(problem);
         assertEquals("AttributeURIMissing", problem.getMessageId());
-    }    
+    }
 }

Modified: tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java Mon Sep  6 16:49:51 2010
@@ -6,82 +6,79 @@
  * 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.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.contribution.resource.impl;
 
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import java.io.StringReader;
 
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamReader;
 
-import junit.framework.TestCase;
-
 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.resource.ResourceImport;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
 import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.monitor.Problem;
-import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl;
-import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
 /**
  * Test NamespaceImportProcessorTestCase
- * 
+ *
  * @version $Rev$ $Date$
  */
-public class ResourceImportProcessorTestCase extends TestCase {
+public class ResourceImportProcessorTestCase {
 
     private static final String VALID_XML =
-        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
-            + "<import.resource xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:ns=\"http://ns\" uri=\"helloworld/HelloWorldService.componentType\" location=\"sca://contributions/001\"/>";
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+            + "<import.resource xmlns=\"http://tuscany.apache.org/xmlns/sca/1.1\" xmlns:ns=\"http://ns\" uri=\"helloworld/HelloWorldService.componentType\" location=\"sca://contributions/001\"/>";
 
     private static final String INVALID_XML =
-        "<?xml version=\"1.0\" encoding=\"ASCII\"?>" 
-            + "<import.resource xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:ns=\"http://ns\" location=\"sca://contributions/001\"/>";
+        "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+            + "<import.resource xmlns=\"http://tuscany.apache.org/xmlns/sca/1.1\" xmlns:ns=\"http://ns\" location=\"sca://contributions/001\"/>";
 
-    private XMLInputFactory inputFactory;
-    private StAXArtifactProcessor<Object> staxProcessor;
-    private Monitor monitor;
-
-    @Override
-    protected void setUp() throws Exception {
-        ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+    private static XMLInputFactory inputFactory;
+    private static StAXArtifactProcessor<Object> staxProcessor;
+    private static Monitor monitor;
+    private static ProcessorContext context;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+    	ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+        context = new ProcessorContext(extensionPoints);
+        monitor = context.getMonitor();
         inputFactory = XMLInputFactory.newInstance();
-        // Create a monitor
-        UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
-        MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl();  
-        if (monitorFactory != null) {
-        	monitor = monitorFactory.createMonitor();
-        	utilities.addUtility(monitorFactory);
-        }
+
         StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+        staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null);
     }
 
     /**
      * Test loading a valid import element from a contribution metadata stream
      * @throws Exception
      */
+    @Test
     public void testLoad() throws Exception {
         XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML));
-        ResourceImport namespaceImport = (ResourceImport)staxProcessor.read(reader);
+        ResourceImport namespaceImport = (ResourceImport)staxProcessor.read(reader, context);
         assertEquals("helloworld/HelloWorldService.componentType", namespaceImport.getURI());
         assertEquals("sca://contributions/001", namespaceImport.getLocation());
     }
@@ -90,6 +87,7 @@ public class ResourceImportProcessorTest
      * Test loading a INVALID import element from a contribution metadata stream
      * @throws Exception
      */
+    @Test
     public void testLoadInvalid() throws Exception {
         XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML));
         /*try {
@@ -98,9 +96,9 @@ public class ResourceImportProcessorTest
         } catch (ContributionReadException e) {
             assertTrue(true);
         }*/
-        staxProcessor.read(reader);
-        Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem();           
+        staxProcessor.read(reader, context);
+        Problem problem = monitor.getLastProblem();
         assertNotNull(problem);
         assertEquals("AttributeURIMissing", problem.getMessageId());
-    }    
+    }
 }

Modified: tuscany/sca-java-2.x/trunk/modules/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/pom.xml?rev=993091&r1=993090&r2=993091&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/pom.xml Mon Sep  6 16:49:51 2010
@@ -64,6 +64,7 @@
         <module>common-java</module>
         <module>common-xml</module>
         <module>contribution</module>
+        <module>contribution-resource</module>
         <module>core</module>
         <module>core-databinding</module>
         <module>core-spi</module>