[jboss-cvs] JBossAS SVN: r61099 - in trunk: testsuite/src/jdk15/org/jboss/test and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 5 15:34:19 EST 2007


Author: stan.silvert at jboss.com
Date: 2007-03-05 15:34:19 -0500 (Mon, 05 Mar 2007)
New Revision: 61099

Added:
   trunk/testsuite/src/main/org/jboss/test/jsf/
   trunk/testsuite/src/main/org/jboss/test/jsf/webapp/
   trunk/testsuite/src/main/org/jboss/test/jsf/webapp/InjectionBean.java
   trunk/testsuite/src/main/org/jboss/test/jsf/webapp/JBossColor.java
   trunk/testsuite/src/main/org/jboss/test/jsf/webapp/MySessionBean.java
Removed:
   trunk/testsuite/src/jdk15/org/jboss/test/jsf/
Modified:
   trunk/build/build-thirdparty.xml
   trunk/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java
   trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossInjectionProvider.java
Log:
Upgrade JSF version to 1.2_03


Modified: trunk/build/build-thirdparty.xml
===================================================================
--- trunk/build/build-thirdparty.xml	2007-03-05 20:16:15 UTC (rev 61098)
+++ trunk/build/build-thirdparty.xml	2007-03-05 20:34:19 UTC (rev 61099)
@@ -1,158 +1,158 @@
-<?xml version="1.0"?>
-
-<!-- $Id: $ -->
-
-<project name="main.build"
-          default="synchronize"
-          basedir=".">
-
-   <!-- Property File definitions -->
-   <property file="local.properties"/>
-   <property file="synchronize.properties"/>
-   <property environment="env"/>
-
-   <!-- Property Definitions -->
-   <property name="generatedLibrariesFiles" value="../thirdparty/libraries.ent"/>
-
-   <!-- Allow jbossbuild.repository to be set from (in order or priority)
-      + Command line -Djbossbuild.repository=...
-      + synchronize.properties jbossbuild.repository setting
-      + JBOSS_REPOSITORY environment variable
-   -->
-   <condition property="jbossbuild.repository" value="${env.JBOSS_REPOSITORY}">
-      <isset property="env.JBOSS_REPOSITORY"/>
-   </condition>
-   <!-- Fall back to default -->
-   <property name="jbossbuild.repository" value="http://repository.jboss.com"/>
-
-   <!-- File Imports -->
-   <import file="../tools/etc/jbossbuild/tasks.xml"/>
-
-
-   <!-- Main Definition of dependencies -->
-   <build id="jbossas-thirdparty"
-          impltitle="JBossAS"
-          implversion="jboss-head"
-          implvendor="JBoss Inc."
-          implurl="http://www.jboss.org"
-          description="JBoss Application Server"
-          cvsroot="${cvs.prefix}@cvs.forge.jboss.com:/cvsroot/jboss"
-          thirdpartypath="../thirdparty/"
-          location="${jbossbuild.repository}"
-          targetdefs="targets">
-
-      <!--
-        The repository is in CVS under the module repository.jboss.com whose contents
-        are pushed to the http://repository.jboss.com site.
-      -->
-
-      <componentref name="antlr" version="2.7.6.ga"/>
-      <componentref name="apache-avalon" version="4.1.5"/>
-      <componentref name="apache-avalon-logkit" version="1.2"/>
-      <componentref name="apache-bcel" version="5.1"/>
-      <componentref name="apache-beanutils" version="1.7.0"/>
-      <componentref name="apache-bsf" version="2.3.0"/>
-      <componentref name="apache-codec" version="1.3.0"/>
-      <componentref name="apache-collections" version="3.1"/>
-      <componentref name="apache-digester" version="1.6"/>
-      <componentref name="apache-discovery" version="0.2"/>
-      <componentref name="apache-fileupload" version="1.0"/>
-      <componentref name="apache-httpclient" version="2.0.2"/>
-      <componentref name="apache-jaxme" version="0.2-cvs"/>
-      <componentref name="apache-log4j" version="1.2.8"/>
-      <componentref name="apache-logging" version="1.1.0.jboss"/>
-      <componentref name="apache-myfaces" version="1.1.3"/>
-      <componentref name="apache-scout" version="0.7rc2"/>
-      <componentref name="apache-slide" version="2.0"/>
-      <componentref name="apache-velocity" version="1.4jboss"/>
-      <componentref name="apache-xalan" version="j_2.7.0"/>
-      <componentref name="apache-xerces" version="2.7.1"/>
-      <componentref name="apache-xmlsec" version="1.3.0"/>
-      <componentref name="asm" version="1.5.3"/>
-      <componentref name="beanshell" version="1.3.0"/>
-      <componentref name="cglib" version="2.1.3.nodep"/>
-      <componentref name="dom4j" version="1.6.1jboss"/>
-      <componentref name="easymock" version="1.1"/>
-      <componentref name="ehcache" version="1.2.0.GA"/>
-      <componentref name="gjt-jpl-util" version="1.0"/>
-      <componentref name="gnu-getopt" version="1.0.10"/>
-      <componentref name="hibernate" version="3.2.1.GA"/>
-      <componentref name="hibernate-annotations" version="3.2.0.GA"/>
-      <componentref name="hibernate-entitymanager" version="3.2.0.GA"/>
-      <componentref name="hsqldb" version="1.8.0.2"/>
-      <componentref name="ibm-wsdl4j" version="1.5.2jboss"/>
-      <componentref name="jacorb" version="2.2.4jboss.patch1"/>
-      <componentref name="javassist" version="3.5.0.CR1"/>
-      <componentref name="jaxen" version="1.1-beta-10"/>
-      <componentref name="jboss/aop" version="2.0.0.alpha3"/>
-      <componentref name="jboss/backport-concurrent" version="2.1.0.GA"/>
-      <componentref name="jboss/cache" version="2.0.0.snapshot"/>
-      <componentref name="jboss/common-core" version="2.0.4.Alpha"/>
-      <componentref name="jboss/common-logging-log4j" version="2.0.2.GA"/>
-      <componentref name="jboss/common-logging-jdk" version="2.0.2.GA"/>
-      <componentref name="jboss/common-logging-spi" version="2.0.2.GA"/>
-      <componentref name="jboss/jaxr" version="1.2.0.GA"/>
-      <componentref name="jboss/jbossxb" version="snapshot"/>
-      <componentref name="jboss/jbossws" version="snapshot"/>
-      <componentref name="jboss/jbossws-wsconsume-impl" version="2.0.0"/>
-      <componentref name="jboss/messaging" version="1.2.0.CR1"/>
-      <componentref name="jboss/microcontainer" version="snapshot"/>
-      <componentref name="jboss/jboss-vfs" version="2.0.0.snapshot"/>
-      <componentref name="jboss/remoting" version="2.2.0.Alpha7"/>
-      <componentref name="jboss/jbossretro" version="1.0.4.GA"/>
-      <componentref name="jboss/jbossts" version="4.2.2.GA"/>
-      <componentref name="jboss/security-spi" version="2.0.0.Beta"/>
-      <componentref name="jboss/security" version="2.0.0.Beta"/>
-      <componentref name="jboss/serialization" version="1.0.3.GA"/>
-      <componentref name="jboss/profiler/jvmti" version="1.0.0.CR5"/>
-      <componentref name="jboss/test" version="1.0.2.GA"/>
-      <componentref name="jboss/web" version="2.0.0.snapshot"/>
-      <componentref name="jbpm" version="3.0.2"/>
-      <componentref name="jfreechart" version="0.9.20"/>
-      <componentref name="jgroups" version="2.4.1"/>
-      <componentref name="joesnmp" version="0.3.4"/>
-      <componentref name="juddi" version="0.9RC4"/>
-      <componentref name="junit" version="3.8.1"/>
-      <componentref name="junitejb" version="1.4"/>
-      <componentref name="objectweb-joramtests" version="1.1"/>
-      <componentref name="odmg" version="3.0"/>
-      <componentref name="opensaml" version="1.1b"/>
-      <componentref name="oswego-concurrent" version="1.3.4"/>
-      <componentref name="quartz" version="1.5.2"/>
-      <componentref name="qdox" version="1.6"/>
-      <componentref name="sleepycat" version="3.0.12"/>
-      <componentref name="spring" version="2.0"/>
-      <componentref name="sun-jaf" version="1.1"/>
-      <componentref name="sun-jaxb" version="2.0.3"/>
-      <componentref name="sun-jsf" version="1.2.1_02"/>
-      <componentref name="sun-javacc" version="3.2"/>
-      <componentref name="sun-javamail" version="1.4"/>
-      <componentref name="sun-jstl" version="1.2"/>
-      <componentref name="sun-opends" version="0.1.0.build016"/>
-      <componentref name="sun-servlet" version="2.4"/>
-      <componentref name="sun-xacml" version="2.0"/>
-      <componentref name="trove" version="1.0.2"/>
-      <componentref name="woodstox" version="3.1.1"/>
-      <componentref name="wutka-dtdparser" version="1.2.1"/>
-      <componentref name="xdoclet" version="1.2b3"/>
-      <componentref name="xmlunit-xmlunit" version="1.0"/>
-      <componentref name="jboss/jms-integration-tests" version="1.0.1.GA"/>
-
-
-   </build>
-
-   <synchronizeinfo/>
-
-   <!-- Generate the targets -->
-   <generate generate="jbossas-thirdparty"/>
-
-
-   <target name="generate-lib-file"
-      description="generate libraries.ent and thirdparty license info"
-      depends="synchronize">
-         <gen-lib-file filename="${generatedLibrariesFiles}" />
-      <visit-componentref-graph
-         componentVisitor="org.jboss.ant.util.graph.ComponentRefGraphLicenseVisitor" />
-   </target>
-
-</project>
+<?xml version="1.0"?>
+
+<!-- $Id: $ -->
+
+<project name="main.build"
+          default="synchronize"
+          basedir=".">
+
+   <!-- Property File definitions -->
+   <property file="local.properties"/>
+   <property file="synchronize.properties"/>
+   <property environment="env"/>
+
+   <!-- Property Definitions -->
+   <property name="generatedLibrariesFiles" value="../thirdparty/libraries.ent"/>
+
+   <!-- Allow jbossbuild.repository to be set from (in order or priority)
+      + Command line -Djbossbuild.repository=...
+      + synchronize.properties jbossbuild.repository setting
+      + JBOSS_REPOSITORY environment variable
+   -->
+   <condition property="jbossbuild.repository" value="${env.JBOSS_REPOSITORY}">
+      <isset property="env.JBOSS_REPOSITORY"/>
+   </condition>
+   <!-- Fall back to default -->
+   <property name="jbossbuild.repository" value="http://repository.jboss.com"/>
+
+   <!-- File Imports -->
+   <import file="../tools/etc/jbossbuild/tasks.xml"/>
+
+
+   <!-- Main Definition of dependencies -->
+   <build id="jbossas-thirdparty"
+          impltitle="JBossAS"
+          implversion="jboss-head"
+          implvendor="JBoss Inc."
+          implurl="http://www.jboss.org"
+          description="JBoss Application Server"
+          cvsroot="${cvs.prefix}@cvs.forge.jboss.com:/cvsroot/jboss"
+          thirdpartypath="../thirdparty/"
+          location="${jbossbuild.repository}"
+          targetdefs="targets">
+
+      <!--
+        The repository is in CVS under the module repository.jboss.com whose contents
+        are pushed to the http://repository.jboss.com site.
+      -->
+
+      <componentref name="antlr" version="2.7.6.ga"/>
+      <componentref name="apache-avalon" version="4.1.5"/>
+      <componentref name="apache-avalon-logkit" version="1.2"/>
+      <componentref name="apache-bcel" version="5.1"/>
+      <componentref name="apache-beanutils" version="1.7.0"/>
+      <componentref name="apache-bsf" version="2.3.0"/>
+      <componentref name="apache-codec" version="1.3.0"/>
+      <componentref name="apache-collections" version="3.1"/>
+      <componentref name="apache-digester" version="1.6"/>
+      <componentref name="apache-discovery" version="0.2"/>
+      <componentref name="apache-fileupload" version="1.0"/>
+      <componentref name="apache-httpclient" version="2.0.2"/>
+      <componentref name="apache-jaxme" version="0.2-cvs"/>
+      <componentref name="apache-log4j" version="1.2.8"/>
+      <componentref name="apache-logging" version="1.1.0.jboss"/>
+      <componentref name="apache-myfaces" version="1.1.3"/>
+      <componentref name="apache-scout" version="0.7rc2"/>
+      <componentref name="apache-slide" version="2.0"/>
+      <componentref name="apache-velocity" version="1.4jboss"/>
+      <componentref name="apache-xalan" version="j_2.7.0"/>
+      <componentref name="apache-xerces" version="2.7.1"/>
+      <componentref name="apache-xmlsec" version="1.3.0"/>
+      <componentref name="asm" version="1.5.3"/>
+      <componentref name="beanshell" version="1.3.0"/>
+      <componentref name="cglib" version="2.1.3.nodep"/>
+      <componentref name="dom4j" version="1.6.1jboss"/>
+      <componentref name="easymock" version="1.1"/>
+      <componentref name="ehcache" version="1.2.0.GA"/>
+      <componentref name="gjt-jpl-util" version="1.0"/>
+      <componentref name="gnu-getopt" version="1.0.10"/>
+      <componentref name="hibernate" version="3.2.1.GA"/>
+      <componentref name="hibernate-annotations" version="3.2.0.GA"/>
+      <componentref name="hibernate-entitymanager" version="3.2.0.GA"/>
+      <componentref name="hsqldb" version="1.8.0.2"/>
+      <componentref name="ibm-wsdl4j" version="1.5.2jboss"/>
+      <componentref name="jacorb" version="2.2.4jboss.patch1"/>
+      <componentref name="javassist" version="3.5.0.CR1"/>
+      <componentref name="jaxen" version="1.1-beta-10"/>
+      <componentref name="jboss/aop" version="2.0.0.alpha3"/>
+      <componentref name="jboss/backport-concurrent" version="2.1.0.GA"/>
+      <componentref name="jboss/cache" version="2.0.0.snapshot"/>
+      <componentref name="jboss/common-core" version="2.0.4.Alpha"/>
+      <componentref name="jboss/common-logging-log4j" version="2.0.2.GA"/>
+      <componentref name="jboss/common-logging-jdk" version="2.0.2.GA"/>
+      <componentref name="jboss/common-logging-spi" version="2.0.2.GA"/>
+      <componentref name="jboss/jaxr" version="1.2.0.GA"/>
+      <componentref name="jboss/jbossxb" version="snapshot"/>
+      <componentref name="jboss/jbossws" version="snapshot"/>
+      <componentref name="jboss/jbossws-wsconsume-impl" version="2.0.0"/>
+      <componentref name="jboss/messaging" version="1.2.0.CR1"/>
+      <componentref name="jboss/microcontainer" version="snapshot"/>
+      <componentref name="jboss/jboss-vfs" version="2.0.0.snapshot"/>
+      <componentref name="jboss/remoting" version="2.2.0.Alpha7"/>
+      <componentref name="jboss/jbossretro" version="1.0.4.GA"/>
+      <componentref name="jboss/jbossts" version="4.2.2.GA"/>
+      <componentref name="jboss/security-spi" version="2.0.0.Beta"/>
+      <componentref name="jboss/security" version="2.0.0.Beta"/>
+      <componentref name="jboss/serialization" version="1.0.3.GA"/>
+      <componentref name="jboss/profiler/jvmti" version="1.0.0.CR5"/>
+      <componentref name="jboss/test" version="1.0.2.GA"/>
+      <componentref name="jboss/web" version="2.0.0.snapshot"/>
+      <componentref name="jbpm" version="3.0.2"/>
+      <componentref name="jfreechart" version="0.9.20"/>
+      <componentref name="jgroups" version="2.4.1"/>
+      <componentref name="joesnmp" version="0.3.4"/>
+      <componentref name="juddi" version="0.9RC4"/>
+      <componentref name="junit" version="3.8.1"/>
+      <componentref name="junitejb" version="1.4"/>
+      <componentref name="objectweb-joramtests" version="1.1"/>
+      <componentref name="odmg" version="3.0"/>
+      <componentref name="opensaml" version="1.1b"/>
+      <componentref name="oswego-concurrent" version="1.3.4"/>
+      <componentref name="quartz" version="1.5.2"/>
+      <componentref name="qdox" version="1.6"/>
+      <componentref name="sleepycat" version="3.0.12"/>
+      <componentref name="spring" version="2.0"/>
+      <componentref name="sun-jaf" version="1.1"/>
+      <componentref name="sun-jaxb" version="2.0.3"/>
+      <componentref name="sun-jsf" version="1.2_03"/>
+      <componentref name="sun-javacc" version="3.2"/>
+      <componentref name="sun-javamail" version="1.4"/>
+      <componentref name="sun-jstl" version="1.2"/>
+      <componentref name="sun-opends" version="0.1.0.build016"/>
+      <componentref name="sun-servlet" version="2.4"/>
+      <componentref name="sun-xacml" version="2.0"/>
+      <componentref name="trove" version="1.0.2"/>
+      <componentref name="woodstox" version="3.1.1"/>
+      <componentref name="wutka-dtdparser" version="1.2.1"/>
+      <componentref name="xdoclet" version="1.2b3"/>
+      <componentref name="xmlunit-xmlunit" version="1.0"/>
+      <componentref name="jboss/jms-integration-tests" version="1.0.1.GA"/>
+
+
+   </build>
+
+   <synchronizeinfo/>
+
+   <!-- Generate the targets -->
+   <generate generate="jbossas-thirdparty"/>
+
+
+   <target name="generate-lib-file"
+      description="generate libraries.ent and thirdparty license info"
+      depends="synchronize">
+         <gen-lib-file filename="${generatedLibrariesFiles}" />
+      <visit-componentref-graph
+         componentVisitor="org.jboss.ant.util.graph.ComponentRefGraphLicenseVisitor" />
+   </target>
+
+</project>

