Author: dblevins
Date: Wed Sep 21 23:31:58 2011
New Revision: 1173903

URL: http://svn.apache.org/viewvc?rev=1173903&view=rev
Log:
Specialized JSF Support allows for optionaly not wrapping the JSF Application 
if CDI is not fully installed

Added:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CustomELAdapter.java
    openejb/trunk/openejb3/container/openejb-jsf/
    openejb/trunk/openejb3/container/openejb-jsf/pom.xml
    openejb/trunk/openejb3/container/openejb-jsf/src/
    openejb/trunk/openejb3/container/openejb-jsf/src/main/
    openejb/trunk/openejb3/container/openejb-jsf/src/main/java/
    openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/
    openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/
    
openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/openejb/
    
openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/openejb/jsf/
    
openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/openejb/jsf/CustomApplicationFactory.java
    openejb/trunk/openejb3/container/openejb-jsf/src/main/resources/
    openejb/trunk/openejb3/container/openejb-jsf/src/main/resources/META-INF/
    
openejb/trunk/openejb3/container/openejb-jsf/src/main/resources/META-INF/faces-config.xml
Modified:
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml
    openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-embedded/pom.xml
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/AppContext.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
    openejb/trunk/openejb3/container/pom.xml
    openejb/trunk/openejb3/pom.xml

Modified: 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml?rev=1173903&r1=1173902&r2=1173903&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml 
(original)
+++ 
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml 
Wed Sep 21 23:31:58 2011
@@ -107,6 +107,18 @@
     </dependency>
     <dependency>
       <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-jsf</artifactId>
+      <version>${project.version}</version>
+      <scope>runtime</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.openejb</groupId>
+          <artifactId>javaee-api</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
       <artifactId>openejb-tomcat-loader</artifactId>
       <version>${project.version}</version>
       <scope>runtime</scope>
@@ -321,10 +333,6 @@
       <version>${myfaces.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.openwebbeans</groupId>
-      <artifactId>openwebbeans-jsf</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.apache.openejb.patch</groupId>
       <artifactId>openejb-jstl</artifactId>
       <version>1.2-SNAPSHOT</version>

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-embedded/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-embedded/pom.xml?rev=1173903&r1=1173902&r2=1173903&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-embedded/pom.xml 
(original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-embedded/pom.xml Wed 
Sep 21 23:31:58 2011
@@ -45,6 +45,12 @@
       <scope>compile</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-jsf</artifactId>
+      <version>${project.version}</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-impl</artifactId>
       <version>2.1.2</version>

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/AppContext.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/AppContext.java?rev=1173903&r1=1173902&r2=1173903&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/AppContext.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/AppContext.java
 Wed Sep 21 23:31:58 2011
@@ -47,6 +47,7 @@ public class AppContext extends Deployme
     private final Context globalJndiContext;
     private final Context appJndiContext;
     private final boolean standaloneModule;
+    private boolean cdiEnabled = false;
     private WebBeansContext webBeansContext;
     private final Collection<Injection> injections = new HashSet<Injection>();
     private final Map<String, Object> bindings = new HashMap<String, Object>();
@@ -93,6 +94,15 @@ public class AppContext extends Deployme
         return webContexts;
     }
 
+
+    public boolean isCdiEnabled() {
+        return cdiEnabled;
+    }
+
+    public void setCdiEnabled(boolean cdiEnabled) {
+        this.cdiEnabled = cdiEnabled;
+    }
+
     @Override
     public String getId() {
         return super.getId();
@@ -138,5 +148,4 @@ public class AppContext extends Deployme
         return blockingQueue.remove(task);
     }
 
-
 }

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1173903&r1=1173902&r2=1173903&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Wed Sep 21 23:31:58 2011
@@ -88,6 +88,7 @@ import org.apache.openejb.cdi.CdiAppCont
 import org.apache.openejb.cdi.CdiBuilder;
 import org.apache.openejb.cdi.CdiResourceInjectionService;
 import org.apache.openejb.cdi.CdiScanner;
+import org.apache.openejb.cdi.CustomELAdapter;
 import org.apache.openejb.cdi.ManagedSecurityService;
 import org.apache.openejb.cdi.OpenEJBTransactionService;
 import org.apache.openejb.core.ConnectorReference;
