summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/sca-api/src/main/java/org/oasisopen
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/modules/sca-api/src/main/java/org/oasisopen')
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ComponentContext.java119
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/Constants.java34
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/InvalidServiceException.java60
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchDomainException.java40
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchServiceException.java41
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/RequestContext.java52
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/SCARuntimeException.java41
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceReference.java19
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceRuntimeException.java55
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceUnavailableException.java51
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java32
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authentication.java55
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authorization.java30
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Callback.java36
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ComponentName.java22
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Confidentiality.java55
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Constructor.java22
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Context.java25
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Destroy.java22
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EagerInit.java22
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Init.java23
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Integrity.java55
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Intent.java45
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedSharedTransaction.java29
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedTransaction.java40
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/MutualAuthentication.java30
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/NoManagedTransaction.java29
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/OneWay.java22
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/PolicySets.java32
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Property.java38
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Qualifier.java22
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Reference.java37
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Remotable.java23
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Requires.java43
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Scope.java33
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Service.java45
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClient.java53
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClientFactory.java126
-rw-r--r--java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinder.java241
39 files changed, 0 insertions, 1799 deletions
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ComponentContext.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ComponentContext.java
deleted file mode 100644
index 740003fc12..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ComponentContext.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca;
-
-import java.util.Collection;
-
-/**
- * Interface providing programmatic access to a component's SCA context as an alternative to injection.
- * It provides access to reference and property values for the component and provides a mechanism for
- * obtaining a reference to a service that can be passed to other components.
- * <p/>
- * SCA components obtain an instance of this interface through injection. Non-SCA client code may also
- * obtain an instance through runtime-specific mechanisms.
- *
- * @version $Rev$ $Date$
- */
-public interface ComponentContext {
- /**
- * Returns the absolute URI of the component within the SCA Domain.
- *
- * @return the absolute URI of the component
- */
- String getURI();
-
- /**
- * 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 <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 ServiceReference<B>> R cast(B target) throws IllegalArgumentException;
-
- /**
- * Returns a proxy for a reference defined by this component.
- *
- * @param businessInterface the interface that will be used to invoke the service
- * @param referenceName the name of the reference
- * @param <B> the Java type of the business interface for the reference
- * @return an object that implements the business interface
- */
- <B> B getService(Class<B> businessInterface, String referenceName);
-
- /**
- * Returns a ServiceReference for a reference defined by this component.
- *
- * @param businessInterface the interface that will be used to invoke the service
- * @param referenceName the name of the reference
- * @param <B> the Java type of the business interface for the reference
- * @return a ServiceReference for the designated reference
- */
- <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String referenceName);
-
- /**
- * Returns the value of an SCA property defined by this component.
- *
- * @param type the Java type to be returned for the property
- * @param propertyName the name of the property whose value should be returned
- * @param <B> the Java type of the property
- * @return the property value
- */
- <B> B getProperty(Class<B> type, String propertyName);
-
- /**
- * Returns a ServiceReference that can be used to invoke this component over the default service.
- *
- * @param businessInterface the interface that will be used to invoke the service
- * @param <B> the Java type of the business interface for the reference
- * @return a ServiceReference that will invoke this component
- */
- <B> ServiceReference<B> createSelfReference(Class<B> businessInterface);
-
- /**
- * Returns a ServiceReference that can be used to invoke this component over the designated service.
- *
- * @param businessInterface the interface that will be used to invoke the service
- * @param serviceName the name of the service to invoke
- * @param <B> the Java type of the business interface for the reference
- * @return a ServiceReference that will invoke this component
- */
- <B> ServiceReference<B> createSelfReference(Class<B> businessInterface, String serviceName);
-
- /**
- * Returns the context for the current SCA service request, or null if there is no current request
- * or if the context is unavailable.
- *
- * @return the SCA request context; may be null
- */
- RequestContext getRequestContext();
-
-
- /* ******************** Contribution for issue TUSCANY-2281 ******************** */
-
- /**
- * Returns a Collection of typed service proxies for a business interface type and a reference name.
- * @param businessInterface the interface that will be used to invoke the service
- * @param referenceName the name of the reference
- * @param <B> the Java type of the business interface for the reference
- * @return a Collection of objects that implements the business interface
- */
- <B> Collection<B> getServices(Class<B> businessInterface, String referenceName);
-
-
- /**
- * Returns a Collection of typed service reference for a business interface type and a reference name.
- * @param businessInterface the interface that will be used to invoke the service
- * @param referenceName the name of the reference
- * @param <B> the Java type of the business interface for the reference
- * @return a Collection of objects that implements the business interface
- */
- <B> Collection<ServiceReference<B>> getServiceReferences(Class<B> businessInterface, String referenceName);
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/Constants.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/Constants.java
deleted file mode 100644
index 261b9baaf1..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/Constants.java
+++ /dev/null
@@ -1,34 +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.oasisopen.sca;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Constants {
- /**
- * Namespace for intents.
- */
- String SCA_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200903";
-
- /**
- * Prefix form of the namespace that can be prepended to intent declarations.
- */
- String SCA_PREFIX = '{' + SCA_NS + '}';
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/InvalidServiceException.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/InvalidServiceException.java
deleted file mode 100644
index 0076ad34c0..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/InvalidServiceException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca;
-
-/**
- * This exception signals that the ServiceReference is no longer valid.
- * This can happen when the target of the reference is undeployed.
- *
- * This exception is not transient and therefore is unlikely to be
- * resolved by retrying the operation and will most likely require
- * human intervention.
- */
-public class InvalidServiceException extends ServiceRuntimeException {
- /**
- * Constructs a InvalidServiceException with no detail message.
- */
- public InvalidServiceException() {
- super();
- }
-
- /**
- * Constructs a InvalidServiceException with the specified detail
- * message.
- *
- * @param message the detail message
- */
- public InvalidServiceException(String message) {
- super(message);
- }
-
- /**
- * Constructs a InvalidServiceException with the specified detail
- * message and cause.
- *
- * The detail message associated with <code>cause</code> is not
- * automatically incorporated in this exception's detail message.
- *
- * @param message the detail message
- * @param cause the cause, or null if the cause is nonexistent
- * or unknown
- */
- public InvalidServiceException(String message, Throwable cause) {
- super(message, cause);
- }
-
- /**
- * Constructs a InvalidServiceException with the specified cause and
- * a detail message of <tt>(cause==null ? null : cause.toString())</tt>.
- *
- * @param cause the cause, or null if the cause is nonexistent
- * or unknown
- */
- public InvalidServiceException(Throwable cause) {
- super(cause);
- }
-
- private static final long serialVersionUID = 7520492728695222145L;
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchDomainException.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchDomainException.java
deleted file mode 100644
index 51a4dbe3ad..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchDomainException.java
+++ /dev/null
@@ -1,40 +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.oasisopen.sca;
-
-public class NoSuchDomainException extends Exception {
- private static final long serialVersionUID = -3990087696861167748L;
-
- public NoSuchDomainException() {
- super((Throwable)null);
- }
-
- public NoSuchDomainException(String message) {
- super(message);
- }
-
- public NoSuchDomainException(Throwable cause) {
- super(cause);
- }
-
- public NoSuchDomainException(String message, Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchServiceException.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchServiceException.java
deleted file mode 100644
index 62d1b07f23..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchServiceException.java
+++ /dev/null
@@ -1,41 +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.oasisopen.sca;
-
-public class NoSuchServiceException extends Exception {
- private static final long serialVersionUID = -3542376318558454581L;
-
- public NoSuchServiceException() {
- super((Throwable)null);
- }
-
- public NoSuchServiceException(String message) {
- super(message);
- }
-
- public NoSuchServiceException(Throwable cause) {
- super(cause);
- }
-
- public NoSuchServiceException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/RequestContext.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/RequestContext.java
deleted file mode 100644
index d12648a795..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/RequestContext.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca;
-
-import javax.security.auth.Subject;
-
-/**
- * Interface that provides information on the current request.
- *
- * @version $Rev$ $Date$
- */
-public interface RequestContext {
- /**
- * Returns the JAAS Subject of the current request.
- *
- * @return the Subject of the current request
- */
- Subject getSecuritySubject();
-
- /**
- * Returns the name of the service that was invoked.
- *
- * @return the name of the service that was invoked
- */
- String getServiceName();
-
- /**
- * Returns a CallableReference for the service that was invoked by the caller.
- *
- * @param <B> the Java type of the business interface for the reference
- * @return a CallableReference for the service that was invoked by the caller
- */
- <B> ServiceReference<B> getServiceReference();
-
- /**
- * Returns a type-safe reference to the callback provided by the caller.
- *
- * @param <CB> the Java type of the business interface for the callback
- * @return a type-safe reference to the callback provided by the caller
- */
- <CB> CB getCallback();
-
- /**
- * Returns a CallableReference to the callback provided by the caller.
- *
- * @param <CB> the Java type of the business interface for the callback
- * @return a CallableReference to the callback provided by the caller
- */
- <CB> ServiceReference<CB> getCallbackReference();
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/SCARuntimeException.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/SCARuntimeException.java
deleted file mode 100644
index ed957cff6d..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/SCARuntimeException.java
+++ /dev/null
@@ -1,41 +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.oasisopen.sca;
-
-public class SCARuntimeException extends RuntimeException {
- private static final long serialVersionUID = -3867882539949395157L;
-
- public SCARuntimeException() {
- super((Throwable)null);
- }
-
- public SCARuntimeException(String message) {
- super(message);
- }
-
- public SCARuntimeException(Throwable cause) {
- super(cause);
- }
-
- public SCARuntimeException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceReference.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceReference.java
deleted file mode 100644
index d89ed54d10..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceReference.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca;
-
-import java.io.Serializable;
-
-
-/**
- * A ServiceReference represents a client's perspective of a reference to another service.
- *
- * @version $Rev$ $Date$
- * @param <B> the Java interface associated with this reference
- */
-public interface ServiceReference<B> extends Serializable {
- B getService();
- Class<B> getBusinessInterface();
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceRuntimeException.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceRuntimeException.java
deleted file mode 100644
index 70c429dcc2..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceRuntimeException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca;
-
-
-/**
- * Base for Exceptions that may be raised by an SCA runtime and which typical
- * application code is not expected to be able to handle.
- *
- * @version $Rev$ $Date$
- */
-public class ServiceRuntimeException extends RuntimeException {
- private static final long serialVersionUID = -3876058842262557092L;
-
- /**
- * Override constructor from RuntimeException.
- *
- * @see RuntimeException
- */
- public ServiceRuntimeException() {
- }
-
- /**
- * Override constructor from RuntimeException.
- *
- * @param message passed to RuntimeException
- * @see RuntimeException
- */
- public ServiceRuntimeException(String message) {
- super(message);
- }
-
- /**
- * Override constructor from RuntimeException.
- *
- * @param message passed to RuntimeException
- * @param cause passed to RuntimeException
- * @see RuntimeException
- */
- public ServiceRuntimeException(String message, Throwable cause) {
- super(message, cause);
- }
-
- /**
- * Override constructor from RuntimeException.
- *
- * @param cause passed to RuntimeException
- * @see RuntimeException
- */
- public ServiceRuntimeException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceUnavailableException.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceUnavailableException.java
deleted file mode 100644
index 39cd6b1cac..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceUnavailableException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca;
-
-/**
- * Exception used to indicate that a runtime exception occurred during the invocation of and external service.
- *
- * @version $Rev$ $Date$
- */
-public class ServiceUnavailableException extends ServiceRuntimeException {
-
- private static final long serialVersionUID = -5869397223249401047L;
-
- /**
- * Constructs a new ServiceUnavailableException.
- */
- public ServiceUnavailableException() {
- super((Throwable) null);
- }
-
- /**
- * Constructs a new ServiceUnavailableException with the specified detail message.
- *
- * @param message The detail message (which is saved to later retrieval by the getMessage() method).
- */
- public ServiceUnavailableException(String message) {
- super(message);
- }
-
- /**
- * Constructs a new ServiceUnavailableException with the specified cause.
- *
- * @param cause The cause (which is saved to later retrieval by the getCause() method).
- */
- public ServiceUnavailableException(Throwable cause) {
- super(cause);
- }
-
- /**
- * Constructs a new ServiceUnavailableException with the specified detail message and cause.
- *
- * @param message The message (which is saved to later retrieval by the getMessage() method).
- * @param cause The cause (which is saved to later retrieval by the getCause() method).
- */
- public ServiceUnavailableException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java
deleted file mode 100644
index d394a64f91..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation on a service implementation class, on an individual method of a remotable service implementation,
- * or on an individual reference which uses a remotable interface, where the reference is a field, a setter method,
- * or a constructor parameter method.
- * The annotation indicates that that the parameters and return value may safely
- * be passed by reference. When the annotation is placed on a service implementation class or on a reference
- * it indicates that all declared methods support this optimization.
- *
- * @version $Rev$ $Date$
- */
-@Target({TYPE, METHOD, FIELD, PARAMETER})
-@Retention(RUNTIME)
-public @interface AllowsPassByReference {
-
- boolean value() default true;
-}
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authentication.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authentication.java
deleted file mode 100644
index 483fe2f293..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authentication.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation denoting the intent that service operations require authentication.
- * <p/>
- * Applied to the injection site (field, method or constructor parameter) for a reference,
- * it indicates that all invocations through that reference require authentication.
- * <p/>
- * Applied to a interface method on a service contract, it indicates that all invocations
- * of that service operation require authentication; applied to the type of a service contract,
- * it indicates that all service operations on that interface require authentication.
- * <p/>
- * Applied to a method on an implementation class, it indicates that all invocations that
- * are dispatched to that implementation method (through any service) require authentication.
- * Applied to a interface implemented by an implementation class, it indicates that all
- * invocations that are dispatched to the implementation method for that interface operation
- * require authentication.
- * <p/>
- * Applied to an implementation class, it indicates that all invocations of that implementation
- * and that all invocations made by that implementation require authentication.
- *
- * @version $Rev$ $Date$
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(Authentication.AUTHENTICATION)
-public @interface Authentication {
- String AUTHENTICATION = SCA_PREFIX + "authentication";
- String AUTHENTICATION_MESSAGE = AUTHENTICATION + "message";
- String AUTHENTICATION_TRANSPORT = AUTHENTICATION + "transport";
-
- /**
- * List of authentication qualifiers (such as "message" or "transport").
- *
- * @return authentication qualifiers
- */
- @Qualifier
- String[] value() default "";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authorization.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authorization.java
deleted file mode 100644
index 76fcd866ae..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authorization.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * The @Authorization annotation is used to indicate that
- * an authorization policy is required - for a method, for an implementation class, for a reference
- * (either injected as a method parameter or injected into a field)
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(Authorization.AUTHORIZATION)
-public @interface Authorization {
- String AUTHORIZATION = SCA_PREFIX + "authorization";
-}
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Callback.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Callback.java
deleted file mode 100644
index 03598e10d0..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Callback.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * When placed on a service interface, this annotation specifies the interface
- * to be used for callbacks.
- * <p/>
- * When placed on a method or field, this annotation denotes the injection
- * site to be used for a callback reference.
- * <p/>
- * There is a error in the 1.00 draft spec in the declaration of this interface.
- * The form defined here is a proposed correction for that error.
- *
- * @version $Rev$ $Date$
- */
-@Target({TYPE, METHOD, FIELD})
-@Retention(RUNTIME)
-public @interface Callback {
- /**
- * The Class of the associated callback interface.
- *
- * @return the associated callback interface
- */
- Class<?> value() default Void.class;
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ComponentName.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ComponentName.java
deleted file mode 100644
index 7debe2ba89..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ComponentName.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a field or method that is used to inject the component's name.
- *
- * @version $Rev$ $Date$
- */
-@Target({METHOD, FIELD})
-@Retention(RUNTIME)
-public @interface ComponentName {
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Confidentiality.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Confidentiality.java
deleted file mode 100644
index 5481a988b6..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Confidentiality.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation denoting the intent that service operations require confidentiality.
- * <p/>
- * Applied to the injection site (field, method or constructor parameter) for a reference,
- * it indicates that all invocations through that reference require confidentiality.
- * <p/>
- * Applied to a interface method on a service contract, it indicates that all invocations
- * of that service operation require confidentiality; applied to the type of a service contract,
- * it indicates that all service operations on that interface require confidentiality.
- * <p/>
- * Applied to a method on an implementation class, it indicates that all invocations that
- * are dispatched to that implementation method (through any service) require confidentiality.
- * Applied to a interface implemented by an implementation class, it indicates that all
- * invocations that are dispatched to the implementation method for that interface operation
- * require confidentiality.
- * <p/>
- * Applied to an implementation class, it indicates that all invocations of that implementation
- * and that all invocations made by that implementation require confidentiality.
- *
- * @version $Rev$ $Date$
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(Confidentiality.CONFIDENTIALITY)
-public @interface Confidentiality {
- String CONFIDENTIALITY = SCA_PREFIX + "confidentiality";
- String CONFIDENTIALITY_MESSAGE = CONFIDENTIALITY + ".message";
- String CONFIDENTIALITY_TRANSPORT = CONFIDENTIALITY + ".transport";
-
- /**
- * List of confidentiality qualifiers (such as "message" or "transport").
- *
- * @return confidentiality qualifiers
- */
- @Qualifier
- String[] value() default "";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Constructor.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Constructor.java
deleted file mode 100644
index c1c99de683..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Constructor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.CONSTRUCTOR;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Used to indicate the constructor the runtime is to use when instantiating a component implementation instance
- *
- * @version $Rev$ $Date$
- */
-@Target(CONSTRUCTOR)
-@Retention(RUNTIME)
-public @interface Constructor {
- String[] value() default "";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Context.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Context.java
deleted file mode 100644
index fce0334792..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Context.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a field or setter method that is used to inject an SCA context.
- * The type of context injected is determined by the type of the field or the parameter
- * to the setter method and is typically a ComponentContext or RequestContext.
- *
- * @version $Rev$ $Date$
- */
-@Target({METHOD, FIELD})
-@Retention(RUNTIME)
-public @interface Context {
-}
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Destroy.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Destroy.java
deleted file mode 100644
index f9c6505648..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Destroy.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a method that will be called by the container when the
- * scope defined for the local service ends.
- *
- * @version $Rev$ $Date$
- */
-@Target(METHOD)
-@Retention(RUNTIME)
-public @interface Destroy {
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EagerInit.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EagerInit.java
deleted file mode 100644
index a8e415a00b..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EagerInit.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate an instance should be eagerly initialized.
- *
- * @version $Rev$ $Date$
- */
-@Target({TYPE})
-@Retention(RUNTIME)
-public @interface EagerInit {
-
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Init.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Init.java
deleted file mode 100644
index b8b38a1088..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Init.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a method that will be called by the container when the scope defined for the local
- * service begins.
- *
- * @version $Rev$ $Date$
- */
-@Target(METHOD)
-@Retention(RUNTIME)
-public @interface Init {
-
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Integrity.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Integrity.java
deleted file mode 100644
index 14cd5ec005..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Integrity.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation denoting the intent that service operations require integrity.
- * <p/>
- * Applied to the injection site (field, method or constructor parameter) for a reference,
- * it indicates that all invocations through that reference require integrity.
- * <p/>
- * Applied to a interface method on a service contract, it indicates that all invocations
- * of that service operation require integrity; applied to the type of a service contract,
- * it indicates that all service operations on that interface require integrity.
- * <p/>
- * Applied to a method on an implementation class, it indicates that all invocations that
- * are dispatched to that implementation method (through any service) require integrity.
- * Applied to a interface implemented by an implementation class, it indicates that all
- * invocations that are dispatched to the implementation method for that interface operation
- * require integrity.
- * <p/>
- * Applied to an implementation class, it indicates that all invocations of that implementation
- * and that all invocations made by that implementation require integrity.
- *
- * @version $Rev$ $Date$
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(Integrity.INTEGRITY)
-public @interface Integrity {
- String INTEGRITY = SCA_PREFIX + "integrity";
- String INTEGRITY_MESSAGE = INTEGRITY + "message";
- String INTEGRITY_TRANSPORT = INTEGRITY + "transport";
-
- /**
- * List of integrity qualifiers (such as "message" or "transport").
- *
- * @return integrity qualifiers
- */
- @Qualifier
- String[] value() default "";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Intent.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Intent.java
deleted file mode 100644
index 54a1935859..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Intent.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation that can be applied to annotations that describe SCA intents.
- * Adding this annotation allows SCA runtimes to automatically detect user-defined intents.
- * <p/>
- * Applications must specify a value, a pairing of targetNamespace and localPort, or both.
- * If both value and pairing are supplied they must define the name qualified name.
- *
- * @version $Rev$ $Date$
- */
-@Target({ANNOTATION_TYPE})
-@Retention(RUNTIME)
-public @interface Intent {
- /**
- * The qualified name of the intent, in the form defined by {@link javax.xml.namespace.QName#toString}.
- *
- * @return the qualified name of the intent
- */
- String value() default "";
-
- /**
- * The XML namespace for the intent.
- *
- * @return the XML namespace for the intent
- */
- String targetNamespace() default "";
-
- /**
- * The name of the intent within its namespace.
- *
- * @return name of the intent within its namespace
- */
- String localPart() default "";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedSharedTransaction.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedSharedTransaction.java
deleted file mode 100644
index b12050a3e3..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedSharedTransaction.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * The @ManagedSharedTransaction annotation is used to indicate that
- * a distributed ACID transaction is required.
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(ManagedSharedTransaction.MANAGEDSHAREDTRANSACTION)
-public @interface ManagedSharedTransaction {
- String MANAGEDSHAREDTRANSACTION = SCA_PREFIX + "managedSharedTransaction";
-}
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedTransaction.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedTransaction.java
deleted file mode 100644
index 7115e8a5e9..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ManagedTransaction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * The @ManagedTransaction annotation is used to indicate the
- * need for an ACID transaction environment.
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(ManagedTransaction.MANAGEDTRANSACTION)
-public @interface ManagedTransaction {
- String MANAGEDTRANSACTION = SCA_PREFIX + "managedTransaction";
- String MANAGEDTRANSACTION_MESSAGE = MANAGEDTRANSACTION + ".local";
- String MANAGEDTRANSACTION_TRANSPORT = MANAGEDTRANSACTION + ".global";
-
- /**
- * List of managedTransaction qualifiers (such as "global" or "local").
- *
- * @return managedTransaction qualifiers
- */
- @Qualifier
- String[] value() default "";
-}
-
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/MutualAuthentication.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/MutualAuthentication.java
deleted file mode 100644
index d0825cd8e3..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/MutualAuthentication.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * The @MutualAuthentication annotation is used to indicate that
- * a mutual authentication policy is needed.
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(MutualAuthentication.MUTUALAUTHENTICATION)
-public @interface MutualAuthentication {
- String MUTUALAUTHENTICATION = SCA_PREFIX + "mutualAuthentication";
-}
-
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/NoManagedTransaction.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/NoManagedTransaction.java
deleted file mode 100644
index b5ff494ca2..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/NoManagedTransaction.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static org.oasisopen.sca.Constants.SCA_PREFIX;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * The @NoManagedTransaction annotation is used to indicate that
- * a non-transactional environment is needed.
- */
-@Inherited
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-@Intent(NoManagedTransaction.NOMANAGEDTRANSACTION)
-public @interface NoManagedTransaction {
- String NOMANAGEDTRANSACTION = SCA_PREFIX + "noManagedTransaction";
-}
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/OneWay.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/OneWay.java
deleted file mode 100644
index 700e71990c..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/OneWay.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation on a method that indicates that the method is non-blocking and communication
- * with the service provider may use buffer the requests and send them at some later time.
- *
- * @version $Rev$ $Date$
- */
-@Target({METHOD})
-@Retention(RUNTIME)
-public @interface OneWay {
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/PolicySets.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/PolicySets.java
deleted file mode 100644
index 69f5828045..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/PolicySets.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation that allows application of SCA Policy Sets.
- * <p/>
- * Each policy set is specified using its XML QName in the form defined by {@link javax.xml.namespace.QName#toString()}.
- *
- * @version $Rev$ $Date$
- */
-@Target({TYPE, FIELD, METHOD, PARAMETER})
-@Retention(RUNTIME)
-public @interface PolicySets {
- /**
- * Returns the policy sets to be applied.
- *
- * @return the policy sets to be applied
- */
- String[] value() default "";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Property.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Property.java
deleted file mode 100644
index 5905946627..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Property.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a constructor parameter, field or method that is
- * used to inject a configuration property value.
- *
- * @version $Rev$ $Date$
- */
-@Target({METHOD, FIELD, PARAMETER})
-@Retention(RUNTIME)
-public @interface Property {
- /**
- * The name of the property. If not specified then the name will be derived
- * from the annotated field or method.
- *
- * @return the name of the property
- */
- String name() default "";
-
- /**
- * Indicates whether a value for the property must be provided.
- *
- * @return true if a value must be provided
- */
- boolean required() default true;
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Qualifier.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Qualifier.java
deleted file mode 100644
index 97204fdf32..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Qualifier.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation that can be applied to an attribute of an @Intent annotation to indicate the
- * attribute provides qualifiers for the intent.
- *
- * @version $Rev$ $Date$
- */
-@Target(METHOD)
-@Retention(RUNTIME)
-public @interface Qualifier {
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Reference.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Reference.java
deleted file mode 100644
index 8f7d6b2043..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Reference.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a constructor parameter, field or method that is used to inject a reference.
- *
- * @version $Rev$ $Date$
- */
-@Target({METHOD, FIELD, PARAMETER})
-@Retention(RUNTIME)
-public @interface Reference {
- /**
- * The name of the reference. If not specified then the name will be derived from the annotated field or method.
- *
- * @return the name of the reference
- */
- String name() default "";
-
- /**
- * Indicates if a reference must be specified.
- *
- * @return true if a reference must be specified
- */
- boolean required() default true;
-}
-
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Remotable.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Remotable.java
deleted file mode 100644
index 3f7ac2623a..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Remotable.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a Java interface as remotable.
- * Remotable interfaces use pass-by-value semantics, can be published as entry points
- * and used for external services.
- *
- * @version $Rev$ $Date$
- */
-@Target(TYPE)
-@Retention(RUNTIME)
-public @interface Remotable {
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Requires.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Requires.java
deleted file mode 100644
index 08eb0a8935..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Requires.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation that allows the attachment of any intent to a Java Class or interface or to members of that
- * class such as methods, fields or constructor parameters.
- * <p/>
- * Intents are specified as XML QNames in the representation defined by
- * {@link javax.xml.namespace.QName#toString()}. Intents may be qualified with one or more
- * suffixes separated by a "." such as:
- * <ul>
- * <li>{http://docs.oasis-open.org/ns/opencsa/sca/200903}confidentiality</li>
- * <li>{http://docs.oasis-open.org/ns/opencsa/sca/200903}confidentiality.message</li>
- * </ul>
- * This annotation supports general purpose intents specified as strings. Users may also define
- * specific intents using the {@link @org.oasisopen.sca.annotation.Intent} annotation.
- *
- * @version $Rev$ $Date$
- */
-@Inherited
-@Retention(RUNTIME)
-@Target({TYPE, METHOD, FIELD, PARAMETER})
-public @interface Requires {
- /**
- * Returns the attached intents.
- *
- * @return the attached intents
- */
- String[] value() default "";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Scope.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Scope.java
deleted file mode 100644
index 8f9a13430e..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Scope.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Annotation used to indicate a scoped service.
- * <p/>
- * The spec refers to but does not describe an eager() attribute; this is an error in the draft.
- *
- * @version $Rev$ $Date$
- */
-@Target(TYPE)
-@Retention(RUNTIME)
-public @interface Scope {
- /**
- * The name of the scope. Values currently defined by the specification are:
- * <ul>
- * <li>STATELESS (default)</li>
- * <li>COMPOSITE</li>
- * </ul>
- *
- * @return the name of the scope
- */
- String value() default "STATELESS";
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Service.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Service.java
deleted file mode 100644
index a60754762e..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Service.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.annotation;
-
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * The @Service annotation is used on a component implementation
- * class to specify the SCA services offered by the implementation.
- *
- * The class need not be declared as implementing all of the
- * interfaces implied by the services, but all methods of the service
- * interfaces must be present.
- *
- * A class used as the implementation of a service is not required
- * to have a @Service annotation. If a class has no @Service annotation,
- * then the rules determining which services are offered and what
- * interfaces those services have are determined by the specific
- * implementation type.
- */
-@Target(TYPE)
-@Retention(RUNTIME)
-public @interface Service {
-
- /**
- * The value is an array of interface or class objects that should be
- * exposed as services by this component.
- *
- * @return the services of this component
- */
- Class<?>[] value();
-
- /**
- * The value is an array of strings which are used as the service names
- * for each of the interfaces declared in the value array.
- *
- * @return the service names
- */
- String[] names() default {};
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClient.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClient.java
deleted file mode 100644
index 907330e93b..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClient.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved. 2299
- * OASIS trademark, IPR and other policies apply. 2300
- */
-package org.oasisopen.sca.client;
-
-import java.net.URI;
-import org.oasisopen.sca.NoSuchDomainException;
-import org.oasisopen.sca.NoSuchServiceException;
-
-/**
- * Client side helper that can be used to lookup SCA Services within a SCA Domain.
- *
- * @see SCAClientFactory
- */
-public class SCAClient {
-
- /**
- * Returns a reference proxy that implements the business interface <T> of a
- * service in a domain
- *
- * @param uri the URI of the target service. Takes the form domainURI/componentName/serviceName.
- * The domainURI can be left off and defaults to the implementation specific default domain
- * The service can also take the extended form
- * domainURI/componentName/serviceName (or /componentName/serviceName).
- * Can also take the extended form domainURI/componentName/serviceName/bindingName
- * (or /componentName/serviceName/bindingName) to use a specific binding of the target service
- * @param interfaze The business interface class of the service in the
- * domain
- * @param <T> The business interface class of the service in the domain
- * @return a proxy to the target service, in the specified SCA Domain that
- * implements the business interface <B>.
- * @throws NoSuchServiceException Service requested was not found
- * @throws NoSuchDomainException Domain requested was not found
- */
- public static <T> T getService(Class<T> interfaze, String uri) throws NoSuchServiceException, NoSuchDomainException {
- URI domainURI = null;
- String serviceURI;
- int i = uri.indexOf('/');
- if (i == -1) {
- domainURI = null;
- serviceURI = uri;
- } else {
- serviceURI = uri.substring(i+1);
- if (i > 0) {
- domainURI = URI.create(uri.substring(0, i));
- } else {
- domainURI = null;
- }
- }
- return SCAClientFactory.newInstance(domainURI).getService(interfaze, serviceURI);
- }
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClientFactory.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClientFactory.java
deleted file mode 100644
index e96969c99d..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClientFactory.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.client;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.oasisopen.sca.NoSuchDomainException;
-import org.oasisopen.sca.NoSuchServiceException;
-import org.oasisopen.sca.client.impl.SCAClientFactoryFinder;
-
-/**
- * The SCAClientFactory can be used by non-SCA managed code to lookup services
- * that exist in a SCADomain.
- *
- * @see SCAClientFactoryFinder
- * @see SCAClient
- * @author OASIS Open
- */
-public abstract class SCAClientFactory {
-
- private URI domainURI;
-
- private SCAClientFactory() {
- }
-
- /**
- * Constructor used by concrete subclasses
- * @param domainURI - The Domain URI of the Domain accessed via this SCAClientFactory
- */
- protected SCAClientFactory(URI domainURI) {
- this.domainURI = domainURI;
- }
-
- /**
- * Gets the Domain URI of the Domain accessed via this SCAClientFactory
- * @return - the URI for the Domain
- */
- protected URI getDomainURI() {
- return domainURI;
- }
-
- /**
- * The default implementation of the SCAClientFactory. A Vendor may use
- * reflection to inject a default SCAClientFactory instance that will be
- * used in the newInstance() methods rather than using the
- * SCAClientFactoryFinder.
- */
- protected static SCAClientFactory defaultFactory;
-
- /**
- * Creates a new instance of the SCAClient that can be used to lookup SCA
- * Services.
- *
- * @return A new SCAClient
- */
- public static SCAClientFactory newInstance(URI domainURI) throws NoSuchDomainException {
- return newInstance(null, null, domainURI);
- }
-
- /**
- * Creates a new instance of the SCAClient that can be used to lookup SCA
- * Services.
- *
- * @param properties Properties that may be used when creating a new
- * instance of the SCAClient
- * @return A new SCAClient instance
- */
- public static SCAClientFactory newInstance(Properties properties, URI domainURI) {
- return newInstance(properties, null, domainURI);
- }
-
- /**
- * Creates a new instance of the SCAClient that can be used to lookup SCA
- * Services.
- *
- * @param classLoader ClassLoader that may be used when creating a new
- * instance of the SCAClient
- * @return A new SCAClient instance
- */
- public static SCAClientFactory newInstance(ClassLoader classLoader, URI domainURI) {
- return newInstance(null, classLoader, domainURI);
- }
-
- /**
- * Creates a new instance of the SCAClient that can be used to lookup SCA
- * Services.
- *
- * @param properties Properties that may be used when creating a new
- * instance of the SCAClient
- * @param classLoader ClassLoader that may be used when creating a new
- * instance of the SCAClient
- * @return A new SCAClient instance
- */
- public static SCAClientFactory newInstance(Properties properties, ClassLoader classLoader, URI domainURI) {
- final SCAClientFactory factory;
- if (defaultFactory == null) {
- factory = SCAClientFactoryFinder.find(properties, classLoader, domainURI);
- } else {
- factory = defaultFactory;
- }
- return factory;
- }
-
- /**
- * Returns a reference proxy that implements the business interface <T>
- * of a service in the SCA Domain handled by this SCAClientFactory
- *
- * @param serviceURI the relative URI of the target service. Takes the
- * form componentName/serviceName.
- * Can also take the extended form componentName/serviceName/bindingName
- * to use a specific binding of the target service
- *
- * @param interfaze The business interface class of the service in the
- * domain
- * @param <T> The business interface class of the service in the domain
- *
- * @return a proxy to the target service, in the specified SCA Domain
- * that implements the business interface <B>.
- * @throws NoSuchServiceException Service requested was not found
- * @throws NoSuchDomainException Domain requested was not found
- */
- public abstract <T> T getService(Class<T> interfaze, String serviceURI) throws NoSuchServiceException, NoSuchDomainException;
-}
diff --git a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinder.java b/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinder.java
deleted file mode 100644
index 5137f8a658..0000000000
--- a/java/sca/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinder.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
- * OASIS trademark, IPR and other policies apply.
- */
-package org.oasisopen.sca.client.impl;
-
-import java.io.BufferedReader;
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URI;
-import java.net.URL;
-import java.util.Properties;
-
-import org.oasisopen.sca.SCARuntimeException;
-import org.oasisopen.sca.client.SCAClientFactory;
-
-/**
- * This is a default class that returns an SCAClientFactory implementation -
- * this class can be replaced by a vendor implementation.
- *
- * @see SCAClientFactory
- * @author OASIS Open
- */
-public class SCAClientFactoryFinder {
-
- /**
- * The name of the System Property used to determine the SPI implementation
- * to use for the SCAClientFactory.
- */
- private static final String SCA_CLIENT_FACTORY_PROVIDER_KEY = SCAClientFactory.class.getName();
-
- /**
- * The name of the file loaded from the ClassPath to determine 2488 the SPI
- * implementation to use for the SCAClientFactory. 2489
- */
- private static final String SCA_CLIENT_FACTORY_PROVIDER_META_INF_SERVICE = "META-INF/services/" + SCA_CLIENT_FACTORY_PROVIDER_KEY;
-
- /**
- * Private Constructor.
- */
- private SCAClientFactoryFinder() {
- }
-
- /**
- * Creates an instance of the SCAClientFactory implementation. This
- * discovers the SCAClientFactory implementation and instantiates the
- * provider's implementation.
- *
- * @param properties Properties that may be used when creating a new
- * instance of the SCAClient
- * @param classLoader ClassLoader that may be used when creating a new
- * instance of the SCAClient
- * @return new instance of the SCAClientFactory
- * @throws SCARuntimeException Failed to create SCAClientFactory
- * implementation.
- */
- public static SCAClientFactory find(Properties properties, ClassLoader classLoader, URI domainURI) {
- if (classLoader == null) {
- classLoader = getThreadContextClassLoader();
- if (classLoader == null) {
- classLoader = SCAClientFactoryFinder.class.getClassLoader();
- }
- }
- final String factoryImplClassName = discoverProviderFactoryImplClass(properties, classLoader);
- final Class<? extends SCAClientFactory> factoryImplClass = loadProviderFactoryClass(factoryImplClassName, classLoader);
- final SCAClientFactory factory = instantiateSCAClientFactoryClass(factoryImplClass, domainURI);
- return factory;
- }
-
- /**
- * Gets the Context ClassLoader for the current Thread.
- *
- * @return The Context ClassLoader for the current Thread.
- */
- private static ClassLoader getThreadContextClassLoader() {
- final ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader();
- return threadClassLoader;
- }
-
- /**
- * Attempts to discover the class name for the SCAClientFactory
- * implementation from the specified Properties, the System Properties or
- * the specified ClassLoader.
- *
- * @return The class name of the SCAClientFactory implementation
- * @throw SCARuntimeException Failed to find implementation for
- * SCAClientFactory.
- */
- private static String discoverProviderFactoryImplClass(Properties properties, ClassLoader classLoader) throws SCARuntimeException {
- String providerClassName = checkPropertiesForSPIClassName(properties);
- if (providerClassName != null) {
- return providerClassName;
- }
-
- providerClassName = checkPropertiesForSPIClassName(System.getProperties());
- if (providerClassName != null) {
- return providerClassName;
- }
-
- return checkMETAINFServicesForClassName(classLoader);
- }
-
- /**
- * Attempts to find the class name for the SCAClientFactory implementation
- * from the specified Properties.
- *
- * @return The class name for the SCAClientFactory implementation or
- * <code>null</code> if not found.
- */
- private static String checkPropertiesForSPIClassName(Properties properties) {
- if (properties == null) {
- return null;
- }
-
- final String providerClassName = properties.getProperty(SCA_CLIENT_FACTORY_PROVIDER_KEY);
- if (providerClassName != null && providerClassName.length() > 0) {
- return providerClassName;
- }
-
- return null;
- }
-
- /**
- * Attempts to find the class name for the SCAClientFactory implementation
- * from the META-INF/services directory
- *
- * @return The class name for the SCAClientFactory implementation or
- * <code>null</code> if not found.
- */
- private static String checkMETAINFServicesForClassName(ClassLoader cl) {
- final URL url = cl.getResource(SCA_CLIENT_FACTORY_PROVIDER_META_INF_SERVICE);
- if (url == null) {
- return null;
- }
-
- InputStream in = null;
- try {
- in = url.openStream();
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
-
- String line;
- while ((line = readNextLine(reader)) != null) {
- if (!line.startsWith("#") && line.length() > 0) {
- return line;
- }
- }
- return null;
- } finally {
- closeStream(reader);
- }
- } catch (IOException ex) {
- throw new SCARuntimeException("Failed to discover SCAClientFactory provider", ex);
- } finally {
- closeStream(in);
- }
- }
-
- /**
- * Reads the next line from the reader and returns the trimmed version of
- * that line
- *
- * @param reader The reader from which to read the next line
- * @return The trimmed next line or <code>null</code> if the end of the
- * stream has been reached
- * @throws IOException I/O error occurred while reading from Reader
- */
- private static String readNextLine(BufferedReader reader) throws IOException {
-
- String line = reader.readLine();
- if (line != null) {
- line = line.trim();
- }
- return line;
- }
-
- /**
- * Loads the specified SCAClientFactory implementation class.
- *
- * @param factoryImplClassName The name of the SCAClientFactory
- * Implementation class to load
- * @return The specified SCAClientFactory Implementation class
- * @throws SCARuntimeException Failed to load the SCAClientFactory
- * implementation class
- */
- private static Class<? extends SCAClientFactory> loadProviderFactoryClass(String factoryImplClassName, ClassLoader classLoader)
- throws SCARuntimeException {
-
- try {
- final Class<?> providerClass = classLoader.loadClass(factoryImplClassName);
- final Class<? extends SCAClientFactory> providerFactoryClass = providerClass.asSubclass(SCAClientFactory.class);
- return providerFactoryClass;
- } catch (ClassNotFoundException ex) {
- throw new SCARuntimeException("Failed to load SCAClientFactory implementation class " + factoryImplClassName, ex);
- } catch (ClassCastException ex) {
- throw new SCARuntimeException("Loaded SCAClientFactory implementation class " + factoryImplClassName
- + " is not a subclass of "
- + SCAClientFactory.class.getName(), ex);
- }
- }
-
- /**
- * Instantiate an instance of the specified SCAClientFactory implementation
- * class.
- *
- * @param factoryImplClass The SCAClientFactory implementation class to
- * instantiate.
- * @param domainURI
- * @return An instance of the SCAClientFactory implementation class
- * @throws SCARuntimeException Failed to instantiate the specified specified
- * SCAClientFactory implementation class
- */
- private static SCAClientFactory instantiateSCAClientFactoryClass(Class<? extends SCAClientFactory> factoryImplClass, URI domainURI) throws SCARuntimeException {
-
- try {
- final SCAClientFactory provider = factoryImplClass.getConstructor(URI.class).newInstance(domainURI);
- return provider;
- } catch (Throwable ex) {
- ex.printStackTrace();
- throw new SCARuntimeException("Failed to instantiate SCAClientFactory implementation class " + factoryImplClass, ex);
- }
- }
-
- /**
- * Utility method for closing Closeable Object.
- *
- * @param closeable The Object to close.
- */
- private static void closeStream(Closeable closeable) {
- if (closeable != null) {
- try {
- closeable.close();
- } catch (IOException ex) {
- throw new SCARuntimeException("Failed to close stream", ex);
- }
- }
- }
-}