Added: trunk/testsuite/src/main/org/jboss/test/jsf/webapp/InjectionBean.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jsf/webapp/InjectionBean.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jsf/webapp/InjectionBean.java	2007-03-05 20:34:19 UTC (rev 61099)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.jsf.webapp;
+
+import java.util.Map;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.annotation.Resource;
+import javax.el.ELContext;
+import javax.el.ExpressionFactory;
+import javax.el.ValueExpression;
+import javax.faces.context.FacesContext;
+import javax.naming.InitialContext;
+import javax.sql.DataSource;
+
+/**
+ * Tests resource injection and lifecycle annotations for JSF managed bean.
+ *
+ * @author Stan Silvert
+ */
+public class InjectionBean {
+    
+    private DataSource defaultDS;
+    
+    private boolean postConstructCalled = false;
+    private boolean datasourceInjected = false;
+    
+    // This bean lives in the HttpSession.  Save a reference here.
+    private MySessionBean mySessionBean = null;
+    
+    /** Creates a new instance of InjectionBean */
+    public InjectionBean() {
+    }
+    
+    public String getName() {
+        return "InjectionBean";
+    }
+    
+    public boolean getPostConstructCalled() {
+        return this.postConstructCalled;
+    }
+    
+    public boolean getDatasourceInjected() {
+        return this.datasourceInjected;
+    }
+
+    // TODO: test this annotation on a private method
+    @PostConstruct
+    private void testPostConstruct() {
+        this.postConstructCalled = true;
+        
+        Object dataSourceFromLookup = null;
+        try {
+            dataSourceFromLookup = new InitialContext().lookup("java:/DefaultDS");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        
+        if (defaultDS == dataSourceFromLookup) {
+            this.datasourceInjected = true;
+        } 
+        
+        // doing this puts an instance of MySesisonBean into the session
+        ValueExpression preDestroyVe = expressionFactory().createValueExpression(elContext(), "#{mySessionBean}", MySessionBean.class);
+        this.mySessionBean = (MySessionBean)preDestroyVe.getValue(elContext());
+        
+    }
+    
+    private ELContext elContext() {
+        return FacesContext.getCurrentInstance().getELContext();
+    }
+    
+    private ExpressionFactory expressionFactory() {
+        return FacesContext.getCurrentInstance().getApplication().getExpressionFactory();
+    }
+    
+    @PreDestroy
+    public void testPreDestroy() {
+        this.mySessionBean.setPreDestroyCalled(true);
+    }
+    
+    @Resource(name="java:/DefaultDS")
+    public void setDefaultDS(DataSource dataSource) {
+        this.defaultDS = dataSource;
+    }
+    
+}

Added: trunk/testsuite/src/main/org/jboss/test/jsf/webapp/JBossColor.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jsf/webapp/JBossColor.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jsf/webapp/JBossColor.java	2007-03-05 20:34:19 UTC (rev 61099)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.jsf.webapp;
+
+/**
+ * Simple enumeration of colors.
+ *
+ * @author Stan Silvert
+ */
+public enum JBossColor {
+  RED, BLUE, ORANGE, GREEN, PURPLE, YELLOW, TEAL
+}

Added: trunk/testsuite/src/main/org/jboss/test/jsf/webapp/MySessionBean.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jsf/webapp/MySessionBean.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jsf/webapp/MySessionBean.java	2007-03-05 20:34:19 UTC (rev 61099)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.jsf.webapp;
+
+/**
+ * Session bean used to tell if @PreDestroy was called on the InjectionBean.
+ *
+ * Also allows you to get the numList for testing JSTL/JSF integration.
+ *
+ * @author Stan Silvert
+ */
+public class MySessionBean {
+    
+    private String[] numList = {"number one", "number two", "number three"};
+    
+    private boolean preDestroyCalled = false;
+
+    private JBossColor color = JBossColor.PURPLE;
+    
+    public boolean isPreDestroyCalled() {
+        return this.preDestroyCalled;
+    }
+    
+    public void setPreDestroyCalled(boolean preDestroyCalled) {
+        this.preDestroyCalled = preDestroyCalled;
+    }
+
+    public JBossColor getColor() {
+        return this.color;
+    }
+
+    public void setColor(JBossColor color) {
+        this.color = color;
+    }
+    
+    public String[] getNumList() {
+        return this.numList;
+    }
+    
+    public void setNumList(String[] numList) {
+        this.numList = numList;
+    }
+}

Modified: trunk/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java	2007-03-05 20:16:15 UTC (rev 61098)
+++ trunk/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java	2007-03-05 20:34:19 UTC (rev 61099)
@@ -55,9 +55,25 @@
             setLog4J();
         }
 
