summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/tags/java-M1-final/java/sca/databinding/sdo/src/test/java/org/apache/tuscany/databinding/sdo/LoaderTestSupport.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-1.x/tags/java-M1-final/java/sca/databinding/sdo/src/test/java/org/apache/tuscany/databinding/sdo/LoaderTestSupport.java')
-rw-r--r--sca-java-1.x/tags/java-M1-final/java/sca/databinding/sdo/src/test/java/org/apache/tuscany/databinding/sdo/LoaderTestSupport.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/sca-java-1.x/tags/java-M1-final/java/sca/databinding/sdo/src/test/java/org/apache/tuscany/databinding/sdo/LoaderTestSupport.java b/sca-java-1.x/tags/java-M1-final/java/sca/databinding/sdo/src/test/java/org/apache/tuscany/databinding/sdo/LoaderTestSupport.java
new file mode 100644
index 0000000000..821a7220dd
--- /dev/null
+++ b/sca-java-1.x/tags/java-M1-final/java/sca/databinding/sdo/src/test/java/org/apache/tuscany/databinding/sdo/LoaderTestSupport.java
@@ -0,0 +1,82 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as applicable
+ *
+ * Licensed 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.databinding.sdo;
+
+import java.io.StringReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.namespace.QName;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory;
+import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl;
+import org.apache.tuscany.core.loader.LoaderContext;
+import org.apache.tuscany.core.loader.assembly.*;
+import org.apache.tuscany.core.loader.impl.StAXLoaderRegistryImpl;
+import org.apache.tuscany.common.resource.ResourceLoader;
+import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
+import org.apache.tuscany.model.assembly.AssemblyContext;
+import org.apache.tuscany.model.assembly.impl.AssemblyContextImpl;
+
+/**
+ * Base class for loader tests with common fixture elements.
+ *
+ * @version $Rev$ $Date$
+ */
+public abstract class LoaderTestSupport extends TestCase {
+ protected SystemAssemblyFactory assemblyFactory;
+ protected ResourceLoader resourceLoader;
+ protected LoaderContext loaderContext;
+ protected AssemblyContext modelContext;
+ protected XMLInputFactory xmlFactory;
+ protected StAXLoaderRegistryImpl registry;
+
+ protected static final StAXLoaderRegistryImpl.Monitor NULL_MONITOR = new StAXLoaderRegistryImpl.Monitor() {
+ public void registeringLoader(QName xmlType) {
+ }
+
+ public void unregisteringLoader(QName xmlType) {
+ }
+
+ public void elementLoad(QName xmlType) {
+ }
+ };
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ assemblyFactory = new SystemAssemblyFactoryImpl();
+ resourceLoader = new ResourceLoaderImpl(getClass().getClassLoader());
+ loaderContext = new LoaderContext(resourceLoader);
+ modelContext = new AssemblyContextImpl(assemblyFactory, null, resourceLoader);
+ xmlFactory = XMLInputFactory.newInstance();
+ registry = new StAXLoaderRegistryImpl();
+ registry.setMonitor(org.apache.tuscany.databinding.sdo.LoaderTestSupport.NULL_MONITOR);
+ }
+
+ protected XMLStreamReader getReader(String xml) throws XMLStreamException {
+ XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(xml));
+ reader.next();
+ return reader;
+ }
+
+ protected void registerLoader(AbstractLoader<?> loader) {
+ loader.setFactory(assemblyFactory);
+ loader.setRegistry(registry);
+ loader.start();
+ }
+}