summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.2/modules/node-api/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.2/modules/node-api/src/main/java/org')
-rw-r--r--branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeException.java53
-rw-r--r--branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainAccess.java75
-rw-r--r--branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainFinder.java78
-rw-r--r--branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java98
-rw-r--r--branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java161
-rw-r--r--branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java111
6 files changed, 0 insertions, 576 deletions
diff --git a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeException.java b/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeException.java
deleted file mode 100644
index 5ef2aee114..0000000000
--- a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeException.java
+++ /dev/null
@@ -1,53 +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;
-
-
-/**
- * Denotes an error starting the runtime
- *
- * @version $Rev: 568826 $ $Date: 2007-08-23 06:27:34 +0100 (Thu, 23 Aug 2007) $
- */
-public class NodeException extends Exception {
-
- static final long serialVersionUID = 2096658015909178325L;
-
- private String message;
-
- public NodeException() {
- }
-
- public NodeException(String message) {
- super(message);
- setMessage(message);
- }
-
- public NodeException(Throwable cause) {
- super(cause);
- setMessage(cause.getMessage());
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-}
diff --git a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainAccess.java b/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainAccess.java
deleted file mode 100644
index bae5a086b0..0000000000
--- a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainAccess.java
+++ /dev/null
@@ -1,75 +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 javax.xml.namespace.QName;
-
-import org.osoa.sca.CallableReference;
-import org.osoa.sca.ServiceReference;
-
-
-/**
- * Provides access to the components in a domain.
- *
- * @version $Rev$ $Date$
- */
-public interface SCADomainAccess {
-
- /**
- * 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
- */
- public <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
- */
- public <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
- */
- public <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String referenceName);
-
-} \ No newline at end of file
diff --git a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainFinder.java b/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainFinder.java
deleted file mode 100644
index d915a34cd8..0000000000
--- a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCADomainFinder.java
+++ /dev/null
@@ -1,78 +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.Constructor;
-
-import org.apache.tuscany.sca.domain.DomainException;
-import org.apache.tuscany.sca.domain.SCADomain;
-import org.osoa.sca.ServiceRuntimeException;
-
-/**
- * A finder for SCA domains.
- *
- * @version $Rev: 580520 $ $Date: 2007-09-29 00:50:25 +0100 (Sat, 29 Sep 2007) $
- */
-public abstract class SCADomainFinder {
-
-
- /**
- * Returns a new SCA domain finder instance.
- *
- * @return a new SCA domain finder
- */
- public static SCADomainFinder newInstance() {
- SCADomainFinder scaDomainFinder = null;
-
- try {
- final ClassLoader classLoader = SCADomainFinder.class.getClassLoader();
- String className = "org.apache.tuscany.sca.node.impl.SCADomainFinderImpl";
-
- Class cls = Class.forName(className, true, classLoader);
-
- Constructor<?> constructor = null;
-
- try {
- constructor = cls.getConstructor();
- } catch (NoSuchMethodException e) {
- // ignore
- }
-
- if (constructor != null) {
- scaDomainFinder = (SCADomainFinder)constructor.newInstance();
- }
-
- return scaDomainFinder;
-
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- }
- }
-
- /**
- * Finds an existing SCA domain.
- *
- * @param domainURI the URI of the domain, this is the endpoint
- * URI of the domain administration service
- * @return the SCA domain
- */
- public abstract SCADomain getSCADomain(String domainURI) throws DomainException;
-
-}
diff --git a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java b/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java
deleted file mode 100644
index 676b0f7f8b..0000000000
--- a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java
+++ /dev/null
@@ -1,98 +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 javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.domain.SCADomain;
-import org.osoa.sca.annotations.Remotable;
-
-/**
- * Represents an SCA processing node. An SCA node belongs to an SCA domain.
- * A node is loaded with one or mode SCA composites. It can start and stop that composite.
- *
- * @version $Rev: 580520 $ $Date: 2007-09-29 00:50:25 +0100 (Sat, 29 Sep 2007) $
- */
-@Remotable
-public interface SCANode {
-
- /**
- * Returns the URI of the SCA node. That URI is the endpoint of the
- * SCA node administration service.
- *
- * @return the URI of the SCA node
- */
- public String getURI();
-
- /**
- * Returns the SCA domain that the node belongs to.
- *
- * @return the SCA domain that the node belongs to
- */
- public SCADomain getDomain();
-
- /**
- * Add an SCA contribution into the node.
- *
- * @param contributionURI the URI of the contribution
- * @param contributionURL the URL of the contribution
- */
- public void addContribution(String contributionURI, URL contributionURL) throws NodeException;
-
- /**
- * Remove an SCA contribution from the node.
- *
- * @param contributionURI the URI of the contribution
- */
- public void removeContribution(String contributionURI) throws NodeException;
-
- /**
- * Add the named deployable composite to the domain level composite
- *
- * @param compositeQName the name of the composite
- */
- public void addToDomainLevelComposite(QName compositeQName) throws NodeException;
-
- /**
- * Add the specified deployable composite to the domain level composite
- *
- * @param compositePath the path of the composite file
- */
- public void addToDomainLevelComposite(String compositePath) throws NodeException;
-
- /**
- * Start all the deployed composites
- */
- public void start() throws NodeException;
-
- /**
- * Stop all of the deployed composites
- */
- public void stop() throws NodeException;
-
- /**
- * Destroy the node.
- */
- public void destroy() throws NodeException;
-
-
-}
diff --git a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java b/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java
deleted file mode 100644
index 1cba8a08f4..0000000000
--- a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java
+++ /dev/null
@@ -1,161 +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.Constructor;
-import java.net.URL;
-
-import org.apache.tuscany.sca.node.util.SCAContributionUtil;
-import org.osoa.sca.ServiceRuntimeException;
-
-/**
- * A factory for SCA processing nodes. An SCA processing node can be loaded
- * with an SCA composite.
- *
- * @version $Rev: 579871 $ $Date: 2007-09-27 03:20:34 +0100 (Thu, 27 Sep 2007) $
- */
-public abstract class SCANodeFactory {
-
-
- /**
- * Returns a new SCA node factory instance.
- *
- * @return a new SCA node factory
- */
- public static SCANodeFactory newInstance() {
- SCANodeFactory scaNodeFactory = null;
-
- try {
- final ClassLoader classLoader = SCANodeFactory.class.getClassLoader();
- String className = "org.apache.tuscany.sca.node.impl.SCANodeFactoryImpl";
-
- Class cls = Class.forName(className, true, classLoader);
-
- Constructor<?> constructor = null;
-
- try {
- constructor = cls.getConstructor();
- } catch (NoSuchMethodException e) {
- // ignore
- }
-
- if (constructor != null) {
- scaNodeFactory = (SCANodeFactory)constructor.newInstance();
- }
-
- return scaNodeFactory;
-
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- }
- }
-
- private static SCANodeFactory singletonInstance;
-
- /**
- * Returns a singleton SCA node factory instance, and creates a new
- * singleton instance if none exists.
- *
- * @return an SCA node factory
- */
- public static SCANodeFactory getInstance() {
- if (singletonInstance == null) {
- singletonInstance = newInstance();
- }
- return singletonInstance;
- }
-
- /**
- * Creates a new SCA node.
- *
- * @param nodeURI the URI of the node, this URI is used to provide the default
- * host and port information for the runtime for situations when bindings
- * do provide this information
- * @param domainURI the URI of the domain that the node belongs to. This URI is
- * used to locate the domain manager on the network
- * @return a new SCA node.
- */
- public abstract SCANode createSCANode(String physicalNodeURI, String domainURI) throws NodeException;
-
- /**
- * Creates a new SCA node. Many physical nodes may share the same logical URL in load balancing
- * and failover scenarios where each node in the group runs the same contribution and
- * active composites
- *
- * @param physicalNodeURI the URI of the node, this URI is used to provide the default
- * host and port information for the runtime for situations when bindings
- * don't provide this information
- * @param domainURI the URI of the domain that the node belongs to. This URI is
- * used to locate the domain manager on the network
- * @param logicalNodeURI the uri of the node to be used in situations where more than one node
- * are grouped together for failover or load balancing scenarios. The logicalNodeURI
- * will typically identify the logical node where requests are sent
- * @return a new SCA node.
- */
- public abstract SCANode createSCANode(String physicalNodeURI, String domainURI, String logicalNodeURI) throws NodeException;
-
- /**
- * Creates a new SCA node. Many physical nodes may share the same logical URL in load balancing
- * and failover scenarios where each node in the group runs the same contribution and
- * active composites. Also allows a class loaded to b specified. This is the
- * classloader that will be used to load the management application used by the
- * node to talk to the domain
- *
- * @param physicalNodeURI the URI of the node, this URI is used to provide the default
- * host and port information for the runtime for situations when bindings
- * don't provide this information
- * @param domainURI the URI of the domain that the node belongs to. This URI is
- * used to locate the domain manager on the network
- * @param logicalNodeURI the uri of the node to be used in situations where more than one node
- * are grouped together for failover or load balancing scenarios. The logicalNodeURI
- * will typically identify the logical node where requests are sent. If null is provided
- * no logicalNodeURI is set.
- * @param classLoader the class loader to use by default when loading contributions. If null is provided
- * the classloader the dervied automatically.
- * @return a new SCA node.
- */
- public abstract SCANode createSCANode(String physicalNodeURI, String domainURI, String logicalNodeURI, ClassLoader classLoader) throws NodeException;
-
-
- /**
- * Convenience method to create and start a node and embedded domain
- * that deploys a single composite within a single contribution.
- *
- * @param composite the composite to be deployed.
- * @return a new SCA node.
- */
- public static SCANode createNodeWithComposite(String composite) throws NodeException {
- try {
- final ClassLoader loader = Thread.currentThread().getContextClassLoader();
- final URL url = SCAContributionUtil.findContributionFromResource(loader, composite);
-
- final SCANode node = getInstance().createSCANode(null, null);
- node.addContribution(url.toString(), url);
- node.addToDomainLevelComposite(composite);
- node.start();
-
- return node;
-
- } catch (Exception e) {
- throw new NodeException(e);
- }
- }
-
-}
diff --git a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java b/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java
deleted file mode 100644
index f3b532ed8c..0000000000
--- a/branches/sca-java-1.2/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java
+++ /dev/null
@@ -1,111 +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.util;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-
-/**
- * Utility methods to find an SCA contribution from a class or a resource.
- *
- * @version $Rev$ $Date$
- */
-public class SCAContributionUtil {
-
- /**
- * Given a class this method finds the contribution that it belongs to.
- * This could be either a local directory of a jar file.
- *
- * @param clazz
- * @return the contribution URL
- * @throws MalformedURLException
- */
- public static URL findContributionFromClass(Class<?> clazz) throws MalformedURLException {
- return findContributionFromResource(clazz.getClassLoader(), clazz.getName().replace('.', '/') + ".class");
- }
-
- /**
- * Given the path to a resource this method finds the contribution that it belongs to
- * this could be either a local directory of a jar file.
- *
- * @param classLoader
- * @param compositeString
- * @return the contribution URL
- * @throws MalformedURLException
- */
- public static URL findContributionFromResource(ClassLoader classLoader, String compositeString) throws MalformedURLException {
-
- URL contributionURL = classLoader.getResource(compositeString);
-
- if ( contributionURL != null ){
- String contributionURLString = contributionURL.toExternalForm();
- String protocol = contributionURL.getProtocol();
-
- if ("file".equals(protocol)) {
- // directory contribution
- if (contributionURLString.endsWith(compositeString)) {
- String location = contributionURLString.substring(0, contributionURLString.lastIndexOf(compositeString));
- // workaround from evil url/uri form maven
- contributionURL = toFile(new URL(location)).toURI().toURL();
- }
-
- } else if ("jar".equals(protocol)) {
- // jar contribution
- String location = contributionURLString.substring(4, contributionURLString.lastIndexOf("!/"));
- // workaround for evil url/uri from maven
- contributionURL = toFile(new URL(location)).toURI().toURL();
- }
- }
-
- return contributionURL;
- }
-
- /**
- * Convert from a <code>URL</code> to a <code>File</code>.
- * <p>
- * From version 1.1 this method will decode the URL. Syntax such as
- * <code>file:///my%20docs/file.txt</code> will be correctly decoded to
- * <code>/my docs/file.txt</code>.
- *
- * @param url the file URL to convert, null returns null
- * @return the equivalent <code>File</code> object, or <code>null</code>
- * if the URL's protocol is not <code>file</code>
- * @throws IllegalArgumentException if the file is incorrectly encoded
- */
- private static File toFile(URL url) {
- if (url == null || !url.getProtocol().equals("file")) {
- return null;
- } else {
- String filename = url.getFile().replace('/', File.separatorChar);
- int pos = 0;
- while ((pos = filename.indexOf('%', pos)) >= 0) { // NOPMD
- if (pos + 2 < filename.length()) {
- String hexStr = filename.substring(pos + 1, pos + 3);
- char ch = (char)Integer.parseInt(hexStr, 16);
- filename = filename.substring(0, pos) + ch + filename.substring(pos + 3);
- }
- }
- return new File(filename);
- }
- }
-
-} \ No newline at end of file