+        checkForMyFaces();
+
         super.contextInitialized(event);
     }
     
+    private void checkForMyFaces()
+    {
+        try
+        {
+            Thread.currentThread()
+                  .getContextClassLoader()
+                  .loadClass("org.apache.myfaces.webapp.StartupServletContextListener");
+            LOG.warn("MyFaces JSF implementation found!  This version of JBoss AS ships with the java.net implementation of JSF.  There are known issues when mixing JSF implementations.  This warning does not apply to MyFaces component libraries such as Tomahawk.  However, myfaces-impl.jar and myfaces-api.jar should not be used without surgical removal of the java.net JSF implementation.  See the JBoss wiki for more details.");
+        }
+        catch (ClassNotFoundException e)
+        {
+            // ignore - this is a good thing
+        }
+    }
     /**
      * If Log4J is being used, set a filter that converts JSF RI java.util.logger
      * messages to Log4J messages.

Modified: trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossInjectionProvider.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossInjectionProvider.java	2007-03-05 20:16:15 UTC (rev 61098)
+++ trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossInjectionProvider.java	2007-03-05 20:34:19 UTC (rev 61099)
@@ -84,6 +84,17 @@
     }
 
     /**
+     * Call methods on a managed bean that are annotated with @PostConstruct.
+     */
+    public void invokePostConstruct(Object managedBean) throws InjectionProviderException {
+        try {
+            annotationProcessor.postConstruct(managedBean);
+        } catch (Exception e) {
+            LOG.error("PostConstruct failed on managed bean.", e);
+        }
+    }
+
+    /**
      * Inject naming resources into a managed bean and then call methods
      * annotated with @PostConstruct.
      */
@@ -96,11 +107,6 @@
             }
         }
         
-        try {
-            annotationProcessor.postConstruct(managedBean);
-        } catch (Exception e) {
-            LOG.error("PostConstruct failed on managed bean.", e);
-        }
     }
     
 }




More information about the jboss-cvs-commits mailing list