You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/04/05 03:09:15 UTC

svn commit: r525670 - in /incubator/tuscany/java/sca/modules: assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ assembly/src/main/java/org/apache/tuscany/assembly/util/ idl-java-xml/ idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/...

Author: jsdelfino
Date: Wed Apr  4 18:09:14 2007
New Revision: 525670

URL: http://svn.apache.org/viewvc?view=rev&rev=525670
Log:
Ported idl-java, idl-wsdl, and impl-java to the new contribution SPI.

Added:
    incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceProcessor.java   (with props)
    incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceProcessor.java   (with props)
    incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java   (with props)
Removed:
    incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceLoader.java
    incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceLoader.java
    incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationLoader.java
Modified:
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
    incubator/tuscany/java/sca/modules/idl-java-xml/pom.xml
    incubator/tuscany/java/sca/modules/idl-java-xml/src/test/java/org/apache/tuscany/idl/java/xml/ReadTestCase.java
    incubator/tuscany/java/sca/modules/idl-wsdl-xml/pom.xml
    incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/test/java/org/apache/tuscany/idl/wsdl/xml/ReadTestCase.java
    incubator/tuscany/java/sca/modules/impl-java-xml/src/test/java/org/apache/tuscany/implementation/java/xml/ReadTestCase.java

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java?view=diff&rev=525670&r1=525669&r2=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/assembly/xml/ReadAllTestCase.java Wed Apr  4 18:09:14 2007
@@ -152,7 +152,7 @@
         URL url = getClass().getClassLoader().getResource("TestAllCalculator.composite");
         Composite composite = registry.read(url, Composite.class);
         assertNotNull(composite);
