From 743364ae6439cfc68e1eae795fc2065a9c148240 Mon Sep 17 00:00:00 2001 From: antelder Date: Thu, 19 Mar 2009 09:20:17 +0000 Subject: Delete old test tag git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@755884 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/tuscany/sca/node/Client.java | 71 -------- .../org/apache/tuscany/sca/node/Contribution.java | 54 ------ .../sca/node/ContributionLocationHelper.java | 101 ----------- .../java/org/apache/tuscany/sca/node/Node.java | 47 ----- .../org/apache/tuscany/sca/node/NodeFactory.java | 199 --------------------- .../org/apache/tuscany/sca/node/NodeMain2.java | 56 ------ 6 files changed, 528 deletions(-) delete mode 100644 sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Client.java delete mode 100644 sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Contribution.java delete mode 100644 sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java delete mode 100644 sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java delete mode 100644 sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java delete mode 100644 sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeMain2.java (limited to 'sandbox/ant/sca/tags/2.0-M2/modules/node-api/src') diff --git a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Client.java b/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Client.java deleted file mode 100644 index 84c1e09126..0000000000 --- a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Client.java +++ /dev/null @@ -1,71 +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 org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ServiceReference; - - -/** - * Provides client access to the services in a domain. - * - * @version $Rev$ $Date$ - */ -public interface Client { - - /** - * Cast a type-safe reference to a CallableReference. Converts a type-safe - * reference to an equivalent CallableReference; if the target refers to a - * service then a ServiceReference will be returned, if the target refers to - * a callback then a CallableReference will be returned. - * - * @param target a reference proxy provided by the SCA runtime - * @param the Java type of the business interface for the reference - * @param the type of reference to be returned - * @return a CallableReference equivalent for the proxy - * @throws IllegalArgumentException if the supplied instance is not a - * reference supplied by the SCA runtime - */ - > R cast(B target) throws IllegalArgumentException; - - /** - * Returns a proxy for a service provided by a component in the SCA domain. - * - * @param businessInterface the interface that will be used to invoke the - * service - * @param serviceName the name of the service - * @param the Java type of the business interface for the service - * @return an object that implements the business interface - */ - B getService(Class businessInterface, String serviceName); - - /** - * Returns a ServiceReference for a service provided by a component in the - * SCA domain. - * - * @param businessInterface the interface that will be used to invoke the - * service - * @param serviceName the name of the service - * @param the Java type of the business interface for the service - * @return a ServiceReference for the designated service - */ - ServiceReference getServiceReference(Class businessInterface, String serviceName); - -} \ No newline at end of file diff --git a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Contribution.java b/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Contribution.java deleted file mode 100644 index f69e18dc63..0000000000 --- a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Contribution.java +++ /dev/null @@ -1,54 +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; - -/** - * Represents an SCA contribution uri + location. - */ -public final class Contribution { - private String uri; - private String location; - - /** - * Constructs a new SCA contribution. - * - * @param uri The URI that uniquely identifies the contribution in the SCA domain - * @param location The URL of the contribution archive - */ - public Contribution(String uri, String location) { - this.uri = uri; - this.location = location; - } - - /** - * Get the URI of the contribution - * @return The URI that uniquely identifies the contribution in the SCA domain - */ - public String getURI() { - return uri; - } - - /** - * The location of the contribution - * @return The URL of the contribution archive - */ - public String getLocation() { - return location; - } -} \ No newline at end of file diff --git a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java b/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java deleted file mode 100644 index 96a25dfa63..0000000000 --- a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/ContributionLocationHelper.java +++ /dev/null @@ -1,101 +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.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; - -/** - * ContributionLocationHelper - * - * @version $Rev$ $Date$ - */ -public class ContributionLocationHelper { - - /** - * Returns the location of the SCA contribution containing the given class. - * - * @param anchorClass - * @return - */ - public static String getContributionLocation(final Class anchorClass) { - URL url = AccessController.doPrivileged(new PrivilegedAction() { - public URL run() { - return anchorClass.getProtectionDomain().getCodeSource().getLocation(); - } - }); - String uri = url.toString(); - return uri; - } - - /** - * Find the contribution location by seraching a resource on the classpath - * @param resourceName - * @return - */ - public static String getContributionLocation(String resourceName) { - return getContributionLocation(null, resourceName); - - } - - /** - * Find the contribution location by seraching a resource using the given classloader - * @param classLoader - * @param resourceName - * @return - */ - public static String getContributionLocation(ClassLoader classLoader, String resourceName) { - if (classLoader == null) { - classLoader = AccessController.doPrivileged(new PrivilegedAction() { - public ClassLoader run() { - return Thread.currentThread().getContextClassLoader(); - } - }); - } - URL resourceURL = getResource(classLoader, resourceName); - if (resourceURL == null) { - return null; - } - String location = null; - // "jar:file://....../something.jar!/a/b/c/app.composite" - String url = resourceURL.toExternalForm(); - String protocol = resourceURL.getProtocol(); - if ("file".equals(protocol)) { - // directory contribution - if (url.endsWith(resourceName)) { - location = url.substring(0, url.lastIndexOf(resourceName)); - } - } else if ("jar".equals(protocol) || "wsjar".equals(protocol) || "zip".equals(protocol)) { - // jar contribution - location = url.substring(protocol.length() + 1, url.lastIndexOf("!/")); - } - return location; - } - - private static URL getResource(final ClassLoader classLoader, final String compositeURI) { - return AccessController.doPrivileged(new PrivilegedAction() { - public URL run() { - return classLoader.getResource(compositeURI); - } - }); - } - -} diff --git a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java b/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java deleted file mode 100644 index 3f4998bcc9..0000000000 --- a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java +++ /dev/null @@ -1,47 +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; - - - -/** - * Represents an SCA processing node. - * A node is loaded with an SCA composites. It can start and stop that composite. - * - * @version $Rev$ $Date$ - */ -public interface Node extends Client { - - /** - * Start the composite loaded in the node. - */ - void start(); - - /** - * Stop the composite loaded in the node. - */ - void stop(); - - /** - * Destroy the node. - */ - void destroy(); - -} diff --git a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java b/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java deleted file mode 100644 index 426c32bd49..0000000000 --- a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java +++ /dev/null @@ -1,199 +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.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.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$ - */ -public abstract class NodeFactory { - - public static class NodeProxy implements Node, Client { - private Object node; - - private NodeProxy(Object node) { - super(); - this.node = node; - } - - public static T createProxy(Class type, Object node) { - try { - return type.getDeclaredConstructor(Object.class).newInstance(node); - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } - - public > 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 getService(Class 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 ServiceReference getServiceReference(Class businessInterface, String serviceName) { - try { - return (ServiceReference)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); - } - } - - public void destroy() { - try { - node.getClass().getMethod("destroy").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 NodeFactory newInstance() { - NodeFactory 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"); - Object instance = discoveryClass.getMethod("getInstance").invoke(null); - Object factoryDeclaration = discoveryClass.getMethod("getFirstServiceDeclaration", String.class).invoke(instance, NodeFactory.class.getName()); - if (factoryDeclaration != null) { - Class factoryImplClass = (Class)factoryDeclaration.getClass().getMethod("loadClass").invoke(factoryDeclaration); - scaNodeFactory = (NodeFactory)factoryImplClass.newInstance(); - return scaNodeFactory; - } - } catch (ClassNotFoundException e) { - // Ignore - } - - // Fail back to default impl - String className = "org.apache.tuscany.sca.node.impl.NodeFactoryImpl"; - - Class cls = Class.forName(className); - scaNodeFactory = (NodeFactory)cls.newInstance(); - return scaNodeFactory; - - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - /** - * Creates a new SCA node using defaults for the contribution location and runnable composite - * - * @return a new SCA node. - */ - public abstract Node createNode(); - - /** - * 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 Node createNode(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 Node createNode(String compositeURI, Contribution... 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 Node createNode(String compositeURI, - String compositeContent, - Contribution... contributions); - -} diff --git a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeMain2.java b/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeMain2.java deleted file mode 100644 index 6c26db5a25..0000000000 --- a/sandbox/ant/sca/tags/2.0-M2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeMain2.java +++ /dev/null @@ -1,56 +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.io.File; - -public class NodeMain2 { - - /** - * Start an SCA node - * @param args a list of contribution jars for the node to run - */ - public static void main(String[] args) throws Exception { - - Contribution[] contributions = new Contribution[args.length]; - for (int i=0; i