FYI
I've started migrating sandbox code to use the new recursive SCA API.
This API has been accepted with a bunch of changes including
Jeremy's constructor injection proposal. The intent is the Tuscany
SCA API jar will be donated to/used by the spec group. A quick
overview of what has changed includes:
- Substitution of "Composite" for "Module"
- Use of generics in locateService() with the following semantics:
package org.osoa.sca;
public interface CompositeContext {
…
T locateService(Class<T> serviceType, String serviceName);
}
The locateService() method takes as its input argument the name of
the service and returns an object providing access to the service.
The returned object implements the Java interface the service is
typed with.
- serviceType is the Java type used to represent the target
service on the client name can take on one of the following forms:
- <component-name>/<service-name>
If the service-name is not provided, the name of the
serviceType sans package name will be used as the service-name
- <reference-name>
I've updated Rick's "eagerinit" sample to compile against the new APIs.
We have a few changes that will be proposed this week as well:
- Change "session" scope to conversational
- Move eager init from the scope to a class level annotation. This
will allow us to instantiate a component instance eagerly without
having to have an initializer method, which will come in handy with
constructor based injection.
Of course, if anyone has additional ideas, please propose them on the
list and we can send them off to the spec group for discussion.
Jim
Begin forwarded message:
From: [EMAIL PROTECTED]
Date: June 24, 2006 8:17:49 AM PDT
To: [email protected]
Subject: svn commit: r416930 - in /incubator/tuscany/sandbox/
jboynes/spec/sca/src/main/java/org/osoa/sca: ./ annotations/
Reply-To: [email protected]
Author: jmarino
Date: Sat Jun 24 08:17:48 2006
New Revision: 416930
URL: http://svn.apache.org/viewvc?rev=416930&view=rev
Log:
changes to accomodate spec updates
Added:
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CompositeContext.java (contents, props changed)
- copied, changed from r414225, incubator/tuscany/sandbox/
jboynes/spec/sca/src/main/java/org/osoa/sca/ComponentContext.java
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CurrentCompositeContext.java (contents, props changed)
- copied, changed from r414226, incubator/tuscany/sandbox/
jboynes/spec/sca/src/main/java/org/osoa/sca/
CompositeComponentLocator.java
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Constructor.java (contents, props changed)
- copied, changed from r416331, incubator/tuscany/sandbox/
jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/annotation/
Constructor.java
Removed:
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/ComponentContext.java
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CompositeComponent.java
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CompositeComponentLocator.java
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/ComponentMetaData.java
Modified:
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/SCA.java
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Context.java
incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Scope.java
Copied: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/
org/osoa/sca/CompositeContext.java (from r414225, incubator/tuscany/
sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/
ComponentContext.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/
spec/sca/src/main/java/org/osoa/sca/CompositeContext.java?
p2=incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CompositeContext.java&p1=incubator/tuscany/sandbox/jboynes/
spec/sca/src/main/java/org/osoa/sca/
ComponentContext.java&r1=414225&r2=416930&rev=416930&view=diff
======================================================================
========
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/ComponentContext.java (original)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CompositeContext.java Sat Jun 24 08:17:48 2006
@@ -22,7 +22,7 @@
*
* @version $Rev: 388784 $ $Date: 2006-03-25 08:34:51 -0800 (Sat,
25 Mar 2006) $
*/
-public interface ComponentContext {
+public interface CompositeContext {
/**
* Returns the name of the parent composite.
Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/
java/org/osoa/sca/CompositeContext.java
----------------------------------------------------------------------
--------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/
java/org/osoa/sca/CompositeContext.java
----------------------------------------------------------------------
--------
svn:keywords = Rev,Date
Copied: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/
org/osoa/sca/CurrentCompositeContext.java (from r414226, incubator/
tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/
CompositeComponentLocator.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/
spec/sca/src/main/java/org/osoa/sca/CurrentCompositeContext.java?
p2=incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CurrentCompositeContext.java&p1=incubator/tuscany/sandbox/
jboynes/spec/sca/src/main/java/org/osoa/sca/
CompositeComponentLocator.java&r1=414226&r2=416930&rev=416930&view=dif
f
======================================================================
========
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CompositeComponentLocator.java (original)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/CurrentCompositeContext.java Sat Jun 24 08:17:48 2006
@@ -21,20 +21,18 @@
*
* @version $Rev: 388216 $ $Date: 2006-03-23 09:16:05 -0800 (Thu,
23 Mar 2006) $
*/
-public final class CompositeComponentLocator {
- private static final ThreadLocal<CompositeComponent>
CURRENT_COMPONENT =
- new InheritableThreadLocal<CompositeComponent>();
+public final class CurrentCompositeContext {
+ private static final ThreadLocal<CompositeContext>
CURRENT_COMPONENT =
+ new InheritableThreadLocal<CompositeContext>();
/**
- * Return the current CompositeComponent.
- *
- * @return the current CompositeComponent
+ * Return the current composite context
*/
- public static CompositeComponent locateComponent() {
+ public static CompositeContext getContext() {
return CURRENT_COMPONENT.get();
}
- static void setComponent(CompositeComponent component) {
+ static void setContext(CompositeContext component) {
CURRENT_COMPONENT.set(component);
}
}
Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/
java/org/osoa/sca/CurrentCompositeContext.java
----------------------------------------------------------------------
--------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/
java/org/osoa/sca/CurrentCompositeContext.java
----------------------------------------------------------------------
--------
svn:keywords = Rev,Date
Modified: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/
org/osoa/sca/SCA.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/
spec/sca/src/main/java/org/osoa/sca/SCA.java?
rev=416930&r1=416929&r2=416930&view=diff
======================================================================
========
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/SCA.java (original)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/SCA.java Sat Jun 24 08:17:48 2006
@@ -26,12 +26,12 @@
public abstract class SCA {
/**
* Protected method that allows an SCA implementation to set
the current module context
- * that will be returned by [EMAIL PROTECTED]
org.osoa.sca.CompositeComponentLocator#locateComponent()}.
+ * that will be returned by [EMAIL PROTECTED]
org.osoa.sca.CurrentCompositeContext#getContext()}.
*
* @param ctx the new current composite context
*/
- protected static void setCompositeContext(CompositeComponent
ctx) {
- CompositeComponentLocator.setComponent(ctx);
+ protected static void setCompositeContext(CompositeContext ctx) {
+ CurrentCompositeContext.setContext(ctx);
}
/**
Copied: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/
org/osoa/sca/annotations/Constructor.java (from r416331, incubator/
tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/
spi/annotation/Constructor.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/
spec/sca/src/main/java/org/osoa/sca/annotations/Constructor.java?
p2=incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Constructor.java&p1=incubator/tuscany/sandbox/
jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/annotation/
Constructor.java&r1=416331&r2=416930&rev=416930&view=diff
======================================================================
========
--- incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/
apache/tuscany/spi/annotation/Constructor.java (original)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Constructor.java Sat Jun 24 08:17:48 2006
@@ -14,7 +14,7 @@
* See the License for the specific language governing
permissions and
* limitations under the License.
*/
-package org.apache.tuscany.spi.annotation;
+package org.osoa.sca.annotations;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import java.lang.annotation.Retention;
Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/
java/org/osoa/sca/annotations/Constructor.java
----------------------------------------------------------------------
--------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/
java/org/osoa/sca/annotations/Constructor.java
----------------------------------------------------------------------
--------
svn:keywords = Rev Date
Modified: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/
org/osoa/sca/annotations/Context.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/
spec/sca/src/main/java/org/osoa/sca/annotations/Context.java?
rev=416930&r1=416929&r2=416930&view=diff
======================================================================
========
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Context.java (original)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Context.java Sat Jun 24 08:17:48 2006
@@ -23,7 +23,7 @@
import java.lang.annotation.Target;
/**
- * Annotation used to indicate a field or method that is used to
inject the component's ComponentContext.
+ * Annotation used to indicate a field or method that is used to
inject the component's CompositeContext.
*
* @version $Rev: 368822 $ $Date: 2006-01-13 10:54:38 -0800 (Fri,
13 Jan 2006) $
*/
Modified: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/
org/osoa/sca/annotations/Scope.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/
spec/sca/src/main/java/org/osoa/sca/annotations/Scope.java?
rev=416930&r1=416929&r2=416930&view=diff
======================================================================
========
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Scope.java (original)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/
osoa/sca/annotations/Scope.java Sat Jun 24 08:17:48 2006
@@ -38,5 +38,5 @@
* <li>module</li>
* </ul>
*/
- String value() default "stateless";
+ String value() default "STATELESS";
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]