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]

Reply via email to