You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/03/31 19:31:43 UTC

svn commit: r524457 - in /incubator/tuscany/java/sca/scdl4j/stax/src: main/java/org/apache/tuscany/scdl/stax/impl/ test/java/org/apache/tuscany/scdl/stax/impl/

Author: rfeng
Date: Sat Mar 31 10:31:42 2007
New Revision: 524457

URL: http://svn.apache.org/viewvc?view=rev&rev=524457
Log:
Add the default loaders to the LoaderRegistryImpl

Modified:
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java
    incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java
    incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java
    incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java?view=diff&rev=524457&r1=524456&r2=524457
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ComponentTypeLoader.java Sat Mar 31 10:31:42 2007
@@ -26,6 +26,7 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.assembly.model.AssemblyFactory;
+import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.Callback;
 import org.apache.tuscany.assembly.model.ComponentService;
 import org.apache.tuscany.assembly.model.ComponentType;
@@ -35,6 +36,7 @@
 import org.apache.tuscany.assembly.model.Service;
 import org.apache.tuscany.policy.model.PolicyFactory;
 import org.apache.tuscany.scdl.stax.Constants;
+import org.apache.tuscany.scdl.stax.Loader;
 import org.apache.tuscany.scdl.stax.LoaderRegistry;
 
 /**
@@ -42,13 +44,13 @@
  * 
  * @version $Rev$ $Date$
  */