@@ -132,6 +133,7 @@ import org.apache.webbeans.spi.ContextsS
 import org.apache.webbeans.spi.ResourceInjectionService;
 import org.apache.webbeans.spi.ScannerService;
 import org.apache.webbeans.spi.TransactionService;
+import org.apache.webbeans.spi.adaptor.ELAdaptor;
 import org.apache.xbean.finder.ResourceFinder;
 import org.apache.xbean.recipe.ObjectRecipe;
 import org.apache.xbean.recipe.Option;
@@ -848,13 +850,16 @@ public class Assembler extends Assembler
 
             final Map<Class<?>, Object> services = new HashMap<Class<?>, 
Object>();
 
+            services.put(AppContext.class, appContext);
             services.put(TransactionService.class, new 
OpenEJBTransactionService());
             services.put(ContextsService.class, new 
CdiAppContextsService(true));
             services.put(ResourceInjectionService.class, new 
CdiResourceInjectionService());
             services.put(ScannerService.class, new CdiScanner());
+            services.put(ELAdaptor.class, (ELAdaptor) new 
CustomELAdapter(appContext));
             final Properties properties = new Properties();
             
properties.setProperty(org.apache.webbeans.spi.SecurityService.class.getName(), 
ManagedSecurityService.class.getName());
             webBeansContext = new WebBeansContext(services, properties);
+            appContext.setCdiEnabled(false);
         }
 
         appContext.set(WebBeansContext.class, webBeansContext);

Added: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CustomELAdapter.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CustomELAdapter.java?rev=1173903&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CustomELAdapter.java
 (added)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CustomELAdapter.java
 Wed Sep 21 23:31:58 2011
@@ -0,0 +1,49 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.cdi;
+
+import org.apache.openejb.AppContext;
+import org.apache.webbeans.el.WebBeansELResolver;
+import org.apache.webbeans.el.WrappedExpressionFactory;
+import org.apache.webbeans.spi.adaptor.ELAdaptor;
+
+import javax.el.ELResolver;
+import javax.el.ExpressionFactory;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CustomELAdapter implements ELAdaptor {
+
+    private final AppContext appContext;
+
+    public CustomELAdapter(AppContext appContext) {
+        this.appContext = appContext;
+
+    }
+
+    @Override
+    public ELResolver getOwbELResolver() {
+        return new WebBeansELResolver();
+    }
+
+    @Override
+    public ExpressionFactory getOwbWrappedExpressionFactory(ExpressionFactory 
expressionFactory) {
+        if (!appContext.isCdiEnabled()) return expressionFactory;
+        return new WrappedExpressionFactory(expressionFactory);
+    }
+}

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java?rev=1173903&r1=1173902&r2=1173903&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
 Wed Sep 21 23:31:58 2011
@@ -19,6 +19,8 @@
 package org.apache.openejb.cdi;
 
 import org.apache.openejb.AppContext;
+import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.EjbJarInfo;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
 import org.apache.openejb.util.LogCategory;
@@ -59,6 +61,10 @@ public class ThreadSingletonServiceImpl 
 
     @Override
     public void initialize(StartupObject startupObject) {
+        AppContext appContext = startupObject.getAppContext();
+
+        appContext.setCdiEnabled(hasBeans(startupObject.getAppInfo()));
+
         //initialize owb context, cf geronimo's OpenWebBeansGBean
         Properties properties = new Properties();
         Map<Class<?>, Object> services = new HashMap<Class<?>, Object>();
@@ -71,8 +77,9 @@ public class ThreadSingletonServiceImpl 
         
properties.setProperty(OpenWebBeansConfiguration.APPLICATION_SUPPORTS_CONVERSATION,
 "true");
         properties.setProperty(OpenWebBeansConfiguration.IGNORED_INTERFACES, 
"org.apache.aries.proxy.weaving.WovenProxy");
 
+        services.put(AppContext.class, appContext);
         services.put(TransactionService.class, new 
OpenEJBTransactionService());
-        services.put(ELAdaptor.class, new EL22Adaptor());
+        services.put(ELAdaptor.class,(ELAdaptor) new 
CustomELAdapter(appContext));
         services.put(ContextsService.class, new CdiAppContextsService(true));
         services.put(ResourceInjectionService.class, new 
CdiResourceInjectionService());
         services.put(ScannerService.class, new CdiScanner());
@@ -80,7 +87,7 @@ public class ThreadSingletonServiceImpl 
         optional(services, ConversationService.class, 
"org.apache.webbeans.jsf.DefaultConversationService");
 
         WebBeansContext webBeansContext = new WebBeansContext(services, 
properties);
-        startupObject.getAppContext().set(WebBeansContext.class, 
webBeansContext);
+        appContext.set(WebBeansContext.class, webBeansContext);
         Object old = contextEntered(webBeansContext);
         try {
             setConfiguration(webBeansContext.getOpenWebBeansConfiguration());
@@ -94,6 +101,13 @@ public class ThreadSingletonServiceImpl 
         }
     }
 