-        new CompositeUtil(new DefaultAssemblyFactory(), composite).configure(null);
+        new CompositeUtil(composite).configure(null);
 
         Component calcComponent = composite.getComponents().get(0);
         CompositeService calcCompositeService = (CompositeService)composite.getServices().get(0);

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java?view=diff&rev=525670&r1=525669&r2=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java Wed Apr  4 18:09:14 2007
@@ -36,6 +36,7 @@
 import org.apache.tuscany.assembly.SCABinding;
 import org.apache.tuscany.assembly.Service;
 import org.apache.tuscany.assembly.Wire;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 
 /**
  * A temporary utility class that resolves wires in a composite.
@@ -50,6 +51,10 @@
     public CompositeUtil(AssemblyFactory assemblyFactory, Composite composite) {
         this.assemblyFactory = assemblyFactory;
         this.composite = composite;
+    }
+
+    public CompositeUtil(Composite composite) {
+        this(new DefaultAssemblyFactory(), composite);
     }
 
     public void configure(List<Base> problems) {

Modified: incubator/tuscany/java/sca/modules/idl-java-xml/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/idl-java-xml/pom.xml?view=diff&rev=525670&r1=525669&r2=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/idl-java-xml/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/idl-java-xml/pom.xml Wed Apr  4 18:09:14 2007
@@ -31,6 +31,12 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-contribution</artifactId>
+            <version>1.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-assembly-xml</artifactId>
             <version>1.0-incubating-SNAPSHOT</version>
         </dependency>

Added: incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceProcessor.java?view=auto&rev=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceProcessor.java Wed Apr  4 18:09:14 2007
@@ -0,0 +1,85 @@
+/*
+ * 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.idl.java.xml;
+
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.idl.java.JavaFactory;
+import org.apache.tuscany.idl.java.JavaInterface;
+import org.apache.tuscany.idl.java.impl.DefaultJavaFactory;
+import org.apache.tuscany.services.spi.contribution.ArtifactResolver;
+import org.apache.tuscany.services.spi.contribution.ContributionException;
+import org.apache.tuscany.services.spi.contribution.ContributionReadException;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessor;
+
+public class JavaInterfaceProcessor implements StAXArtifactProcessor<JavaInterface>, JavaConstants {
+
+    private JavaFactory javaFactory;
+
+    public JavaInterfaceProcessor(JavaFactory javaFactory) {
+        this.javaFactory = javaFactory;
+    }
+    
+    public JavaInterfaceProcessor() {
+        this(new DefaultJavaFactory());
+    }
+
+    public JavaInterface read(XMLStreamReader reader) throws ContributionReadException {
+        
+        try {
+    
+            // Read an <interface.java>
+            JavaInterface javaInterface = javaFactory.createJavaInterface();
+            javaInterface.setUnresolved(true);
+            javaInterface.setName(reader.getAttributeValue(null, INTERFACE));
+    
+            // Skip to end element
+            while (reader.hasNext()) {
+                if (reader.next() == END_ELEMENT && INTERFACE_JAVA_QNAME.equals(reader.getName())) {
+                    break;
+                }
+            }
+            return javaInterface;
+            
+        } catch (XMLStreamException e) {
+            throw new ContributionReadException(e);
+        }
+    }
+    
+    public void resolve(JavaInterface model, ArtifactResolver resolver) throws ContributionException {
+        // TODO Auto-generated method stub
+    }
+    
+    public void optimize(JavaInterface model) throws ContributionException {
+        // TODO Auto-generated method stub
+    }
+    
+    public QName getArtifactType() {
+        return INTERFACE_JAVA_QNAME;
+    }
+    
+    public Class<JavaInterface> getModelType() {
+        return JavaInterface.class;
+    }
+}

Propchange: incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/idl-java-xml/src/main/java/org/apache/tuscany/idl/java/xml/JavaInterfaceProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/idl-java-xml/src/test/java/org/apache/tuscany/idl/java/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/idl-java-xml/src/test/java/org/apache/tuscany/idl/java/xml/ReadTestCase.java?view=diff&rev=525670&r1=525669&r2=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/idl-java-xml/src/test/java/org/apache/tuscany/idl/java/xml/ReadTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/idl-java-xml/src/test/java/org/apache/tuscany/idl/java/xml/ReadTestCase.java Wed Apr  4 18:09:14 2007
@@ -26,21 +26,16 @@
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.ComponentType;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.assembly.ConstrainingType;
-import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.util.PrintUtil;
-import org.apache.tuscany.assembly.xml.LoaderRegistry;
-import org.apache.tuscany.assembly.xml.impl.ComponentTypeLoader;
-import org.apache.tuscany.assembly.xml.impl.CompositeLoader;
-import org.apache.tuscany.assembly.xml.impl.ConstrainingTypeLoader;
-import org.apache.tuscany.assembly.xml.impl.LoaderRegistryImpl;
-import org.apache.tuscany.idl.java.impl.DefaultJavaFactory;
-import org.apache.tuscany.policy.PolicyFactory;
-import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
+import org.apache.tuscany.assembly.xml.impl.ComponentTypeProcessor;
+import org.apache.tuscany.assembly.xml.impl.CompositeProcessor;
+import org.apache.tuscany.assembly.xml.impl.ConstrainingTypeProcessor;
+import org.apache.tuscany.services.spi.contribution.DefaultStAXArtifactProcessorRegistry;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessorRegistry;
 
 /**
  * Test the usability of the assembly model API when loading SCDL
@@ -50,57 +45,49 @@
 public class ReadTestCase extends TestCase {
 
     XMLInputFactory inputFactory;
-    AssemblyFactory assemblyFactory;
-    PolicyFactory policyFactory;
-    LoaderRegistry loaderRegistry;
+    StAXArtifactProcessorRegistry registry;
 
     public void setUp() throws Exception {
         inputFactory = XMLInputFactory.newInstance();
-        assemblyFactory = new DefaultAssemblyFactory();
-        policyFactory = new DefaultPolicyFactory();
-        loaderRegistry = new LoaderRegistryImpl();
+        registry = new DefaultStAXArtifactProcessorRegistry();
 
-        JavaInterfaceLoader javaReader = new JavaInterfaceLoader(new DefaultJavaFactory());
-        loaderRegistry.addLoader(JavaConstants.INTERFACE_JAVA_QNAME, javaReader);
+        JavaInterfaceProcessor javaProcessor = new JavaInterfaceProcessor();
+        registry.addArtifactProcessor(javaProcessor);
     }
 
     public void tearDown() throws Exception {
         inputFactory = null;
-        assemblyFactory = null;
-        policyFactory = null;
-        loaderRegistry = null;
+        registry = null;
     }
 
     public void testReadComponentType() throws Exception {
-        ComponentTypeLoader componentTypeReader = new ComponentTypeLoader(assemblyFactory, policyFactory,
-                                                                          loaderRegistry);
+        ComponentTypeProcessor componentTypeReader = new ComponentTypeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorImpl.componentType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ComponentType componentType = componentTypeReader.load(reader);
+        ComponentType componentType = componentTypeReader.read(reader);
         assertNotNull(componentType);
 
         new PrintUtil(System.out).print(componentType);
     }
 
     public void testReadConstrainingType() throws Exception {
-        ConstrainingTypeLoader constrainingTypeReader = new ConstrainingTypeLoader(assemblyFactory, policyFactory,
-                                                                                   loaderRegistry);
+        ConstrainingTypeProcessor constrainingTypeProcessor = new ConstrainingTypeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorComponent.constrainingType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ConstrainingType constrainingType = constrainingTypeReader.load(reader);
+        ConstrainingType constrainingType = constrainingTypeProcessor.read(reader);
         assertNotNull(constrainingType);
 
         new PrintUtil(System.out).print(constrainingType);
     }
 
     public void testReadComposite() throws Exception {
-        CompositeLoader compositeReader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
+        CompositeProcessor compositeProcessor = new CompositeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("Calculator.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = compositeReader.load(reader);
+        Composite composite = compositeProcessor.read(reader);
         assertNotNull(composite);
 
-        new CompositeUtil(assemblyFactory, composite).configure(null);
+        new CompositeUtil(composite).configure(null);
 
         new PrintUtil(System.out).print(composite);
     }

Modified: incubator/tuscany/java/sca/modules/idl-wsdl-xml/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/idl-wsdl-xml/pom.xml?view=diff&rev=525670&r1=525669&r2=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/idl-wsdl-xml/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/idl-wsdl-xml/pom.xml Wed Apr  4 18:09:14 2007
@@ -31,6 +31,12 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-contribution</artifactId>
+            <version>1.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-assembly-xml</artifactId>
             <version>1.0-incubating-SNAPSHOT</version>
         </dependency>

Added: incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceProcessor.java?view=auto&rev=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceProcessor.java Wed Apr  4 18:09:14 2007
@@ -0,0 +1,86 @@
+/*
+ * 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.idl.wsdl.xml;
+
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.idl.WSDLFactory;
+import org.apache.tuscany.idl.WSDLInterface;
+import org.apache.tuscany.idl.wsdl.impl.DefaultWSDLFactory;
+import org.apache.tuscany.services.spi.contribution.ArtifactResolver;
+import org.apache.tuscany.services.spi.contribution.ContributionException;
+import org.apache.tuscany.services.spi.contribution.ContributionReadException;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessor;
+
+public class WSDLInterfaceProcessor implements StAXArtifactProcessor<WSDLInterface>, WSDLConstants {
+
+    private WSDLFactory wsdlFactory;
+
+    public WSDLInterfaceProcessor(WSDLFactory wsdlFactory) {
+        this.wsdlFactory = wsdlFactory;
+    }
+    
+    public WSDLInterfaceProcessor() {
+        this(new DefaultWSDLFactory());
+    }
+
+    public WSDLInterface read(XMLStreamReader reader) throws ContributionReadException {
+        
+        try {
+    
+            // Read an <interface.java>
+            WSDLInterface wsdlInterface = wsdlFactory.createWSDLInterface();
+            wsdlInterface.setUnresolved(true);
+            // TODO handle qname
+            wsdlInterface.setName(new QName("", reader.getAttributeValue(null, INTERFACE)));
+    
+            // Skip to end element
+            while (reader.hasNext()) {
+                if (reader.next() == END_ELEMENT && INTERFACE_WSDL_QNAME.equals(reader.getName())) {
+                    break;
+                }
+            }
+            return wsdlInterface;
+            
+        } catch (XMLStreamException e) {
+            throw new ContributionReadException(e);
+        }
+    }
+    
+    public void resolve(WSDLInterface model, ArtifactResolver resolver) throws ContributionException {
+        // TODO Auto-generated method stub
+    }
+    
+    public void optimize(WSDLInterface model) throws ContributionException {
+        // TODO Auto-generated method stub
+    }
+    
+    public QName getArtifactType() {
+        return WSDLConstants.INTERFACE_WSDL_QNAME;
+    }
+    
+    public Class<WSDLInterface> getModelType() {
+        return WSDLInterface.class;
+    }
+}

Propchange: incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/main/java/org/apache/tuscany/idl/wsdl/xml/WSDLInterfaceProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/test/java/org/apache/tuscany/idl/wsdl/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/test/java/org/apache/tuscany/idl/wsdl/xml/ReadTestCase.java?view=diff&rev=525670&r1=525669&r2=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/test/java/org/apache/tuscany/idl/wsdl/xml/ReadTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/idl-wsdl-xml/src/test/java/org/apache/tuscany/idl/wsdl/xml/ReadTestCase.java Wed Apr  4 18:09:14 2007
@@ -26,21 +26,16 @@
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.ComponentType;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.assembly.ConstrainingType;
-import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.util.PrintUtil;
-import org.apache.tuscany.assembly.xml.LoaderRegistry;
-import org.apache.tuscany.assembly.xml.impl.ComponentTypeLoader;
-import org.apache.tuscany.assembly.xml.impl.CompositeLoader;
-import org.apache.tuscany.assembly.xml.impl.ConstrainingTypeLoader;
-import org.apache.tuscany.assembly.xml.impl.LoaderRegistryImpl;
-import org.apache.tuscany.idl.wsdl.impl.DefaultWSDLFactory;
-import org.apache.tuscany.policy.PolicyFactory;
-import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
+import org.apache.tuscany.assembly.xml.impl.ComponentTypeProcessor;
+import org.apache.tuscany.assembly.xml.impl.CompositeProcessor;
+import org.apache.tuscany.assembly.xml.impl.ConstrainingTypeProcessor;
+import org.apache.tuscany.services.spi.contribution.DefaultStAXArtifactProcessorRegistry;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessorRegistry;
 
 /**
  * Test the usability of the assembly model API when loading SCDL
@@ -50,57 +45,49 @@
 public class ReadTestCase extends TestCase {
 
     XMLInputFactory inputFactory;
-    AssemblyFactory assemblyFactory;
-    PolicyFactory policyFactory;
-    LoaderRegistry loaderRegistry;
+    StAXArtifactProcessorRegistry registry;
 
     public void setUp() throws Exception {
         inputFactory = XMLInputFactory.newInstance();
-        assemblyFactory = new DefaultAssemblyFactory();
-        policyFactory = new DefaultPolicyFactory();
-        loaderRegistry = new LoaderRegistryImpl();
+        registry = new DefaultStAXArtifactProcessorRegistry();
 
-        WSDLInterfaceLoader wsdlReader = new WSDLInterfaceLoader(new DefaultWSDLFactory());
-        loaderRegistry.addLoader(WSDLConstants.INTERFACE_WSDL_QNAME, wsdlReader);
+        WSDLInterfaceProcessor wsdlProcessor = new WSDLInterfaceProcessor();
+        registry.addArtifactProcessor(wsdlProcessor);
     }
 
     public void tearDown() throws Exception {
         inputFactory = null;
-        assemblyFactory = null;
-        policyFactory = null;
-        loaderRegistry = null;
+        registry = null;
     }
 
     public void testReadComponentType() throws Exception {
-        ComponentTypeLoader componentTypeReader = new ComponentTypeLoader(assemblyFactory, policyFactory,
-                                                                          loaderRegistry);
+        ComponentTypeProcessor componentTypeProcessor = new ComponentTypeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorImpl.componentType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ComponentType componentType = componentTypeReader.load(reader);
+        ComponentType componentType = componentTypeProcessor.read(reader);
         assertNotNull(componentType);
 
         new PrintUtil(System.out).print(componentType);
     }
 
     public void testReadConstrainingType() throws Exception {
-        ConstrainingTypeLoader constrainingTypeReader = new ConstrainingTypeLoader(assemblyFactory, policyFactory,
-                                                                                   loaderRegistry);
+        ConstrainingTypeProcessor constrainingTypeProcessor = new ConstrainingTypeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorComponent.constrainingType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ConstrainingType constrainingType = constrainingTypeReader.load(reader);
+        ConstrainingType constrainingType = constrainingTypeProcessor.read(reader);
         assertNotNull(constrainingType);
 
         new PrintUtil(System.out).print(constrainingType);
     }
 
     public void testReadComposite() throws Exception {
-        CompositeLoader compositeReader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
+        CompositeProcessor compositeProcessor = new CompositeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("Calculator.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = compositeReader.load(reader);
+        Composite composite = compositeProcessor.read(reader);
         assertNotNull(composite);
 
-        new CompositeUtil(assemblyFactory, composite).configure(null);
+        new CompositeUtil(composite).configure(null);
 
         new PrintUtil(System.out).print(composite);
     }

Added: incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java?view=auto&rev=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java Wed Apr  4 18:09:14 2007
@@ -0,0 +1,86 @@
+/*
+ * 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.implementation.java.xml;
+
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.implementation.java.JavaImplementation;
+import org.apache.tuscany.implementation.java.JavaImplementationFactory;
+import org.apache.tuscany.implementation.java.impl.DefaultJavaImplementationFactory;
+import org.apache.tuscany.services.spi.contribution.ArtifactResolver;
+import org.apache.tuscany.services.spi.contribution.ContributionException;
+import org.apache.tuscany.services.spi.contribution.ContributionReadException;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessor;
+
+public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaImplementation>, JavaImplementationConstants {
+
+    private JavaImplementationFactory javaFactory;
+
+    public JavaImplementationProcessor(JavaImplementationFactory javaFactory) {
+        this.javaFactory = javaFactory;
+    }
+
+    public JavaImplementationProcessor() {
+        this(new DefaultJavaImplementationFactory(new DefaultAssemblyFactory()));
+    }
+
+    public JavaImplementation read(XMLStreamReader reader) throws ContributionReadException {
+
+        try {
+            
+            // Read an <interface.java>
+            JavaImplementation javaImplementation = javaFactory.createJavaImplementation();
+            javaImplementation.setUnresolved(true);
+            javaImplementation.setName(reader.getAttributeValue(null, CLASS));
+    
+            // Skip to end element
+            while (reader.hasNext()) {
+                if (reader.next() == END_ELEMENT && IMPLEMENTATION_JAVA_QNAME.equals(reader.getName())) {
+                    break;
+                }
+            }
+            return javaImplementation;
+            
+        } catch (XMLStreamException e) {
+            throw new ContributionReadException(e);
+        }
+    }
+    
+    public void resolve(JavaImplementation model, ArtifactResolver resolver) throws ContributionException {
+        // TODO Auto-generated method stub
+    }
+    
+    public void optimize(JavaImplementation model) throws ContributionException {
+        // TODO Auto-generated method stub
+    }
+    
+    public QName getArtifactType() {
+        return IMPLEMENTATION_JAVA_QNAME;
+    }
+    
+    public Class<JavaImplementation> getModelType() {
+        return JavaImplementation.class;
+    }
+}

Propchange: incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/impl-java-xml/src/main/java/org/apache/tuscany/implementation/java/xml/JavaImplementationProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/impl-java-xml/src/test/java/org/apache/tuscany/implementation/java/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/impl-java-xml/src/test/java/org/apache/tuscany/implementation/java/xml/ReadTestCase.java?view=diff&rev=525670&r1=525669&r2=525670
==============================================================================
--- incubator/tuscany/java/sca/modules/impl-java-xml/src/test/java/org/apache/tuscany/implementation/java/xml/ReadTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/impl-java-xml/src/test/java/org/apache/tuscany/implementation/java/xml/ReadTestCase.java Wed Apr  4 18:09:14 2007
@@ -26,21 +26,16 @@
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.ComponentType;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.assembly.ConstrainingType;
-import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.util.PrintUtil;
-import org.apache.tuscany.assembly.xml.LoaderRegistry;
-import org.apache.tuscany.assembly.xml.impl.ComponentTypeLoader;
-import org.apache.tuscany.assembly.xml.impl.CompositeLoader;
-import org.apache.tuscany.assembly.xml.impl.ConstrainingTypeLoader;
-import org.apache.tuscany.assembly.xml.impl.LoaderRegistryImpl;
-import org.apache.tuscany.implementation.java.impl.DefaultJavaImplementationFactory;
-import org.apache.tuscany.policy.PolicyFactory;
-import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
+import org.apache.tuscany.assembly.xml.impl.ComponentTypeProcessor;
+import org.apache.tuscany.assembly.xml.impl.CompositeProcessor;
+import org.apache.tuscany.assembly.xml.impl.ConstrainingTypeProcessor;
+import org.apache.tuscany.services.spi.contribution.DefaultStAXArtifactProcessorRegistry;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessorRegistry;
 
 /**
  * Test the usability of the assembly model API when loading SCDL
@@ -50,55 +45,49 @@
 public class ReadTestCase extends TestCase {
 
     XMLInputFactory inputFactory;
-    AssemblyFactory assemblyFactory;
-    PolicyFactory policyFactory;
-    LoaderRegistry loaderRegistry;
+    StAXArtifactProcessorRegistry registry;
     
     public void setUp() throws Exception {
         inputFactory = XMLInputFactory.newInstance();
-        assemblyFactory = new DefaultAssemblyFactory();
-        policyFactory = new DefaultPolicyFactory();
-        loaderRegistry = new LoaderRegistryImpl();
+        registry = new DefaultStAXArtifactProcessorRegistry();
 
-        JavaImplementationLoader javaReader = new JavaImplementationLoader(new DefaultJavaImplementationFactory(assemblyFactory));
-        loaderRegistry.addLoader(JavaImplementationConstants.IMPLEMENTATION_JAVA_QNAME, javaReader);
+        JavaImplementationProcessor javaProcessor = new JavaImplementationProcessor();
+        registry.addArtifactProcessor(javaProcessor);
     }
 
     public void tearDown() throws Exception {
         inputFactory = null;
-        assemblyFactory = null;
-        policyFactory = null;
-        loaderRegistry = null;
+        registry = null;
     }
 
     public void testReadComponentType() throws Exception {
-        ComponentTypeLoader componentTypeReader = new ComponentTypeLoader(assemblyFactory, policyFactory, loaderRegistry);
+        ComponentTypeProcessor componentTypeProcessor = new ComponentTypeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorImpl.componentType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ComponentType componentType = componentTypeReader.load(reader);
+        ComponentType componentType = componentTypeProcessor.read(reader);
         assertNotNull(componentType);
         
         new PrintUtil(System.out).print(componentType);
     }
 
     public void testReadConstrainingType() throws Exception {
-        ConstrainingTypeLoader constrainingTypeReader = new ConstrainingTypeLoader(assemblyFactory, policyFactory, loaderRegistry);
+        ConstrainingTypeProcessor constrainingTypeProcessor = new ConstrainingTypeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorComponent.constrainingType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        ConstrainingType constrainingType = constrainingTypeReader.load(reader);
+        ConstrainingType constrainingType = constrainingTypeProcessor.read(reader);
         assertNotNull(constrainingType);
 
         new PrintUtil(System.out).print(constrainingType);
     }
     
     public void testReadComposite() throws Exception {
-        CompositeLoader compositeReader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
+        CompositeProcessor compositeProcessor = new CompositeProcessor(registry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("Calculator.composite");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        Composite composite = compositeReader.load(reader);
+        Composite composite = compositeProcessor.read(reader);
         assertNotNull(composite);
 
-        new CompositeUtil(assemblyFactory, composite).configure(null);
+        new CompositeUtil(composite).configure(null);
 
         new PrintUtil(System.out).print(composite);
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org