[jboss-svn-commits] JBL Code SVN: r19630 - in labs/jbosslabs/labs-3.0-build: integration/src/main and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Apr 18 12:55:33 EDT 2008


Author: wrzep
Date: 2008-04-18 12:55:33 -0400 (Fri, 18 Apr 2008)
New Revision: 19630

Added:
   labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/GuiceConfiguration.java
   labs/jbosslabs/labs-3.0-build/integration/src/main/resources/
   labs/jbosslabs/labs-3.0-build/integration/src/main/resources/seam.properties
Modified:
   labs/jbosslabs/labs-3.0-build/integration/integration.iml
   labs/jbosslabs/labs-3.0-build/integration/pom.xml
   labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/AdminEventsListener.java
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/resources/seam.properties
   labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/WEB-INF/components.xml
Log:
JBLAB-928 @Guice in a separate lib, config stuff

Modified: labs/jbosslabs/labs-3.0-build/integration/integration.iml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/integration.iml	2008-04-18 16:14:10 UTC (rev 19629)
+++ labs/jbosslabs/labs-3.0-build/integration/integration.iml	2008-04-18 16:55:33 UTC (rev 19630)
@@ -17,6 +17,26 @@
       </library>
     </orderEntry>
     <orderEntry type="module" module-name="api" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="library" name="JSF 1.2" level="project" />
+    <orderEntry type="library" name="JSF 1.2 (2)" level="project" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/../../../.m2/repository/com/google/code/guice/guice/1.0/guice-1.0.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
     <orderEntryProperties />
   </component>
 </module>

Modified: labs/jbosslabs/labs-3.0-build/integration/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/pom.xml	2008-04-18 16:14:10 UTC (rev 19629)
+++ labs/jbosslabs/labs-3.0-build/integration/pom.xml	2008-04-18 16:55:33 UTC (rev 19630)
@@ -21,6 +21,17 @@
 	  <artifactId>api</artifactId>
       <version>1.0</version>
       <scope>provided</scope>
-    </dependency>	
+    </dependency>
+    <dependency>
+	  <groupId>org.jboss.seam</groupId>
+	  <artifactId>jboss-seam</artifactId>
+      <version>2.1.0.A1</version>
+      <exclusions>
+                <exclusion>
+                  <groupId>jboss</groupId>
+                  <artifactId>javassist</artifactId>
+                </exclusion>
+       </exclusions>
+    </dependency>
   </dependencies>
 </project>
\ No newline at end of file

Copied: labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/GuiceConfiguration.java (from rev 19623, labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java)
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/GuiceConfiguration.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/GuiceConfiguration.java	2008-04-18 16:55:33 UTC (rev 19630)
@@ -0,0 +1,71 @@
+/*
+* JBoss Labs. http://labs.jboss.com/jbosslabs
+*
+* Copyright © 2008  Red Hat Middleware, LLC. All rights reserved.
+*
+* This copyrighted material is made available to anyone wishing to use,
+* modify, copy, or redistribute it subject to the terms and conditions
+* of the GNU Lesser General Public License, v. 2.1.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT A WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License, v.2.1 along with this distribution; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+* 02110-1301, USA.
+*
+* Red Hat Author(s): Bob McWhirter, Przemyslaw Dej, Ryszard Kozmik,
+*     Tomasz Szymanski, Adam Warski, Pawel Wrzeszcz
+*/
+
+package org.jboss.labs.injection.seam;
+
+import com.google.inject.Injector;
+import com.google.inject.Module;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.annotations.*;
+import org.jboss.labs.injection.LabsGuiceModule;
+
+import java.io.Serializable;
+
+/**
+ * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
+ */
+ at Name("org.jboss.labs.injection.seam.guiceConfiguration")
+ at Scope(ScopeType.APPLICATION)
+ at Startup
+ at Install(precedence = Install.FRAMEWORK)
+public class GuiceConfiguration implements Serializable {
+
+   private Module module;
+   private static final long serialVersionUID = -632987093667639748L;
+
+   @Logger private Log log;
+
+   @Factory(value = "org.jboss.labs.injection.seam.guiceInjector",
+            autoCreate = true,
+            scope = ScopeType.APPLICATION)
+   public Injector getGuiceInjector()
+   {
+      // TODO null module?
+      log.info("Module: " + module);      
+
+      module = new LabsGuiceModule(); 
+
+      return com.google.inject.Guice.createInjector(module);
+   }
+
+    public Module getModule()
+    {
+        return module;
+    }
+
+    public void setModule(Module module)
+    {
+        this.module = module;
+    }
+}
\ No newline at end of file

