Author: rmannibucau
Date: Thu Apr 11 10:00:19 2013
New Revision: 1466818
URL: http://svn.apache.org/r1466818
Log:
minor typo (i think) which can affect EE case - the PluginLoader was never
finding plugins and internal beans was not created since they needed the
wbcontext
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1466818&r1=1466817&r2=1466818&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
Thu Apr 11 10:00:19 2013
@@ -21,6 +21,7 @@ package org.apache.webbeans.config;
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
import java.net.URL;
import java.security.PrivilegedActionException;
import java.util.ArrayList;
@@ -83,7 +84,6 @@ import org.apache.webbeans.portable.even
import org.apache.webbeans.portable.events.discovery.AfterBeanDiscoveryImpl;
import
org.apache.webbeans.portable.events.discovery.AfterDeploymentValidationImpl;
import org.apache.webbeans.portable.events.discovery.BeforeBeanDiscoveryImpl;
-import org.apache.webbeans.portable.events.generics.GProcessInjectionTarget;
import org.apache.webbeans.portable.events.generics.GProcessManagedBean;
import org.apache.webbeans.spi.JNDIService;
import org.apache.webbeans.spi.ScannerService;
@@ -239,46 +239,62 @@ public class BeansDeployer
if(beanEeProvider != null)
{
- addDefaultBean(beanManager,
"org.apache.webbeans.ee.common.beans.PrincipalBean");
- addDefaultBean(beanManager,
"org.apache.webbeans.ee.beans.ValidatorBean");
- addDefaultBean(beanManager,
"org.apache.webbeans.ee.beans.ValidatorFactoryBean");
- addDefaultBean(beanManager,
"org.apache.webbeans.ee.beans.UserTransactionBean");
+ addDefaultBean(webBeansContext,
"org.apache.webbeans.ee.common.beans.PrincipalBean");
+ addDefaultBean(webBeansContext,
"org.apache.webbeans.ee.beans.ValidatorBean");
+ addDefaultBean(webBeansContext,
"org.apache.webbeans.ee.beans.ValidatorFactoryBean");
+ addDefaultBean(webBeansContext,
"org.apache.webbeans.ee.beans.UserTransactionBean");
}
else if(beanWebProvider != null)
{
- addDefaultBean(beanManager,
"org.apache.webbeans.ee.common.beans.PrincipalBean");
+ addDefaultBean(webBeansContext,
"org.apache.webbeans.ee.common.beans.PrincipalBean");
}
}
- private void addDefaultBean(BeanManagerImpl manager,String className)
+ private void addDefaultBean(WebBeansContext ctx,String className)
{
Bean<?> bean = null;
Class<?> beanClass = ClassUtil.getClassFromName(className);
if(beanClass != null)
{
- bean = (Bean)newInstance( beanClass);
+ bean = (Bean)newInstance(ctx, beanClass);
}
if(bean != null)
{
- manager.addInternalBean(bean);
+ ctx.getBeanManagerImpl().addInternalBean(bean);
}
}
/**
* create a new instance of the class
*/
- private Object newInstance(Class<?> clazz)
+ private Object newInstance(WebBeansContext wbc, Class<?> clazz)
{
try
{
if(System.getSecurityManager() != null)
{
- return
webBeansContext.getSecurityService().doPrivilegedObjectCreate(clazz);
+ final Constructor<?> c =
webBeansContext.getSecurityService().doPrivilegedGetConstructor(clazz,
WebBeansContext.class);
+ if (c == null)
+ {
+ return
webBeansContext.getSecurityService().doPrivilegedObjectCreate(clazz);
+ }
+ return c.newInstance(wbc);
}
+ if (clazz.getConstructors().length > 0)
+ {
+ try
+ {
+ return clazz.getConstructor(new Class<?>[] {
WebBeansContext.class }).newInstance(wbc);
+ }
+ catch (final Exception e)
+ {
+ return clazz.newInstance();
+ }
+ }
return clazz.newInstance();
}
@@ -830,7 +846,6 @@ public class BeansDeployer
ManagedBeanBuilder<T, ManagedBean<T>> managedBeanCreator = new
ManagedBeanBuilder<T, ManagedBean<T>>(webBeansContext, annotatedType,
beanAttributes);
InjectionTargetBean<T> bean;
- GProcessInjectionTarget processInjectionTarget = null;
if(WebBeansUtil.isDecorator(annotatedType))
{
if (logger.isLoggable(Level.FINE))
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java?rev=1466818&r1=1466817&r2=1466818&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
Thu Apr 11 10:00:19 2013
@@ -270,6 +270,6 @@ public class PluginLoader
private boolean pluginsExist()
{
- return plugins == null && plugins.size() > 0;
+ return plugins != null && plugins.size() > 0;
}
}