-public class ComponentTypeLoader extends BaseLoader {
+public class ComponentTypeLoader extends BaseLoader implements Loader<ComponentType> {
 
     public ComponentTypeLoader(AssemblyFactory factory, PolicyFactory policyFactory, LoaderRegistry registry) {
         super(factory, policyFactory, registry);
     }
 
-    public ComponentType load(XMLStreamReader reader) throws XMLStreamException {
+    public ComponentType load(Base parent, XMLStreamReader reader) throws XMLStreamException {
         ComponentType componentType = null;
         Service service = null;
         Reference reference = null;

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java?view=diff&rev=524457&r1=524456&r2=524457
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/CompositeLoader.java Sat Mar 31 10:31:42 2007
@@ -28,6 +28,7 @@
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.assembly.model.AssemblyFactory;
+import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.Callback;
 import org.apache.tuscany.assembly.model.Component;
 import org.apache.tuscany.assembly.model.ComponentProperty;
@@ -41,6 +42,7 @@
 import org.apache.tuscany.assembly.model.Wire;
 import org.apache.tuscany.policy.model.PolicyFactory;
 import org.apache.tuscany.scdl.stax.Constants;
+import org.apache.tuscany.scdl.stax.Loader;
 import org.apache.tuscany.scdl.stax.LoaderRegistry;
 
 /**
@@ -48,13 +50,13 @@
  * 
  * @version $Rev$ $Date$
  */
-public class CompositeLoader extends BaseLoader implements Constants {
+public class CompositeLoader extends BaseLoader implements Loader<Composite> {
 
     public CompositeLoader(AssemblyFactory factory, PolicyFactory policyFactory, LoaderRegistry registry) {
         super(factory, policyFactory, registry);
     }
 
-    public Composite load(XMLStreamReader reader) throws XMLStreamException {
+    public Composite load(Base parent, XMLStreamReader reader) throws XMLStreamException {
         Composite composite = null;
         Composite include = null;
         Component component = null;

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java?view=diff&rev=524457&r1=524456&r2=524457
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/ConstrainingTypeLoader.java Sat Mar 31 10:31:42 2007
@@ -30,9 +30,11 @@
 import org.apache.tuscany.assembly.model.AbstractReference;
 import org.apache.tuscany.assembly.model.AbstractService;
 import org.apache.tuscany.assembly.model.AssemblyFactory;
+import org.apache.tuscany.assembly.model.Base;
 import org.apache.tuscany.assembly.model.ConstrainingType;
 import org.apache.tuscany.policy.model.PolicyFactory;
 import org.apache.tuscany.scdl.stax.Constants;
+import org.apache.tuscany.scdl.stax.Loader;
 import org.apache.tuscany.scdl.stax.LoaderRegistry;
 
 /**
@@ -40,7 +42,7 @@
  * 
  * @version $Rev$ $Date$
  */
-public class ConstrainingTypeLoader extends BaseLoader {
+public class ConstrainingTypeLoader extends BaseLoader implements Loader<ConstrainingType>{
 
     public ConstrainingTypeLoader(AssemblyFactory factory,
                                   PolicyFactory policyFactory,
@@ -48,7 +50,7 @@
         super(factory, policyFactory, registry);
     }
 
-    public ConstrainingType load(XMLStreamReader reader) throws XMLStreamException {
+    public ConstrainingType load(Base parent, XMLStreamReader reader) throws XMLStreamException {
         ConstrainingType constrainingType = null;
         AbstractService abstractService = null;
         AbstractReference abstractReference = null;

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java?view=diff&rev=524457&r1=524456&r2=524457
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/main/java/org/apache/tuscany/scdl/stax/impl/LoaderRegistryImpl.java Sat Mar 31 10:31:42 2007
@@ -30,7 +30,12 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
+import org.apache.tuscany.assembly.model.AssemblyFactory;
 import org.apache.tuscany.assembly.model.Base;
+import org.apache.tuscany.assembly.model.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.policy.model.PolicyFactory;
+import org.apache.tuscany.policy.model.impl.DefaultPolicyFactory;
+import org.apache.tuscany.scdl.stax.Constants;
 import org.apache.tuscany.scdl.stax.InvalidConfigurationException;
 import org.apache.tuscany.scdl.stax.Loader;
 import org.apache.tuscany.scdl.stax.LoaderException;
@@ -45,7 +50,31 @@
 public class LoaderRegistryImpl implements LoaderRegistry {
     private final Map<QName, Loader> loaders = new HashMap<QName, Loader>();
 
+    private AssemblyFactory assemblyFactory;
+    private PolicyFactory policyFactory;
+    private XMLInputFactory factory;
+
+    /**
+     * @param assemblyFactory
+     * @param policyFactory
+     * @param factory
+     */
+    public LoaderRegistryImpl(AssemblyFactory assemblyFactory, PolicyFactory policyFactory, XMLInputFactory factory) {
+        super();
+        this.assemblyFactory = assemblyFactory;
+        this.policyFactory = policyFactory;
+        this.factory = factory;
+        init();
+    }
+
     public LoaderRegistryImpl() {
+        this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), XMLInputFactory.newInstance());
+    }
+
+    public final void init() {
+        addLoader(Constants.COMPOSITE_QNAME, new CompositeLoader(assemblyFactory, policyFactory, this));
+        addLoader(Constants.COMPONENT_TYPE_QNAME, new ComponentTypeLoader(assemblyFactory, policyFactory, this));
+        addLoader(Constants.CONSTRAINING_TYPE_QNAME, new ConstrainingTypeLoader(assemblyFactory, policyFactory, this));
     }
 
     public Base load(Base object, XMLStreamReader reader) throws XMLStreamException {
@@ -56,7 +85,7 @@
             // throw new IllegalArgumentException(name.toString());
             return null;
         }
-        return (Base) loader.load(object, reader);
+        return (Base)loader.load(object, reader);
     }
 
     public <MO extends Base> MO load(Base object, URL url, Class<MO> type) throws LoaderException {
@@ -65,7 +94,6 @@
             InputStream is;
             is = url.openStream();
             try {
-                XMLInputFactory factory = XMLInputFactory.newInstance();
                 reader = factory.createXMLStreamReader(is);
                 try {
                     reader.nextTag();
@@ -106,12 +134,26 @@
         }
     }
 
-    public void addLoader(QName element, Loader loader) {
+    public final void addLoader(QName element, Loader loader) {
         loaders.put(element, loader);
     }
 
     public Loader getLoader(QName element) {
         return loaders.get(element);
+    }
+
+    /**
+     * @return the assemblyFactory
+     */
+    public AssemblyFactory getAssemblyFactory() {
+        return assemblyFactory;
+    }
+
+    /**
+     * @return the policyFactory
+     */
+    public PolicyFactory getPolicyFactory() {
+        return policyFactory;
     }
 
 }

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java?view=diff&rev=524457&r1=524456&r2=524457
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadAllTestCase.java Sat Mar 31 10:31:42 2007
@@ -19,15 +19,12 @@
 
 package org.apache.tuscany.scdl.stax.impl;
 
-import java.io.InputStream;
+import java.net.URL;
 
 import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.assembly.model.AssemblyFactory;
 import org.apache.tuscany.assembly.model.Callback;
 import org.apache.tuscany.assembly.model.Component;
 import org.apache.tuscany.assembly.model.ComponentReference;
@@ -37,14 +34,9 @@
 import org.apache.tuscany.assembly.model.CompositeService;
 import org.apache.tuscany.assembly.model.Multiplicity;
 import org.apache.tuscany.assembly.model.Property;
-import org.apache.tuscany.assembly.model.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.util.PrintUtil;
-import org.apache.tuscany.policy.model.PolicyFactory;
-import org.apache.tuscany.policy.model.impl.DefaultPolicyFactory;
-import org.apache.tuscany.scdl.stax.LoaderRegistry;
-import org.apache.tuscany.scdl.stax.impl.CompositeLoader;
-import org.apache.tuscany.scdl.stax.impl.LoaderRegistryImpl;
+import org.apache.tuscany.scdl.stax.Constants;
 
 /**
  * Test the usability of the assembly model API when loading SCDL
@@ -52,33 +44,19 @@
  * @version $Rev$ $Date$
  */
 public class ReadAllTestCase extends TestCase {
-
-    private XMLInputFactory inputFactory;
-    private AssemblyFactory assemblyFactory;
-    private PolicyFactory policyFactory;
-    private LoaderRegistry loaderRegistry;
+    private LoaderRegistryImpl loaderRegistry;
 
     public void setUp() throws Exception {
-        inputFactory = XMLInputFactory.newInstance();
-        assemblyFactory = new DefaultAssemblyFactory();
-        policyFactory = new DefaultPolicyFactory();
         loaderRegistry = new LoaderRegistryImpl();
     }
 
     public void tearDown() throws Exception {
-        assemblyFactory = null;
-        policyFactory = null;
-        inputFactory = null;
         loaderRegistry = null;
     }
 
     public void testReadComposite() throws Exception {
-        InputStream is = getClass().getClassLoader().getResourceAsStream("TestAllCalculator.composite");
-        CompositeLoader loader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
-        XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-
-        Composite composite = loader.load(reader);
-        is.close();
+        URL url = getClass().getClassLoader().getResource("TestAllCalculator.composite");
+        Composite composite = loaderRegistry.load(null, url, Composite.class);
         assertNotNull(composite);
         assertEquals(composite.getName(), new QName("http://calc", "TestAllCalculator"));
         assertEquals(composite.getConstrainingType().getName(), new QName("http://calc", "Calculator"));
@@ -155,18 +133,14 @@
         assertNotNull(calcCallback);
         // TODO test operations
 
-        new PrintUtil(System.out).print(loader);
+        new PrintUtil(System.out).print(loaderRegistry.getLoader(Constants.COMPOSITE_QNAME));
     }
 
     public void testReadCompositeAndWireIt() throws Exception {
-        InputStream is = getClass().getClassLoader().getResourceAsStream("TestAllCalculator.composite");
-        CompositeLoader loader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
-        XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-
-        Composite composite = loader.load(reader);
-        is.close();
+        URL url = getClass().getClassLoader().getResource("TestAllCalculator.composite");
+        Composite composite = loaderRegistry.load(null, url, Composite.class);
         assertNotNull(composite);
-        new CompositeUtil(assemblyFactory, composite).configure(null);
+        new CompositeUtil(loaderRegistry.getAssemblyFactory(), composite).configure(null);
 
         Component calcComponent = composite.getComponents().get(0);
         CompositeService calcCompositeService = (CompositeService)composite.getServices().get(0);

Modified: incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java?view=diff&rev=524457&r1=524456&r2=524457
==============================================================================
--- incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java (original)
+++ incubator/tuscany/java/sca/scdl4j/stax/src/test/java/org/apache/tuscany/scdl/stax/impl/ReadTestCase.java Sat Mar 31 10:31:42 2007
@@ -66,7 +66,7 @@
         ComponentTypeLoader loader = new ComponentTypeLoader(assemblyFactory, policyFactory, loaderRegistry);
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorImpl.componentType");
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(reader));
+        assertNotNull(loader.load(null, reader));
         is.close();
     }
 
@@ -74,7 +74,7 @@
         InputStream is = getClass().getClassLoader().getResourceAsStream("CalculatorComponent.constrainingType");
         ConstrainingTypeLoader loader = new ConstrainingTypeLoader(assemblyFactory, policyFactory, loaderRegistry);
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(reader));
+        assertNotNull(loader.load(null, reader));
         is.close();
 
     }
@@ -89,7 +89,7 @@
         InputStream is = getClass().getClassLoader().getResourceAsStream("Calculator.composite");
         CompositeLoader loader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(reader));
+        assertNotNull(loader.load(null, reader));
         is.close();
 
     }
@@ -98,7 +98,7 @@
         InputStream is = getClass().getClassLoader().getResourceAsStream("Calculator.composite");
         CompositeLoader loader = new CompositeLoader(assemblyFactory, policyFactory, loaderRegistry);
         XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-        assertNotNull(loader.load(reader));
+        assertNotNull(loader.load(null, reader));
         is.close();
     }
 



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