diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:09:31 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:09:31 +0000 |
commit | a7c1a39d8c3c4ef4d5878dbff726085082a17e8a (patch) | |
tree | 54faa0e87eb8c8242a4a0baeb5f7b505a175d00f /branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org | |
parent | 4e13586bc791d71c41760cf4d0a5cc908973de3e (diff) |
Moving 2.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835136 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org')
41 files changed, 0 insertions, 1931 deletions
diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/CallableReference.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/CallableReference.java deleted file mode 100644 index cdfaded693..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/CallableReference.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -package org.oasisopen.sca; - -/** - * Common superclass for references that can be passed between components. - * - * @version $Rev$ $Date$ - * @param <B> the Java interface associated with this reference - */ -public interface CallableReference<B> { - /** - * Returns a type-safe reference to the target of this reference. - * The instance returned is guaranteed to implement the business interface for this reference - * but may not be a proxy as defined by java.lang.reflect.Proxy. - * - * @return a proxy to the target that implements the business interface associated with this reference - */ - B getService(); - - /** - * Returns the Java class for the business interface associated with this reference. - * - * @return the Class for the business interface associated with this reference - */ - Class<B> getBusinessInterface(); - - /** - * Returns true if this reference is conversational. - * - * @return true if this reference is conversational - */ - boolean isConversational(); - - /** - * Returns the conversation associated with this reference. - * Returns null if no conversation is currently active. - * - * @return the conversation associated with this reference; may be null - */ - Conversation getConversation(); - - /** - * Returns the callback ID. - * - * @return the callback ID - */ - Object getCallbackID(); -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ComponentContext.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ComponentContext.java deleted file mode 100644 index 7e1a2e6b2e..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ComponentContext.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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 CallableReference<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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/Constants.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/Constants.java deleted file mode 100644 index 44045a404d..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/Constants.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/Conversation.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/Conversation.java deleted file mode 100644 index d4e4034eed..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/Conversation.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -package org.oasisopen.sca; - -/** - * Interface representing a Conversation providing access to the conversation id and and a mechanism - * to terminate the conversation. - * - * @version $Rev$ $Date$ - */ -public interface Conversation { - /** - * Returns the identifier for this conversation. - * If a user-defined identity had been supplied for this reference then its value will be returned; - * otherwise the identity generated by the system when the conversation was initiated will be returned. - * - * @return the identifier for this conversation - */ - Object getConversationID(); - - /** - * End this conversation. - */ - void end(); -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ConversationEndedException.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ConversationEndedException.java deleted file mode 100644 index 72944d6dfc..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ConversationEndedException.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -package org.oasisopen.sca; - -/** - * Exception thrown to indicate the conversation being used for a stateful interaction has been ended. - * - * @version $Rev$ $Date$ - */ -public class ConversationEndedException extends ServiceRuntimeException { - private static final long serialVersionUID = 3734864942222558406L; - - /** - * Override constructor from ServiceRuntimeException. - * - * @see ServiceRuntimeException - */ - public ConversationEndedException() { - } - - /** - * Override constructor from ServiceRuntimeException. - * - * @param message passed to ServiceRuntimeException - * @see ServiceRuntimeException - */ - public ConversationEndedException(String message) { - super(message); - } - - /** - * Override constructor from ServiceRuntimeException. - * - * @param message passed to ServiceRuntimeException - * @param cause passed to ServiceRuntimeException - * @see ServiceRuntimeException - */ - public ConversationEndedException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Override constructor from ServiceRuntimeException. - * - * @param cause passed to ServiceRuntimeException - * @see ServiceRuntimeException - */ - public ConversationEndedException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/NoRegisteredCallbackException.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/NoRegisteredCallbackException.java deleted file mode 100644 index fcf88f75c1..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/NoRegisteredCallbackException.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -package org.oasisopen.sca; - -/** - * Exception thrown to indicate that no callback has been registered - * when interacting with a service. - * - * @version $Rev$ $Date$ - */ -public class NoRegisteredCallbackException extends ServiceRuntimeException { - private static final long serialVersionUID = 3734864942222558406L; - - /** - * Override constructor from ServiceRuntimeException. - * - * @see ServiceRuntimeException - */ - public NoRegisteredCallbackException() { - } - - /** - * Override constructor from ServiceRuntimeException. - * - * @param message passed to ServiceRuntimeException - * @see ServiceRuntimeException - */ - public NoRegisteredCallbackException(String message) { - super(message); - } - - /** - * Override constructor from ServiceRuntimeException. - * - * @param message passed to ServiceRuntimeException - * @param cause passed to ServiceRuntimeException - * @see ServiceRuntimeException - */ - public NoRegisteredCallbackException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Override constructor from ServiceRuntimeException. - * - * @param cause passed to ServiceRuntimeException - * @see ServiceRuntimeException - */ - public NoRegisteredCallbackException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchDomainException.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchDomainException.java deleted file mode 100644 index 51a4dbe3ad..0000000000 --- a/branches/sca-java-2.0-M3/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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchServiceException.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/NoSuchServiceException.java deleted file mode 100644 index 62d1b07f23..0000000000 --- a/branches/sca-java-2.0-M3/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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/RequestContext.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/RequestContext.java deleted file mode 100644 index 5c8fe61073..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/RequestContext.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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> CallableReference<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> CallableReference<CB> getCallbackReference(); -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/SCARuntimeException.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/SCARuntimeException.java deleted file mode 100644 index ed957cff6d..0000000000 --- a/branches/sca-java-2.0-M3/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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceReference.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceReference.java deleted file mode 100644 index 55d875a5f3..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceReference.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -package org.oasisopen.sca; - - -/** - * 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 CallableReference<B> { - /** - * Returns the id supplied by the user that will be associated with conversations initiated through this reference. - * - * @return the id to associated with any conversation initiated through this reference - */ - Object getConversationID(); - - /** - * Set the id to associate with any conversation started through this reference. - * If the value supplied is null then the id will be generated by the implementation. - * - * @param conversationId the user-defined id to associated with a conversation - * @throws IllegalStateException if a conversation is currently associated with this reference - */ - void setConversationID(Object conversationId) throws IllegalStateException; - - /** - * Sets the callback ID. - * - * @param callbackID the callback ID - */ - void setCallbackID(Object callbackID); - - /** - * Returns the callback object. - * - * @return the callback object - */ - Object getCallback(); - - /** - * Sets the callback object. - * - * @param callback the callback object - */ - void setCallback(Object callback); -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceRuntimeException.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceRuntimeException.java deleted file mode 100644 index d11c1904c5..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceRuntimeException.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceUnavailableException.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceUnavailableException.java deleted file mode 100644 index 5d8e4af6ff..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/ServiceUnavailableException.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java deleted file mode 100644 index dbc08a7655..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/AllowsPassByReference.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -package org.oasisopen.sca.annotation; - -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; - -/** - * Annotation on a method that indicates that its parameters may safely - * be passed by reference. The annotation may also be placed on an interface - * or class to indicate that all declared methods support this optimization. - * - * @version $Rev$ $Date$ - */ -@Target({TYPE, METHOD}) -@Retention(RUNTIME) -public @interface AllowsPassByReference { -} - diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authentication.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authentication.java deleted file mode 100644 index cfc0af0318..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Authentication.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Callback.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Callback.java deleted file mode 100644 index b8d71dac05..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Callback.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ComponentName.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ComponentName.java deleted file mode 100644 index 8fc3cd4013..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ComponentName.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Confidentiality.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Confidentiality.java deleted file mode 100644 index 5c594bc7d3..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Confidentiality.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Constructor.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Constructor.java deleted file mode 100644 index a5728e51d4..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Constructor.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Context.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Context.java deleted file mode 100644 index e7f7aef069..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Context.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ConversationAttributes.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ConversationAttributes.java deleted file mode 100644 index 498cc3eea3..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ConversationAttributes.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -package org.oasisopen.sca.annotation; - -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -/** - * Annotation used to indicate the characteristics of a conversation. - * - * @version $Rev$ $Date$ - */ -@Target(ElementType.TYPE) -@Retention(RUNTIME) -public @interface ConversationAttributes { - /** - * The maximum time that can pass between operations in a single conversation. If this time is exceeded the - * container may end the conversation. - * - * @return the maximum time that can pass between operations in a single conversation - */ - String maxIdleTime() default ""; - - /** - * The maximum time that a conversation may remain active. If this time is exceeded the container may end the - * conversation. - * - * @return the maximum time that a conversation may remain active - */ - String maxAge() default ""; - - /** - * If true, indicates that only the user that initiated the conversation has the authority to continue it. - * - * @return true if only the user that initiated the conversation has the authority to continue it - */ - boolean singlePrincipal() default false; -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ConversationID.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ConversationID.java deleted file mode 100644 index 2cc62afdbf..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/ConversationID.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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 conversation ID. - * - * @version $Rev$ $Date$ - */ -@Target({METHOD, FIELD}) -@Retention(RUNTIME) -public @interface ConversationID { -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Conversational.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Conversational.java deleted file mode 100644 index 6a406f2acc..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Conversational.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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; - -/** - * Used on a Java interface to denote a conversational service contract. - * <p/> - * The draft spec erroneously defines the targets for this as {TYPE, METHOD, FIELD} - * but this annotation is only applicable to interfaces. - * - * @version $Rev$ $Date$ - */ -@Target({TYPE}) -@Retention(RUNTIME) -public @interface Conversational { -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Destroy.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Destroy.java deleted file mode 100644 index 2ad6fdc892..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Destroy.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EagerInit.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EagerInit.java deleted file mode 100644 index d53e9e4fc4..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EagerInit.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EndsConversation.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EndsConversation.java deleted file mode 100644 index 4f58c50802..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/EndsConversation.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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 ends a conversation. - * - * @version $Rev$ $Date$ - */ -@Target({METHOD}) -@Retention(RUNTIME) -public @interface EndsConversation { -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Init.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Init.java deleted file mode 100644 index 3fe9bf585f..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Init.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Integrity.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Integrity.java deleted file mode 100644 index 0c196f1ce5..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Integrity.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Intent.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Intent.java deleted file mode 100644 index c3e9914f23..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Intent.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/OneWay.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/OneWay.java deleted file mode 100644 index 458d05cc92..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/OneWay.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/PolicySets.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/PolicySets.java deleted file mode 100644 index 150d8dabc8..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/PolicySets.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Property.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Property.java deleted file mode 100644 index 0ab54ef6e4..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Property.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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 false; -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Qualifier.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Qualifier.java deleted file mode 100644 index a5fd102859..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Qualifier.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Reference.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Reference.java deleted file mode 100644 index 9a7154fcf3..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Reference.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Remotable.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Remotable.java deleted file mode 100644 index 77ff4e26f9..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Remotable.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Requires.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Requires.java deleted file mode 100644 index d90eb5512d..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Requires.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Scope.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Scope.java deleted file mode 100644 index d7cfaab3f5..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Scope.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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>REQUEST</li> - * <li>CONVERSATION</li> - * <li>COMPOSITE</li> - * </ul> - * - * @return the name of the scope - */ - String value() default "STATELESS"; -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Service.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Service.java deleted file mode 100644 index 36c5bff5e9..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/annotation/Service.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * (c) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, - * Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase - * Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - * - * see http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - */ -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 the service interfaces exposed by a Java class. - * - * @version $Rev$ $Date$ - */ -@Target({TYPE}) -@Retention(RUNTIME) -public @interface Service { - /** - * Array of interfaces that should be exposed as services. - * - * @return a list of interfaces that should be exposed as services - */ - Class<?>[] interfaces() default {}; - - /** - * Shortcut allowing a single interface to be exposed. - * - * @return a single service interfaces to be exposed - */ - Class<?> value() default Void.class; -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClient.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClient.java deleted file mode 100644 index c054179d8a..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClient.java +++ /dev/null @@ -1,41 +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 interface that can be used to lookup SCA Services within a SCA - * Domain. - * <p> - * The SCAClientFactory is used to obtain an implementation instance of the - * SCAClient. - * - * @see SCAClientFactory - * @author OASIS Open - */ -public interface SCAClient { - - /** - * Returns a reference proxy that implements the business interface <T> of a - * service in a domain - * - * @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 domainURI the URI of an SCA Domain. - * @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 - */ - <T> T getService(Class<T> interfaze, String serviceURI, URI domainURI) throws NoSuchServiceException, NoSuchDomainException; -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClientFactory.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClientFactory.java deleted file mode 100644 index e2abcf08e4..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/SCAClientFactory.java +++ /dev/null @@ -1,89 +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.util.Properties; - -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 { - - /** - * 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 SCAClient newInstance() { - return newInstance(null, null); - } - - /** - * 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 SCAClient newInstance(Properties properties) { - return newInstance(properties, null); - } - - /** - * 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 SCAClient newInstance(ClassLoader classLoader) { - return newInstance(null, classLoader); - } - - /** - * 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 SCAClient newInstance(Properties properties, ClassLoader classLoader) { - final SCAClientFactory factory; - if (defaultFactory == null) { - factory = SCAClientFactoryFinder.find(properties, classLoader); - } else { - factory = defaultFactory; - } - return factory.createSCAClient(); - } - - /** - * This method is invoked to create a new SCAClient instance. - * - * @return A new SCAClient instance - */ - protected abstract SCAClient createSCAClient(); -} diff --git a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinder.java b/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinder.java deleted file mode 100644 index c13e4e9142..0000000000 --- a/branches/sca-java-2.0-M3/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinder.java +++ /dev/null @@ -1,238 +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.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) { - 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); - 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. - * @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) throws SCARuntimeException { - - try { - final SCAClientFactory provider = factoryImplClass.newInstance(); - return provider; - } catch (Throwable ex) { - 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); - } - } - } -} |