+    private boolean hasBeans(AppInfo appInfo) {
+        for (EjbJarInfo ejbJar : appInfo.ejbJars) {
+            if (ejbJar.beans != null) return true;
+        }
+        return false;
+    }
+
     private <T> void optional(Map<Class<?>, Object> services, Class<T> type, 
String implementation) {
         try {
             Class clazz = 
this.getClass().getClassLoader().loadClass(implementation);

Added: openejb/trunk/openejb3/container/openejb-jsf/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jsf/pom.xml?rev=1173903&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jsf/pom.xml (added)
+++ openejb/trunk/openejb3/container/openejb-jsf/pom.xml Wed Sep 21 23:31:58 
2011
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+  <parent>
+    <artifactId>container</artifactId>
+    <groupId>org.apache.openejb</groupId>
+    <version>4.0.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>openejb-jsf</artifactId>
+  <packaging>jar</packaging>
+  <name>OpenEJB :: Container :: JSF</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-core</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-impl</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.myfaces.core</groupId>
+      <artifactId>myfaces-api</artifactId>
+      <version>${myfaces.version}</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb.patch</groupId>
+      <artifactId>openejb-openwebbeans-jsf</artifactId>
+      <version>1.1.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <properties>
+    <netbeans.hint.license>openejb</netbeans.hint.license>
+  </properties>
+</project>

Added: 
openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/openejb/jsf/CustomApplicationFactory.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/openejb/jsf/CustomApplicationFactory.java?rev=1173903&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/openejb/jsf/CustomApplicationFactory.java
 (added)
+++ 
openejb/trunk/openejb3/container/openejb-jsf/src/main/java/org/apache/openejb/jsf/CustomApplicationFactory.java
 Wed Sep 21 23:31:58 2011
@@ -0,0 +1,101 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jsf;
+
+import org.apache.openejb.AppContext;
+import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.spi.adaptor.ELAdaptor;
+
+import javax.el.ExpressionFactory;
+import javax.faces.application.Application;
+import javax.faces.application.ApplicationFactory;
+import javax.faces.application.ApplicationWrapper;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CustomApplicationFactory extends ApplicationFactory {
+
+    private final ApplicationFactory factory;
+    private final WebBeansContext webBeansContext;
+
+    private volatile Application wrappedApplication;
+
+    public CustomApplicationFactory(ApplicationFactory applicationFactory) {
+        this.factory = applicationFactory;
+        webBeansContext = WebBeansContext.getInstance();
+    }
+
+    @Override
+    public Application getApplication() {
+
+        if (!webBeansContext.getBeanManagerImpl().isInUse()) {
+            return factory.getApplication();
+        }
+
+        if (wrappedApplication == null) {
+
+            final AppContext appContext = 
webBeansContext.getService(AppContext.class);
+
+            if (appContext != null && !appContext.isCdiEnabled()) {
+
+                wrappedApplication = factory.getApplication();
+
+            } else {
+
+                final Application application = factory.getApplication();
+
+                wrappedApplication = new ApplicationWrapper() {
+
+                    private volatile ExpressionFactory expressionFactory;
+
+                    @Override
+                    public ExpressionFactory getExpressionFactory() {
+                        if (expressionFactory == null) {
+                            final ELAdaptor elAdaptor = 
webBeansContext.getService(ELAdaptor.class);
+                            expressionFactory = 
elAdaptor.getOwbWrappedExpressionFactory(application.getExpressionFactory());
+                        }
+                        return expressionFactory;
+                    }
+
+                    @Override
+                    public Application getWrapped() {
+                        return application;
+                    }
+                };
+
+            }
+        }
+
+        return wrappedApplication;
+    }
+
+    @Override
+    public void setApplication(Application application) {
+        wrappedApplication = application;
+        this.factory.setApplication(application);
+    }
+
+    /* (non-Javadoc)
+    * @see javax.faces.application.ApplicationFactory#getWrapped()
+    */
+    @Override
+    public ApplicationFactory getWrapped() {
+        return factory;
+    }
+
+}

Added: 
openejb/trunk/openejb3/container/openejb-jsf/src/main/resources/META-INF/faces-config.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jsf/src/main/resources/META-INF/faces-config.xml?rev=1173903&view=auto
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-jsf/src/main/resources/META-INF/faces-config.xml
 (added)
+++ 
openejb/trunk/openejb3/container/openejb-jsf/src/main/resources/META-INF/faces-config.xml
 Wed Sep 21 23:31:58 2011
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--                                                                           
                                                                                
                                                     
+Licensed to the Apache Software Foundation (ASF) under one                     
                                                                                
                                                     
+or more contributor license agreements.  See the NOTICE file                   
                                                                                
                                                     
+distributed with this work for additional information                          
                                                                                
                                                     
+regarding copyright ownership.  The ASF licenses this file                     
                                                                                
                                                     
+to you under the Apache License, Version 2.0 (the                              
                                                                                
                                                     
+"License"); you may not use this file except in compliance                     
                                                                                
                                                     
+with the License.  You may obtain a copy of the License at                     
                                                                                
                                                     
+                                                                               
                                                                                
                                                     
+  http://www.apache.org/licenses/LICENSE-2.0                                   
                                                                                
                                                     
+                                                                               
                                                                                
                                                     
+Unless required by applicable law or agreed to in writing,                     
                                                                                
                                                     
+software distributed under the License is distributed on an                    
                                                                                
                                                     
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY                         
                                                                                
                                                     
+KIND, either express or implied.  See the License for the                      
                                                                                
                                                     
+specific language governing permissions and limitations                        
                                                                                
                                                     
+under the License.                                                             
                                                                                
                                                     
+-->
+<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee";
+              xmlns:xi="http://www.w3.org/2001/XInclude";
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd";>
+
+  <name>org_apache_openwebbeans</name>
+
+  <factory>
+    
<application-factory>org.apache.openejb.jsf.CustomApplicationFactory</application-factory>
+  </factory>
+
+  <application>
+    
<view-handler>org.apache.webbeans.jsf.ConversationAwareViewHandler</view-handler>
+    <el-resolver>org.apache.webbeans.el.WebBeansELResolver</el-resolver>
+  </application>
+
+  <lifecycle>
+    
<phase-listener>org.apache.webbeans.jsf.WebBeansPhaseListener</phase-listener>
+  </lifecycle>
+
+</faces-config>
+
+

Modified: openejb/trunk/openejb3/container/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/pom.xml?rev=1173903&r1=1173902&r2=1173903&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/pom.xml (original)
+++ openejb/trunk/openejb3/container/pom.xml Wed Sep 21 23:31:58 2011
@@ -37,5 +37,6 @@
     <module>openejb-osgi</module>
     <module>openejb-junit</module>
     <module>openejb-core-hibernate</module>
+    <module>openejb-jsf</module>
   </modules>
 </project>
\ No newline at end of file

Modified: openejb/trunk/openejb3/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/pom.xml?rev=1173903&r1=1173902&r2=1173903&view=diff
==============================================================================
--- openejb/trunk/openejb3/pom.xml (original)
+++ openejb/trunk/openejb3/pom.xml Wed Sep 21 23:31:58 2011
@@ -138,6 +138,7 @@
     <org.apache.axis2.version>1.4.1</org.apache.axis2.version>
     <org.apache.openwebbeans.version>1.1.1</org.apache.openwebbeans.version>
     <geronimo.connector.version>3.1.1</geronimo.connector.version>
+    <myfaces.version>2.0.7</myfaces.version>
   </properties>
 
   <build>


Reply via email to