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();
+
}