summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/node-api/src/main/java
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 /branches/sca-java-1.x/modules/node-api/src/main/java
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 'branches/sca-java-1.x/modules/node-api/src/main/java')
-rw-r--r--branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAClient.java71
-rw-r--r--branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAContribution.java54
-rw-r--r--branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java42
-rw-r--r--branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java33
-rw-r--r--branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java203
-rw-r--r--branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java208
6 files changed, 0 insertions, 611 deletions
diff --git a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAClient.java b/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAClient.java
deleted file mode 100644
index f390e8881e..0000000000
--- a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAClient.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.osoa.sca.CallableReference;
-import org.osoa.sca.ServiceReference;
-
-
-/**
- * Provides client access to the services in a domain.
- *
- * @version $Rev$ $Date$
- */
-public interface SCAClient {
-
- /**
- * Cast a type-safe reference to a CallahbleReference. 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 <B> the Java type of the business interface for the reference
- * @param <R> 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
- */
- <B, R extends CallableReference<B>> 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 <B> the Java type of the business interface for the service
- * @return an object that implements the business interface
- */
- <B> B getService(Class<B> 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 <B> the Java type of the business interface for the service
- * @return a ServiceReference for the designated service
- */
- <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String serviceName);
-
-} \ No newline at end of file
diff --git a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAContribution.java b/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAContribution.java
deleted file mode 100644
index de7f352122..0000000000
--- a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAContribution.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 SCAContribution {
- 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 SCAContribution(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/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java b/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java
deleted file mode 100644
index fea749a57c..0000000000
--- a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java
+++ /dev/null
@@ -1,42 +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 SCANode {
-
- /**
- * Start the composite loaded in the node.
- */
- void start();
-
- /**
- * Stop the composite loaded in the node.
- */
- void stop();
-
-}
diff --git a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java b/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java
deleted file mode 100644
index a1d4ddb2b1..0000000000
--- a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java
+++ /dev/null
@@ -1,33 +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$
- * @deprecated Use SCANode instead
- */
-@Deprecated
-public interface SCANode2 extends SCANode {
-}
diff --git a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java b/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java
deleted file mode 100644
index 2b0dbc88eb..0000000000
--- a/branches/sca-java-1.x/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-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java b/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java
deleted file mode 100644
index e60d8238d3..0000000000
--- a/branches/sca-java-1.x/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java
+++ /dev/null
@@ -1,208 +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$
- */
-public abstract class SCANodeFactory {
-
- public static class NodeProxy implements SCANode, 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 SCANodeFactory newInstance() {
- SCANodeFactory 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);
- Class<?> factoryImplClass =
- (Class<?>)discoveryClass.getMethod("loadFirstServiceClass", Class.class)
- .invoke(instance, SCANodeFactory.class);
- if (factoryImplClass != null) {
- scaNodeFactory = (SCANodeFactory)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 = (SCANodeFactory)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.
- *
- * @return a new SCA node.
- */
- public abstract SCANode createSCANode();
-
- /**
- * 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 SCANode 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 SCANode 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 SCANode 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 SCANode createSCANode(String compositeURI,
- String compositeContent,
- SCAContribution... contributions);
-
-}