[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