You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/03/13 20:24:10 UTC

svn commit: r922655 - in /openwebbeans/trunk: samples/ webbeans-ee-common/src/main/resources/META-INF/openwebbeans/ webbeans-ee/src/main/java/org/apache/webbeans/ee/services/ webbeans-ee/src/main/resources/META-INF/ webbeans-impl/src/main/java/org/apac...

Author: gerdogdu
Date: Sat Mar 13 19:24:09 2010
New Revision: 922655

URL: http://svn.apache.org/viewvc?rev=922655&view=rev
Log:
[OWB-324] Add Tomcat Plugin

Removed:
    openwebbeans/trunk/webbeans-ee/src/main/java/org/apache/webbeans/ee/services/
    openwebbeans/trunk/webbeans-ee/src/main/resources/META-INF/
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java
Modified:
    openwebbeans/trunk/samples/pom.xml
    openwebbeans/trunk/webbeans-ee-common/src/main/resources/META-INF/openwebbeans/openwebbeans-ee-common.properties
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansFinder.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/spi/ServiceLoader.java
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java

Modified: openwebbeans/trunk/samples/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/pom.xml?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/samples/pom.xml (original)
+++ openwebbeans/trunk/samples/pom.xml Sat Mar 13 19:24:09 2010
@@ -35,6 +35,7 @@ under the License.
            <module>ejb-telephone</module>
            <module>jms-sample</module>
            <module>reservation</module>
+           <module>tomcat-sample</module>
            <module>standalone-sample</module>
         </modules>
 </project>

Modified: openwebbeans/trunk/webbeans-ee-common/src/main/resources/META-INF/openwebbeans/openwebbeans-ee-common.properties
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ee-common/src/main/resources/META-INF/openwebbeans/openwebbeans-ee-common.properties?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ee-common/src/main/resources/META-INF/openwebbeans/openwebbeans-ee-common.properties (original)
+++ openwebbeans/trunk/webbeans-ee-common/src/main/resources/META-INF/openwebbeans/openwebbeans-ee-common.properties Sat Mar 13 19:24:09 2010
@@ -28,5 +28,5 @@
 
 ################################### Default JNDI Service #######################################
 #Default implementation of org.apache.webbeans.spi.JNDIService.
-org.apache.webbeans.spi.JNDIService=org.apache.webbeans.ee.common.JNDIServiceEnterpriseImpl
+org.apache.webbeans.spi.JNDIService=org.apache.webbeans.ee.common.services.JNDIServiceEnterpriseImpl
 ################################################################################################

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java Sat Mar 13 19:24:09 2010
@@ -43,7 +43,6 @@ public class OpenWebBeansConfiguration
     /**Default configuration files*/
     private final static String DEFAULT_CONFIG_PROPERTIES_NAME = "META-INF/openwebbeans/openwebbeans-default.properties";
     private final static String CONFIG_EE_COMMON_PROPERTIES_NAME = "META-INF/openwebbeans/openwebbeans-ee-common.properties";
-    private final static String CONFIG_EE_FULL_PROPERTIES_NAME = "META-INF/openwebbeans/openwebbeans-ee-full.properties";
     private final static String CONFIG_EE_WEB_PROPERTIES_NAME = "META-INF/openwebbeans/openwebbeans-ee-web.properties";
     private final static String CONFIG_JMS_PROPERTIES_NAME = "META-INF/openwebbeans/openwebbeans-jms.properties";
     private final static String CONFIG_JSF_PROPERTIES_NAME = "META-INF/openwebbeans/openwebbeans-jsf.properties";
@@ -203,9 +202,6 @@ public class OpenWebBeansConfiguration
         is = loader.getResourceAsStream(CONFIG_EE_WEB_PROPERTIES_NAME);
         load(is, newConfigProperties);
 
-        is = loader.getResourceAsStream(CONFIG_EE_FULL_PROPERTIES_NAME);
-        load(is, newConfigProperties);
-        
         // and now overload those settings with the ones from the more specialized version (if available)
         
         URL configUrl = loader.getResource(CONFIG_PROPERTIES_NAME);

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansFinder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansFinder.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansFinder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansFinder.java Sat Mar 13 19:24:09 2010
@@ -23,7 +23,6 @@ import org.apache.webbeans.decorator.Dec
 import org.apache.webbeans.deployment.StereoTypeManager;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.intercept.InterceptorsManager;
-import org.apache.webbeans.util.ClassUtil;
 import org.apache.webbeans.util.WebBeansUtil;
 import org.apache.webbeans.xml.WebBeansNameSpaceContainer;
 import org.apache.webbeans.xml.XMLAnnotationTypeManager;
@@ -75,13 +74,11 @@ public class WebBeansFinder
             /* No singleton for this application, create one */
             if (object == null)
             {
-                Class<?> clazz = ClassUtil.getClassFromName(singletonName);
-                if (clazz == null)
-                {
-                    throw new WebBeansException("Cannot find class : " + singletonName);
-                }
                 try
                 {
+
+                    Class<?> clazz = cl.loadClass(singletonName);
+                    
                     object = clazz.newInstance();
                     managerMap.put(cl, object);
 
@@ -94,6 +91,9 @@ public class WebBeansFinder
                 {
                     throw new WebBeansException("Illegal access exception in creating instance with class : " + singletonName, e);
                 }
+                catch (ClassNotFoundException e)
+                {
+                    throw new WebBeansException("Class not found exception in creating instance with class : " + singletonName, e);                }
             }
         }
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/spi/ServiceLoader.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/spi/ServiceLoader.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/spi/ServiceLoader.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/spi/ServiceLoader.java Sat Mar 13 19:24:09 2010
@@ -13,9 +13,13 @@
  */
 package org.apache.webbeans.spi;
 
