Author: dblevins
Date: Mon Sep 12 16:53:16 2011
New Revision: 1169828

URL: http://svn.apache.org/viewvc?rev=1169828&view=rev
Log:
Move the openwebbeans-jsf dependency into the assembly/
Not needed in the core

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/pom.xml
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java

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=1169828&r1=1169827&r2=1169828&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 
Mon Sep 12 16:53:16 2011
@@ -319,6 +319,10 @@
       <version>${myfaces.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-jsf</artifactId>
+    </dependency>
+    <dependency>
       <groupId>jstl</groupId>
       <artifactId>jstl</artifactId>
       <version>1.2</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=1169828&r1=1169827&r2=1169828&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-embedded/pom.xml 
(original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-embedded/pom.xml Mon 
Sep 12 16:53:16 2011
@@ -74,6 +74,10 @@
        <!--<version>${version.arquillian}</version>-->
     <!--</dependency>-->
     <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-jsf</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-impl</artifactId>
       <version>2.1.2</version>

Modified: openejb/trunk/openejb3/container/openejb-core/pom.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/pom.xml?rev=1169828&r1=1169827&r2=1169828&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/pom.xml (original)
+++ openejb/trunk/openejb3/container/openejb-core/pom.xml Mon Sep 12 16:53:16 
2011
@@ -422,10 +422,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.openwebbeans</groupId>
-      <artifactId>openwebbeans-jsf</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.openwebbeans</groupId>
       <artifactId>openwebbeans-ee</artifactId>
     </dependency>
     <dependency>

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=1169828&r1=1169827&r2=1169828&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
 Mon Sep 12 16:53:16 2011
@@ -25,18 +25,14 @@ import org.apache.openejb.util.LogCatego
 import org.apache.openejb.util.Logger;
 import org.apache.webbeans.config.OpenWebBeansConfiguration;
 import org.apache.webbeans.config.WebBeansContext;
-import org.apache.webbeans.container.BeanManagerImpl;
 import org.apache.webbeans.el.el22.EL22Adaptor;
-import org.apache.webbeans.jsf.DefaultConversationService;
 import org.apache.webbeans.spi.ContainerLifecycle;
 import org.apache.webbeans.spi.ContextsService;
 import org.apache.webbeans.spi.ConversationService;
-import org.apache.webbeans.spi.JNDIService;
 import org.apache.webbeans.spi.ResourceInjectionService;
 import org.apache.webbeans.spi.ScannerService;
 import org.apache.webbeans.spi.SecurityService;
 import org.apache.webbeans.spi.TransactionService;
-import org.apache.webbeans.spi.ValidatorService;
 import org.apache.webbeans.spi.adaptor.ELAdaptor;
 
 import java.util.Collections;
@@ -77,10 +73,12 @@ public class ThreadSingletonServiceImpl 
 
         services.put(TransactionService.class, new 
OpenEJBTransactionService());
         services.put(ELAdaptor.class, new EL22Adaptor());
-        services.put(ConversationService.class, new 
DefaultConversationService());
         services.put(ContextsService.class, new CdiAppContextsService(true));
         services.put(ResourceInjectionService.class, new 
CdiResourceInjectionService());
         services.put(ScannerService.class, new CdiScanner());
+
+        optional(services, ConversationService.class, 
"org.apache.webbeans.jsf.DefaultConversationService");
+
         WebBeansContext webBeansContext = new WebBeansContext(services, 
properties);
         startupObject.getAppContext().set(WebBeansContext.class, 
webBeansContext);
         Object old = contextEntered(webBeansContext);
@@ -96,6 +94,19 @@ public class ThreadSingletonServiceImpl 
         }
     }
 
+    private <T> void optional(Map<Class<?>, Object> services, Class<T> type, 
String implementation) {
+        try {
+            Class clazz = 
this.getClass().getClassLoader().loadClass(implementation);
+            services.put(type, type.cast(clazz.newInstance()));
+
+            logger.debug(String.format("CDI Service Installed: %s = %s", 
type.getName(), implementation));
+        } catch (ClassNotFoundException e) {
+            logger.debug(String.format("CDI Service not installed: %s", 
type.getName()));
+        } catch (Exception e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
     //not sure what openejb will need
 
     private void setConfiguration(OpenWebBeansConfiguration configuration) {


Reply via email to