summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/trunk/modules/implementation-jee/src/test
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-13 01:42:27 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-13 01:42:27 +0000
commit3c7c4a749baafcf375f4785a7668d3a25c9063e3 (patch)
treea66b8b031c5dc6c7744f44b44b6bcd371bd0b8df /sca-java-1.x/trunk/modules/implementation-jee/src/test
parenteb03ff672236cddf65533f39b83ddd5e2984a2bb (diff)
Moving 1.x trunk
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835700 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/trunk/modules/implementation-jee/src/test')
-rw-r--r--sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java88
-rw-r--r--sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java68
-rw-r--r--sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/Helloworld.java25
-rw-r--r--sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/MockImplementationProviderFactory.java44
-rw-r--r--sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory19
-rw-r--r--sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite32
6 files changed, 276 insertions, 0 deletions
diff --git a/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java
new file mode 100644
index 0000000000..471ce480a0
--- /dev/null
+++ b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java
@@ -0,0 +1,88 @@
+/*
+ * 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.sca.implementation.jee.xml;
+
+import java.io.InputStream;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.assembly.AssemblyFactory;
+import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.assembly.SCABindingFactory;
+import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
+import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
+import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.implementation.jee.impl.JEEImplementationImpl;
+import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
+import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
+import org.apache.tuscany.sca.policy.PolicySet;
+
+/**
+ * Test reading JEE implementations.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ReadTestCase extends TestCase {
+
+ private XMLInputFactory inputFactory;
+ private StAXArtifactProcessor<Object> staxProcessor;
+ private CompositeBuilder compositeBuilder;
+
+ @Override
+ public void setUp() throws Exception {
+ DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+ inputFactory = XMLInputFactory.newInstance();
+ StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
+ staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
+
+ ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
+ AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
+ SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
+ UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
+ InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class);
+ IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
+ compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null);
+ }
+
+ public void testReadComposite() throws Exception {
+ InputStream is = getClass().getResourceAsStream("TestJEE.composite");
+ XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
+ Composite composite = (Composite) staxProcessor.read(reader);
+ assertNotNull(composite);
+
+ compositeBuilder.build(composite);
+ JEEImplementationImpl implementation = (JEEImplementationImpl) composite.getComponents().get(0).getImplementation();
+
+ assertTrue(implementation.getArchive().equals("myarchive.ear"));
+ PolicySet policySet = implementation.getPolicySets().get(0);
+ assertEquals(new QName("http://sample/test-policy", "allowRole1"), policySet.getName());
+ }
+
+}
diff --git a/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java
new file mode 100644
index 0000000000..1ec1e928d2
--- /dev/null
+++ b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java
@@ -0,0 +1,68 @@
+/*
+ * 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.sca.implementation.jee.xml;
+
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
+
+/**
+ * Test reading/write JEE implementations.
+ *
+ * @version $Rev$ $Date$
+ */
+public class WriteTestCase extends TestCase {
+
+ private XMLInputFactory inputFactory;
+ private XMLOutputFactory outputFactory;
+ private StAXArtifactProcessor<Object> staxProcessor;
+
+ @Override
+ public void setUp() throws Exception {
+ DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
+ inputFactory = XMLInputFactory.newInstance();
+ outputFactory = XMLOutputFactory.newInstance();
+ StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
+ staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
+ }
+
+ public void testReadWriteComposite() throws Exception {
+ InputStream is = getClass().getResourceAsStream("TestJEE.composite");
+ Composite composite = (Composite) staxProcessor.read(inputFactory.createXMLStreamReader(is));
+ assertNotNull(composite);
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
+
+ assertTrue(bos.toString().contains("archive=\"myarchive.ear\""));
+ assertTrue(bos.toString().contains("allowRole1"));
+ }
+
+}
diff --git a/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/Helloworld.java b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/Helloworld.java
new file mode 100644
index 0000000000..2cb6886b31
--- /dev/null
+++ b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/Helloworld.java
@@ -0,0 +1,25 @@
+/*
+ * 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 test;
+
+public interface Helloworld {
+
+ String getGreetings(String name);
+}
diff --git a/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/MockImplementationProviderFactory.java b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/MockImplementationProviderFactory.java
new file mode 100644
index 0000000000..5b9b2a890b
--- /dev/null
+++ b/sca-java-1.x/trunk/modules/implementation-jee/src/test/java/test/MockImplementationProviderFactory.java
@@ -0,0 +1,44 @@
+/*
+ * 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 test;
+
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.implementation.jee.JEEImplementation;
+import org.apache.tuscany.sca.provider.ImplementationProvider;
+import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
+import org.apache.tuscany.sca.runtime.RuntimeComponent;
+
+public class MockImplementationProviderFactory implements ImplementationProviderFactory<JEEImplementation>{
+
+ public MockImplementationProviderFactory(ExtensionPointRegistry extensionPoints) {
+
+ }
+
+
+ public ImplementationProvider createImplementationProvider(RuntimeComponent component,
+ JEEImplementation Implementation) {
+ return null;
+ }
+
+ public Class<JEEImplementation> getModelType() {
+ return null;
+ }
+
+}
diff --git a/sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
new file mode 100644
index 0000000000..0a7205ab61
--- /dev/null
+++ b/sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for the implementation extension
+test.MockImplementationProviderFactory;model=org.apache.tuscany.sca.implementation.jee.JEEImplementation
diff --git a/sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite b/sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite
new file mode 100644
index 0000000000..edd694a5e2
--- /dev/null
+++ b/sca-java-1.x/trunk/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite
@@ -0,0 +1,32 @@
+<?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.
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://sample/jee"
+ xmlns:sc="http://sample/composite"
+ xmlns:test="http://sample/test-policy"
+ name="TestJEE">
+
+ <component name="TestJEE">
+ <implementation.jee archive="myarchive.ear" policySets="test:allowRole1"/>
+ </component>
+</composite>