+import java.util.List;
+
 import org.apache.webbeans.config.OpenWebBeansConfiguration;
 import org.apache.webbeans.config.WebBeansFinder;
 import org.apache.webbeans.logger.WebBeansLogger;
+import org.apache.webbeans.plugins.OpenWebBeansPlugin;
+import org.apache.webbeans.plugins.PluginLoader;
 
 /**
  * Loads any Service Provider Interface implementation declared in the 
@@ -42,8 +46,22 @@ public class ServiceLoader
     public static <T> T getService(Class<T> serviceInterface)
     {
         String implName = OpenWebBeansConfiguration.getInstance().getProperty(serviceInterface.getName());
+        
         if (implName == null)
         {
+            //Look for plugins
+            List<OpenWebBeansPlugin> plugins = PluginLoader.getInstance().getPlugins();
+            if(plugins != null && plugins.size() > 0)
+            {
+                for(OpenWebBeansPlugin plugin : plugins)
+                {
+                    if(plugin.supportService(serviceInterface))
+                    {
+                        return plugin.getSupportedService(serviceInterface);
+                    }
+                }
+            }
+            
             logger.warn("Unable to find service with class name : " + serviceInterface.getName());
             return null;
         }
@@ -63,6 +81,19 @@ public class ServiceLoader
         String implName = OpenWebBeansConfiguration.getInstance().getProperty(serviceInterface.getName());
         if (implName == null)
         {
+            //Look for plugins
+            List<OpenWebBeansPlugin> plugins = PluginLoader.getInstance().getPlugins();
+            if(plugins != null && plugins.size() > 0)
+            {
+                for(OpenWebBeansPlugin plugin : plugins)
+                {
+                    if(plugin.supportService(serviceInterface))
+                    {
+                        return plugin.getSupportedService(serviceInterface);
+                    }
+                }
+            }            
+            
             logger.warn("Unable to find service with class name : " + serviceInterface.getName());
             return null;
         }

Modified: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java (original)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java Sat Mar 13 19:24:09 2010
@@ -48,5 +48,21 @@ public abstract class AbstractOwbPlugin 
     public void startUp() throws Exception
     {
     }
+    
+    /**
+     * {@inheritDoc}
+     */
+    public boolean supportService(Class<?> serviceClass)
+    {
+        return false;
+    }
+    
+    /**
+     * {@inheritDoc}
+     */
+    public <T> T getSupportedService(Class<T> serviceClass)
+    {
+        return null;
+    }
 
 }

Modified: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java (original)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java Sat Mar 13 19:24:09 2010
@@ -21,7 +21,7 @@ import javax.enterprise.inject.spi.Bean;
  * 
  * @version $Rev$ $Date$
  */
-public interface OpenWebBeansEjbPlugin extends OpenWebBeansPlugin
+public interface OpenWebBeansEjbPlugin extends OpenWebBeansJavaEEPlugin
 {
     /**
      * Returns true if class is an session bean class false otherwise

Modified: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java (original)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java Sat Mar 13 19:24:09 2010
@@ -18,9 +18,6 @@
  */
 package org.apache.webbeans.plugins;
 
-import org.apache.webbeans.spi.TransactionService;
-import org.apache.webbeans.spi.ValidatorService;
-
 /**
  * In fully Java EE environments, it will be implemented
  * by the application servers.
@@ -33,17 +30,4 @@ import org.apache.webbeans.spi.Validator
  */
 public interface OpenWebBeansJavaEEPlugin extends OpenWebBeansWebPlugin
 {        
-    /**
-     * Gets application server transaction
-     * service implementation.
-     * @return transaction service
-     */
-    public TransactionService getTransactionService();
-    
-    /**
-     * Gets application server validator service
-     * implementation.
-     * @return validator service
-     */
-    public ValidatorService getValidatorService();     
 }

Modified: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java (original)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java Sat Mar 13 19:24:09 2010
@@ -55,4 +55,20 @@ public interface OpenWebBeansPlugin
      * @throws WebBeansConfigurationException if the given clazz cannot be used as simple web bean.
      */
     public void isManagedBean(Class<?> clazz) throws Exception;
+    
+    /**
+     * Returns true if plugin provides given service implementation
+     * false otherwise.
+     * @param serviceClass any service class
+     * @return true if plugin provides given service implementation
+     */
+    public boolean supportService(Class<?> serviceClass);
+    
+    /**
+     * Gets service instance.
+     * @param <T> type
+     * @param serviceClass service class
+     * @return service
+     */
+    public <T> T getSupportedService(Class<T> serviceClass);
 }

Modified: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java?rev=922655&r1=922654&r2=922655&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java (original)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java Sat Mar 13 19:24:09 2010
@@ -18,8 +18,6 @@
  */
 package org.apache.webbeans.plugins;
 
-import org.apache.webbeans.spi.SecurityService;
-
 /**
  * OpenWebBeans plugin point for Web Containers.
  * Currently there is no default implementation
@@ -31,9 +29,5 @@ import org.apache.webbeans.spi.SecurityS
  */
 public interface OpenWebBeansWebPlugin extends OpenWebBeansPlugin
 {
-    /**
-     * Gets web container security service implementation.
-     * @return security service
-     */
-    public SecurityService getSecurityService();    
+    
 }