Author: rmannibucau
Date: Fri Aug 10 11:02:14 2012
New Revision: 1371652

URL: http://svn.apache.org/viewvc?rev=1371652&view=rev
Log:
adding myfaces listener if not already added

Modified:
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1371652&r1=1371651&r2=1371652&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Fri Aug 10 11:02:14 2012
@@ -33,6 +33,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -41,6 +42,9 @@ public class OpenEJBContextConfig extend
 
     private static Logger logger = Logger.getInstance(LogCategory.OPENEJB, 
OpenEJBContextConfig.class);
 
+    private static final String MYFACES_STARTUP_SERVLET_CONTEXT_LISTENER = 
"org.apache.myfaces.webapp.StartupServletContextListener";
+    private static final String MYFACES_TOMEEM_CONTAINER_INITIALIZER = 
"org.apache.tomee.myfaces.TomEEMyFacesContainerInitializer";
+
     private TomcatWebAppBuilder.StandardContextInfo info;
 
     public OpenEJBContextConfig(TomcatWebAppBuilder.StandardContextInfo 
standardContextInfo) {
@@ -83,10 +87,12 @@ public class OpenEJBContextConfig extend
 
         // add myfaces auto-initializer
         try {
-            final Class<?> myfacesInitializer = 
Class.forName("org.apache.tomee.myfaces.TomEEMyFacesContainerInitializer", 
true, context.getLoader().getClassLoader());
+            final Class<?> myfacesInitializer = 
Class.forName(MYFACES_TOMEEM_CONTAINER_INITIALIZER, true, 
context.getLoader().getClassLoader());
             final ServletContainerInitializer instance = 
(ServletContainerInitializer) myfacesInitializer.newInstance();
             context.addServletContainerInitializer(instance, 
getJsfClasses(context));
-            
context.addApplicationListener("org.apache.myfaces.webapp.StartupServletContextListener");
+            if 
(!Arrays.asList(context.findApplicationListeners()).contains(MYFACES_STARTUP_SERVLET_CONTEXT_LISTENER))
 {
+                
context.addApplicationListener(MYFACES_STARTUP_SERVLET_CONTEXT_LISTENER);
+            }
         } catch (Exception ignored) {
             // no-op
         }


Reply via email to