Commit cf505726 authored by seinturi's avatar seinturi

Artifacts for the OSOA and SCA APIs.

The artifacts were previously deployed in an FraSCAti nexus OW2 repository that seems to be no longer available.
parent 0c188274
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ow2.frascati.model</groupId>
<artifactId>osoa-java-api</artifactId>
<version>2.0.1.3</version>
<packaging>jar</packaging>
<name>Tinfi Artifact OSOA</name>
</project>
/*
* (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.osoa.sca;
/**
*
* @param <B>
*/
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.
*
* @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 Java 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. Returns null if
* no conversation is currently active.
*/
Conversation getConversation();
/**
* Returns the callback ID.
*
* @return the callback ID.
*/
Object getCallbackID();
}
/*
* (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.osoa.sca;
/**
*
*
*
*/
// Lionel Seinturier - University of Lille: removed the method
// <B> ServiceReference<B> cast(B target) throws IllegalArgumentException
// according to http://www.osoa.org/jira/browse/JAVA-112
public interface ComponentContext {
/**
* Returns the absolute URI of the component within the SCA domain.
*
* @return the absolute URI of the component within the SCA domain.
*/
String getURI();
/**
* Returns a proxy for the reference defined by the current component.
*
* @param <B>
* @param businessInterface
* @param referenceName
* @return a proxy for the reference defined by the current component.
*/
<B> B getService(Class<B> businessInterface, String referenceName);
/**
* Returns a ServiceReference defined by the current component.
*
* @param <B>
* @param businessInterface
* @param referenceName
* @return a ServiceReference defined by the current component.
*/
<B> ServiceReference<B> getServiceReference(Class<B> businessInterface,
String referenceName);
/**
* Returns a ServiceReference that can be used to invoke this component over
* the designated service.
*
* @param <B>
* @param businessInterface
* @return a ServiceReference that can be used to invoke this component over
* the designated service.
*/
<B> ServiceReference<B> createSelfReference(Class<B> businessInterface);
/**
* Returns a ServiceReference that can be used to invoke this component over
* the designated service. Service name explicitly declares the service name
* to invoke.
*
* @param <B>
* @param businessInterface
* @param serviceName
* @return a ServiceReference that can be used to invoke this component over
* the designated service. Service name explicitly declares the
* service name to invoke.
*/
<B> ServiceReference<B> createSelfReference(Class<B> businessInterface,
String serviceName);
/**
* Returns the value of an SCA property defined by this component.
*
* @param <B>
* @param type
* @param propertyName
* @return the value of an SCA property defined by this component.
*/
<B> B getProperty(Class<B> type, String propertyName);
/**
* Casts a type-safe reference to a CallableReference.
*
* @param <B>
* @param <R>
* @param target
* @return
* @throws IllegalArgumentException
*/
<B, R extends CallableReference<B>> R cast(B target)
throws IllegalArgumentException;
/**
* 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 context for the current SCA service request, or null if there
* is no current request or if the context is unavailable.
*/
RequestContext getRequestContext();
}
/*
* (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.osoa.sca;
/**
* Constants
*/
public class Constants {
public static final String SCA_PREFIX = "{http://www.osoa.org/xmlns/sca/1.0}"; //$NON-NLS-1$
}
/*
* (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.osoa.sca;
/**
*
*/
// Stephane Drapeau - Obeo: Renamed getConversionID() -> getConversationID()
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();
/**
* Ends this conversation.
*/
void end();
}
/*
* (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.osoa.sca;
/**
*
*/
// Stephane Drapeau - Obeo: Added the four constructors to override the ones
// declared in RuntimeException
@SuppressWarnings("serial")
public class ConversationEndedException extends ServiceRuntimeException {
/**
*
*/
public ConversationEndedException() {
super();
}
/**
* @param arg0
* @param arg1
*/
public ConversationEndedException(String arg0, Throwable arg1) {
super(arg0, arg1);
}
/**
* @param arg0
*/
public ConversationEndedException(String arg0) {
super(arg0);
}
/**
* @param arg0
*/
public ConversationEndedException(Throwable arg0) {
super(arg0);
}
}
/*
* (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.osoa.sca;
/**
*
*/
// Stephane Drapeau - Obeo: Added the four constructors to override
// the ones declared in RuntimeException. Renamed the class
// NoRegisteredCallbackException.
@SuppressWarnings("serial")
public class NoRegisteredCallbackException extends ServiceRuntimeException {
/**
*
*/
public NoRegisteredCallbackException() {
super();
}
/**
* @param arg0
* @param arg1
*/
public NoRegisteredCallbackException(String arg0, Throwable arg1) {
super(arg0, arg1);
}
/**
* @param arg0
*/
public NoRegisteredCallbackException(String arg0) {
super(arg0);
}
/**
* @param arg0
*/
public NoRegisteredCallbackException(Throwable arg0) {
super(arg0);
}
}
/*
* (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.osoa.sca;
import javax.security.auth.Subject;
/**
*
*/
public interface RequestContext {
/**
* Returns the JAAS Subject of the current request.
*
* @return the JAAS Subject of the current request.
*/
Subject getSecuritySubject();
/**
* Returns the name of the service on the Java implementation the request
* came in on.
*
* @return the name of the service on the Java implementation the request
* came in on.
*/
String getServiceName();
/**
* Returns a callable reference to the callback as specified by the caller.
*
* @param <CB>
* @return a callable reference to the callback as specified by the caller.
*/
<CB> CallableReference<CB> getCallbackReference();
/**
* Returns a proxy for the callback as specified by the caller.
*
* @param <CB>
* @return a proxy for the callback as specified by the caller.
*/
<CB> CB getCallback();
/**
* Returns the callable reference that represents the service or callback
* reference that the request was invoked on. It is illegal for the service
* implementation to try to call the setCallback() on a returned service
* reference.
*
* @param <B>
* @return the callable reference that represents the service or callback
* reference that the request was invoked on. It is illegal for the
* service implementation to try to call the setCallback() on a
* returned service reference.
*/
<B> CallableReference<B> getServiceReference();
}
/*
* (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.osoa.sca;
/**
*
* @param <B>
*/
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 supplied by the user that will be associated with
* conversations 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. Throws an IllegalStateException if a conversation is
* currently associated with this reference.
*
* @param conversationId
* @throws IllegalStateException
*/
void setConversationID(Object conversationId) throws IllegalStateException;
/**
* Sets the callback ID.
*
* @param callbackID
*/
void setCallbackID(Object callbackID);
/**
* Returns the callback object.
*
* @return the callback object.
*/
Object getCallback();
/**
* Sets the callback object.
*
* @param callback
*/
void setCallback(Object callback);
}
/*
* (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.osoa.sca;
/**
* This exception signals problems in the management of SCA component execution.
*/
// Stephane Drapeau - Obeo: Added the four constructors to override
// the ones declared in RuntimeException
@SuppressWarnings("serial")
public class ServiceRuntimeException extends RuntimeException {
/**
*
*/
public ServiceRuntimeException() {
super();
}
/**
* @param arg0
* @param arg1
*/
public ServiceRuntimeException(String arg0, Throwable arg1) {
super(arg0, arg1);
}
/**
* @param arg0
*/
public ServiceRuntimeException(String arg0) {
super(arg0);
}
/**
* @param arg0
*/
public ServiceRuntimeException(Throwable arg0) {
super(arg0);
}
}
/*
* (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.osoa.sca;
/**
* This exception signals problems in the interaction with remote services. This
* extends ServiceRuntimeException. These are exceptions that may be transient,
* so retrying is appropriate. Any exception that is a ServiceRuntimeException
* that is not a ServiceUnavailableException is unlikely to be resolved by
* retrying the operation, since it most likely requires human intervention
*/
// Stephane Drapeau - Obeo: Added the four constructors to override
// the ones declared in RuntimeException
@SuppressWarnings("serial")
public class ServiceUnavailableException extends ServiceRuntimeException {
/**
*
*/
public ServiceUnavailableException() {
super();
}
/**
* @param arg0
* @param arg1
*/
public ServiceUnavailableException(String arg0, Throwable arg1) {
super(arg0, arg1);
}
/**
* @param arg0
*/
public ServiceUnavailableException(String arg0) {
super(arg0);
}
/**
* @param arg0
*/
public ServiceUnavailableException(Throwable arg0) {
super(arg0);
}
}
/*
* (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.osoa.sca.annotations;
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: 701389 $ $Date: 2008-10-03 19:55:27 +0530 (Fri, 03 Oct 2008) $
*/
@Target({TYPE, METHOD})
@Retention(RUNTIME)
public @interface AllowsPassByReference {
}
/*
* (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.osoa.sca.annotations;
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.osoa.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: 701389 $ $Date: 2008-10-03 19:55:27 +0530 (Fri, 03 Oct 2008) $
*/
@Inherited
@Target({TYPE, FIELD, METHOD, PARAMETER})
@Retention(RUNTIME)
@Intent(Authentication.AUTHENTICATION)
public @interface Authentication {
String AUTHENTICATION = SCA_PREFIX + "authentication"; //$NON-NLS-1$
String AUTHENTICATION_MESSAGE = AUTHENTICATION + "message"; //$NON-NLS-1$
String AUTHENTICATION_TRANSPORT = AUTHENTICATION + "transport"; //$NON-NLS-1$
/**
* List of authentication qualifiers (such as "message" or "transport").
*
* @return authentication qualifiers
*/
@Qualifier
String[] value() default "";
}
/*
* (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.osoa.sca.annotations;
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: 701389 $ $Date: 2008-10-03 19:55:27 +0530 (Fri, 03 Oct 2008) $
*/
@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;
}
/*
* (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.osoa.sca.annotations;
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;
/**