summaryrefslogtreecommitdiffstats
path: root/branches
diff options
context:
space:
mode:
Diffstat (limited to 'branches')
-rw-r--r--branches/sca-equinox/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java203
-rw-r--r--branches/sca-equinox/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/Node2FactoryImpl.java57
-rw-r--r--branches/sca-equinox/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/Node2ImplTestCase.java119
3 files changed, 0 insertions, 379 deletions
diff --git a/branches/sca-equinox/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java b/branches/sca-equinox/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java
deleted file mode 100644
index 2b0dbc88eb..0000000000
--- a/branches/sca-equinox/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * 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.node;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.osoa.sca.CallableReference;
-import org.osoa.sca.ServiceReference;
-import org.osoa.sca.ServiceRuntimeException;
-
-/**
- * A factory for SCA processing nodes. An SCA processing node can be loaded
- * with an SCA composite and the SCA contributions required by the composite.
- *
- * @version $Rev$ $Date$
- * @deprecated Use SCANodeFactory
- */
-@Deprecated
-public abstract class SCANode2Factory {
-
- public static class NodeProxy implements SCANode2, SCAClient {
- private Object node;
-
- private NodeProxy(Object node) {
- super();
- this.node = node;
- }
-
- public static <T> T createProxy(Class<T> type, Object node) {
- try {
- return type.getDeclaredConstructor(Object.class).newInstance(node);
- } catch (Exception e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- public <B, R extends CallableReference<B>> R cast(B target) throws IllegalArgumentException {
- try {
- return (R)node.getClass().getMethod("cast", Object.class).invoke(node, target);
- } catch (Throwable e) {
- handleException(e);
- return null;
- }
- }
-
- public <B> B getService(Class<B> businessInterface, String serviceName) {
- try {
- return (B)node.getClass().getMethod("getService", Class.class, String.class).invoke(node,
- businessInterface,
- serviceName);
- } catch (Throwable e) {
- handleException(e);
- return null;
- }
- }
-
- public <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String serviceName) {
- try {
- return (ServiceReference<B>)node.getClass().getMethod("getServiceReference", Class.class, String.class)
- .invoke(node, businessInterface, serviceName);
- } catch (Throwable e) {
- handleException(e);
- return null;
- }
- }
-
- public void start() {
- try {
- node.getClass().getMethod("start").invoke(node);
- } catch (Throwable e) {
- handleException(e);
- }
- }
-
- public void stop() {
- try {
- node.getClass().getMethod("stop").invoke(node);
- } catch (Throwable e) {
- handleException(e);
- }
- }
-
- private static void handleException(Throwable ex) {
- if (ex instanceof InvocationTargetException) {
- ex = ((InvocationTargetException)ex).getTargetException();
- }
- if (ex instanceof RuntimeException) {
- throw (RuntimeException)ex;
- }
- if (ex instanceof Error) {
- throw (Error)ex;
- } else {
- throw new RuntimeException(ex);
- }
- }
-
- }
-
- /**
- * Returns a new SCA node factory instance.
- *
- * @return a new SCA node factory
- */
- public static SCANode2Factory newInstance() {
- SCANode2Factory scaNodeFactory = null;
-
- try {
- final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- // Use reflection APIs to call ServiceDiscovery to avoid hard dependency to tuscany-extensibility
- try {
- Class<?> discoveryClass =
- Class.forName("org.apache.tuscany.sca.extensibility.ServiceDiscovery", true, classLoader);
- Object instance = discoveryClass.getMethod("getInstance").invoke(null);
- Class<?> factoryImplClass =
- (Class<?>)discoveryClass.getMethod("loadFirstServiceClass", Class.class)
- .invoke(instance, SCANode2Factory.class);
- if (factoryImplClass != null) {
- scaNodeFactory = (SCANode2Factory)factoryImplClass.newInstance();
- return scaNodeFactory;
- }
- } catch (ClassNotFoundException e) {
- // Ignore
- }
-
- // Fail back to default impl
- String className = "org.apache.tuscany.sca.node.impl.Node2FactoryImpl";
-
- Class<?> cls = Class.forName(className, true, classLoader);
- scaNodeFactory = (SCANode2Factory)cls.newInstance();
- return scaNodeFactory;
-
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- }
- }
-
- /**
- * Create a SCA node based on the discovery of the contribution on the classpath for the
- * given classloader. This method should be treated a convinient shortcut with the following
- * assumptions:
- * <ul>
- * <li>This is a standalone application and there is a deployable composite file on the classpath.
- * <li>There is only one contribution which contains the deployable composite file physically in its packaging hierarchy.
- * </ul>
- * @param compositeURI The URI of the composite file relative to the root of the enclosing contribution
- * @param classLoader The ClassLoader used to load the composite file as a resource. If the value is null,
- * then thread context classloader will be used
- * @return A newly created SCA node
- */
- public abstract SCANode2 createSCANodeFromClassLoader(String compositeURI, ClassLoader classLoader);
-
- /**
- * Creates a new SCA node from the configuration URL
- *
- * @param configurationURL the URL of the node configuration which is the ATOM feed
- * that contains the URI of the composite and a collection of URLs for the contributions
- *
- * @return a new SCA node.
- */
- public abstract SCANode2 createSCANodeFromURL(String configurationURL);
-
- /**
- * Creates a new SCA node.
- *
- * @param compositeURI the URI of the composite to use
- * @param contributions the URI of the contributions that provides the composites and related
- * artifacts. If the list is empty, then we will use the thread context classloader to discover
- * the contribution on the classpath
- *
- * @return a new SCA node.
- */
- public abstract SCANode2 createSCANode(String compositeURI, SCAContribution... contributions);
-
- /**
- * Creates a new SCA node.
- *
- * @param compositeURI the URI of the composite to use
- * @param compositeContent the XML content of the composite to use
- * @param contributions the URI of the contributions that provides the composites and related artifacts
- * @return a new SCA node.
- */
- public abstract SCANode2 createSCANode(String compositeURI,
- String compositeContent,
- SCAContribution... contributions);
-
-}
diff --git a/branches/sca-equinox/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/Node2FactoryImpl.java b/branches/sca-equinox/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/Node2FactoryImpl.java
deleted file mode 100644
index 419900c5ac..0000000000
--- a/branches/sca-equinox/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/Node2FactoryImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.node.impl;
-
-import org.apache.tuscany.sca.node.SCAContribution;
-import org.apache.tuscany.sca.node.SCANode2;
-import org.apache.tuscany.sca.node.SCANode2Factory;
-
-/**
- * Default implementation of an SCA node factory.
- *
- * @version $Rev$ $Date$
- * @deprecated
- */
-@Deprecated
-public class Node2FactoryImpl extends SCANode2Factory {
- public Node2FactoryImpl() {
- }
-
- @Override
- public SCANode2 createSCANodeFromClassLoader(String compositeURI, ClassLoader classLoader) {
- return new Node2Impl(classLoader, compositeURI);
- }
-
- @Override
- public SCANode2 createSCANodeFromURL(String configurationURI) {
- return new Node2Impl(configurationURI);
- }
-
- @Override
- public SCANode2 createSCANode(String compositeURI, SCAContribution... contributions) {
- return new Node2Impl(compositeURI, contributions);
- }
-
- @Override
- public SCANode2 createSCANode(String compositeURI, String compositeContent, SCAContribution... contributions) {
- return new Node2Impl(compositeURI, compositeContent, contributions);
- }
-
-}
diff --git a/branches/sca-equinox/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/Node2ImplTestCase.java b/branches/sca-equinox/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/Node2ImplTestCase.java
deleted file mode 100644
index 52d96dd72d..0000000000
--- a/branches/sca-equinox/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/Node2ImplTestCase.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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.node.impl;
-
-import hello.HelloWorld;
-
-import java.io.File;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.sca.node.SCAClient;
-import org.apache.tuscany.sca.node.SCAContribution;
-import org.apache.tuscany.sca.node.SCANode2;
-import org.apache.tuscany.sca.node.SCANode2Factory;
-import org.junit.Test;
-
-/**
- * Test case for Node2Impl
- */
-public class Node2ImplTestCase {
- private static String composite =
- "<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\"" + " xmlns:tuscany=\"http://tuscany.apache.org/xmlns/sca/1.0\""
- + " targetNamespace=\"http://sample/composite\""
- + " xmlns:sc=\"http://sample/composite\""
- + " name=\"HelloWorld\">"
- + " <component name=\"HelloWorld\">"
- + " <implementation.java class=\"hello.HelloWorldImpl\"/>"
- + " </component>"
- + " </composite>";
-
- @Test
- public void testNodeWithCompositeContent() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- SCAContribution contribution = new SCAContribution("c1", new File("target/test-classes").toURI().toString());
- SCANode2 node = factory.createSCANode("HelloWorld.composite", composite, contribution);
- testNode(node);
- }
-
- @Test
- public void testNodeWithCompositeContentAndNoContribution() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- SCANode2 node = factory.createSCANode("HelloWorld.composite", composite);
- testNode(node);
- }
-
- @Test
- public void testNodeWithoutCompositeURI() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- SCAContribution contribution = new SCAContribution("c1", new File("target/test-classes").toURI().toString());
- SCANode2 node = factory.createSCANode(null, contribution);
- testNode(node);
- }
-
- @Test
- public void testNodeWithCompositeURI() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- SCAContribution contribution = new SCAContribution("c1", new File("target/test-classes").toURI().toString());
- String compositeURI = new File("target/test-classes/HelloWorld.composite").toURI().toString();
- SCANode2 node = factory.createSCANode(compositeURI, contribution);
- testNode(node);
- }
-
- @Test
- public void testNodeWithRelativeCompositeURI() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- SCAContribution contribution = new SCAContribution("c1", new File("target/test-classes").toURI().toString());
- String compositeURI = "HelloWorld.composite";
- SCANode2 node = factory.createSCANode(compositeURI, contribution);
- testNode(node);
- }
-
- @Test
- public void testNodeWithRelativeCompositeURIAndNoContribution() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- String compositeURI = "HelloWorld.composite";
- SCANode2 node = factory.createSCANode(compositeURI, new SCAContribution[0]);
- testNode(node);
- }
-
- @Test
- public void testNodeWithClassLoader() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- String compositeURI = "HelloWorld.composite";
- SCANode2 node = factory.createSCANodeFromClassLoader(compositeURI, HelloWorld.class.getClassLoader());
- testNode(node);
- }
-
- @Test
- public void testNodeWithClassLoaderAndNullComposite() {
- SCANode2Factory factory = SCANode2Factory.newInstance();
- SCANode2 node = factory.createSCANodeFromClassLoader(null, HelloWorld.class.getClassLoader());
- testNode(node);
- }
-
- private void testNode(SCANode2 node) {
- node.start();
- HelloWorld hw = ((SCAClient)node).getService(HelloWorld.class, "HelloWorld");
- Assert.assertEquals("Hello, Node", hw.hello("Node"));
- node.stop();
- }
-
-}