[jboss-svn-commits] JBL Code SVN: r18108 - in labs/jbosslabs/labs-3.0-build: core/core-api/src/main/java/org/jboss/labs/injection and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 25 08:18:02 EST 2008


Author: wrzep
Date: 2008-01-25 08:18:02 -0500 (Fri, 25 Jan 2008)
New Revision: 18108

Added:
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/Guice.java
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java
Modified:
   labs/jbosslabs/labs-3.0-build/core/core-api/pom.xml
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java
Log:
guice injection interceptor for seam JBLAB-904


Modified: labs/jbosslabs/labs-3.0-build/core/core-api/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/pom.xml	2008-01-25 12:03:51 UTC (rev 18107)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/pom.xml	2008-01-25 13:18:02 UTC (rev 18108)
@@ -36,5 +36,16 @@
 			<version>1.1_02</version>
 			<scope>provided</scope>
 		</dependency>
-	</dependencies>
+        <dependency>
+	  <groupId>org.jboss.seam</groupId>
+	  <artifactId>jboss-seam</artifactId>
+      <version>2.0.1-SNAPSHOT</version>
+      <exclusions>
+                <exclusion>
+                  <groupId>jboss</groupId>
+                  <artifactId>javassist</artifactId>
+                </exclusion>
+       </exclusions>
+    </dependency>
+    </dependencies>
 </project>

Added: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/Guice.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/Guice.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/Guice.java	2008-01-25 13:18:02 UTC (rev 18108)
@@ -0,0 +1,17 @@
+package org.jboss.labs.injection.seam;
+
+import org.jboss.seam.annotations.intercept.Interceptors;
+
+import static java.lang.annotation.ElementType.TYPE;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Target(TYPE)
+ at Retention(RUNTIME)
+ at Interceptors(LabsSeamInjectionInterceptor.class)
+public @interface Guice {
+}

Added: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java	2008-01-25 13:18:02 UTC (rev 18108)
@@ -0,0 +1,27 @@
+package org.jboss.labs.injection.seam;
+
+import org.apache.log4j.Logger;
+import org.jboss.labs.injection.LabsInjection;
+import org.jboss.seam.annotations.intercept.AroundInvoke;
+import org.jboss.seam.annotations.intercept.Interceptor;
+import org.jboss.seam.intercept.InvocationContext;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Interceptor
+public class LabsSeamInjectionInterceptor {
+
+    private static Logger log = Logger.getLogger(LabsSeamInjectionInterceptor.class);
+
+    @AroundInvoke
+    public Object checkLoggedIn(InvocationContext invocation) throws Exception {
+
+        log.info("Injecting members for: "
+				+ invocation.getTarget().getClass().getName());
+
+        LabsInjection.getInjector().injectMembers(invocation.getTarget());
+
+        return invocation.proceed();
+    }
+}

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java	2008-01-25 12:03:51 UTC (rev 18107)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/ReviewProjectRequest.java	2008-01-25 13:18:02 UTC (rev 18108)
@@ -1,8 +1,10 @@
 package org.jboss.labs.admin;
 
+import com.google.inject.Inject;
+import org.jboss.labs.core.service.ProjectService;
 import org.jboss.labs.foo.FooService;
+import org.jboss.labs.injection.seam.Guice;
 import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Logger;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Out;
@@ -13,22 +15,23 @@
 /**
  * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
  */
+
 @Name("reviewProjectRequest")
+ at Guice
 public class ReviewProjectRequest {
 
     @Out(required = false, scope= ScopeType.CONVERSATION) private long tId;
     @Out(required = false, scope= ScopeType.CONVERSATION) private ProjectRequest prjRequest;
 
-    //@In("#{projectService}") private ProjectService projectService;
+    @Inject private FooService fooService;
 
-    @In("#{fooService}") private FooService fooService;
+    @Inject private ProjectService projectService;
 
-     @Logger
-     private Log log;
+    @Logger private Log log;
 
     public String select(Long taskId, ProjectRequest prjRequest) {
 
-         log.info("ProjectService: "  + " fooService: " + fooService);
+        log.info("ProjectService: " + projectService + " fooService: " + fooService);
 
         this.tId = taskId;
         this.prjRequest = prjRequest;




More information about the jboss-svn-commits mailing list