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