Modified: labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java	2008-04-18 16:14:10 UTC (rev 19629)
+++ labs/jbosslabs/labs-3.0-build/integration/src/main/java/org/jboss/labs/injection/seam/LabsSeamInjectionInterceptor.java	2008-04-18 16:55:33 UTC (rev 19630)
@@ -23,25 +23,40 @@
 
 package org.jboss.labs.injection.seam;
 
-import org.jboss.labs.injection.LabsInjection;
+import com.google.inject.Injector;
+import org.jboss.seam.Component;
 import org.jboss.seam.annotations.intercept.AroundInvoke;
 import org.jboss.seam.annotations.intercept.Interceptor;
+import org.jboss.seam.intercept.AbstractInterceptor;
 import org.jboss.seam.intercept.InvocationContext;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.log.Logging;
 
 /**
  * @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
  */
 @Interceptor
-public class LabsSeamInjectionInterceptor {
+public class LabsSeamInjectionInterceptor extends AbstractInterceptor
+{
+    private Log log = Logging.getLog(LabsSeamInjectionInterceptor.class);
+    
+    private static final long serialVersionUID = -6716553117162905303L;
 
     @AroundInvoke
-    public Object checkLoggedIn(InvocationContext invocation) throws Exception {
+    public Object aroundInvoke(InvocationContext invocationContext) throws Exception 
+    {
 
-//        log.info("Injecting members for: "
-//				+ invocation.getTarget().getClass().getName());
+        log.info("Injecting members for: "
+				+ invocationContext.getTarget().getClass().getName());
 
-        LabsInjection.getInjector().injectMembers(invocation.getTarget());
+        Injector injector = (Injector) Component.getInstance("org.jboss.labs.injection.seam.guiceInjector");
 
-        return invocation.proceed();
+        if (injector != null) {
+            injector.injectMembers(invocationContext.getTarget());
+        } else {
+            log.warn("Null injector.");
+        }
+
+        return invocationContext.proceed();
     }
 }

Added: labs/jbosslabs/labs-3.0-build/integration/src/main/resources/seam.properties
===================================================================

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/AdminEventsListener.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/AdminEventsListener.java	2008-04-18 16:14:10 UTC (rev 19629)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/java/org/jboss/labs/admin/AdminEventsListener.java	2008-04-18 16:55:33 UTC (rev 19630)
@@ -41,13 +41,15 @@
  */
 @Name("adminEventsListener")
 @Scope(ScopeType.APPLICATION)
- at Startup
+ at Startup(depends = "org.jboss.labs.injection.seam.guiceConfiguration")
 @Guice
 public class AdminEventsListener implements AdminEvents, Serializable {
 
     @Logger private Log log;
 
     @Inject EventsService eventsService;
+    
+    private static final long serialVersionUID = -9204861700544697757L;
 
     @Create
     public void onCreate() {

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/resources/seam.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/resources/seam.properties	2008-04-18 16:14:10 UTC (rev 19629)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/resources/seam.properties	2008-04-18 16:55:33 UTC (rev 19630)
@@ -1,3 +1,5 @@
 clearspaceManager.clearspaceURL=http://10.18.66.160:8080/clearspace
 clearspaceManager.clearspaceUser=admin
 clearspaceManager.clearspacePassword=admin
+
+guiceInterceptor.param=This is me!

Modified: labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/WEB-INF/components.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/WEB-INF/components.xml	2008-04-18 16:14:10 UTC (rev 19629)
+++ labs/jbosslabs/labs-3.0-build/views/admin/src/main/webapp/WEB-INF/components.xml	2008-04-18 16:55:33 UTC (rev 19630)
@@ -65,4 +65,14 @@
    <factory name="emailIT" value="jboss at o2.pl" scope="APPLICATION"/>
    <factory name="emailReplyTo" value="jboss at o2.pl" scope="APPLICATION"/>
 
+   <!-- Guice integration -->
+   <component name="labsInjectionModule" class="org.jboss.labs.injection.LabsGuiceModule"
+              auto-create="true" scope="APPLICATION"/>  
+
+   <component name="org.jboss.labs.injection.seam.guiceConfiguration">
+       <!--<property name="module">-->
+            <!--#{labsInjectionModule}-->
+       <!--</property>-->
+   </component>
+
 </components>




More information about the jboss-svn-commits mailing list