Author: jgallimore
Date: Sun Mar 20 22:23:36 2011
New Revision: 1083602

URL: http://svn.apache.org/viewvc?rev=1083602&view=rev
Log:
Fix CDI compile error

Modified:
    
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java?rev=1083602&r1=1083601&r2=1083602&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
 Sun Mar 20 22:23:36 2011
@@ -49,226 +49,304 @@ import javax.transaction.Transaction;
 import javax.transaction.TransactionManager;
 import javax.transaction.UserTransaction;
 import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 import java.security.Principal;
+import java.security.PrivilegedActionException;
 import java.util.List;
+import java.util.Properties;
 import java.util.Set;
 import java.util.WeakHashMap;
 
 public class CdiPlugin extends AbstractOwbPlugin implements 
OpenWebBeansJavaEEPlugin, OpenWebBeansEjbPlugin, TransactionService, 
SecurityService {
 
-    private static final Logger logger = 
Logger.getInstance(LogCategory.OPENEJB.createChild("cdi"), CdiPlugin.class);
-    private AppContext appContext;
-    private Set<Class<?>> beans;
-
-    private WebBeansContext webBeansContext;
-    private CdiAppContextsService contexsServices;
-
-    @Override
-    public void shutDown() {
-        super.shutDown();
-        //this plugin may have been installed in a non-ejb lifecycle???
-        if (beans != null) {
-            this.beans.clear();
-        }
-    }
-
-    public void setAppContext(AppContext appContext) {
-        this.appContext = appContext;
-    }
-
-    public void configureDeployments(List<BeanContext> ejbDeployments) {
-        WeakHashMap<Class<?>, Object> beans = new WeakHashMap<Class<?>, 
Object>();
-        for (BeanContext deployment : ejbDeployments) {
-            if (deployment.getComponentType().isSession()) {
-                beans.put(deployment.getBeanClass(), null);
-            }
-        }
-        this.beans = beans.keySet();
-    }
-
-    public CdiAppContextsService getContexsServices() {
-        return contexsServices;
-    }
-
-    public void startup() {
-        webBeansContext = WebBeansContext.getInstance();
-        this.contexsServices = (CdiAppContextsService) 
webBeansContext.getContextsService();
-        this.contexsServices.init(null);
-    }
-
-    public void stop() throws OpenEJBException {
-        ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
-        try {
-            //Setting context class loader for cleaning
-            
Thread.currentThread().setContextClassLoader(appContext.getClassLoader());
-
-            //Fire shut down
-            appContext.getBeanManager().fireEvent(new BeforeShutdownImpl(), 
new Annotation[0]);
-
-            //Destroys context
-            this.contexsServices.destroy(null);
-
-            //Free all plugin resources
-            WebBeansContext.getInstance().getPluginLoader().shutDown();
-
-            //Clear extensions
-            WebBeansContext.getInstance().getExtensionLoader().clear();
-
-            //Delete Resolutions Cache
-            InjectionResolver.getInstance().clearCaches();
-
-            //Delte proxies
-            WebBeansContext.getInstance().getJavassistProxyFactory().clear();
-
-            //Delete AnnotateTypeCache
-            WebBeansContext.getInstance().getAnnotatedElementFactory().clear();
-
-            //JMs Manager clear
-            WebBeansContext.getInstance().getjMSManager().clear();
-
-            //Clear the resource injection service
-            CdiResourceInjectionService injectionServices = 
(CdiResourceInjectionService) 
webBeansContext.getService(ResourceInjectionService.class);
-            injectionServices.clear();
-
-            //Clear singleton list
-            
WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader());
-
-
-        } catch (Exception e) {
-            throw new OpenEJBException(e);
-        } finally {
-            Thread.currentThread().setContextClassLoader(oldCl);
-        }
-    }
-
-    @Override
-    public <T> T getSupportedService(Class<T> serviceClass) {
-        return supportService(serviceClass) ? serviceClass.cast(this) : null;
-    }
-
-    @Override
-    public void isManagedBean(Class<?> clazz) {
-    }
-
-    @Override
-    public boolean supportService(Class<?> serviceClass) {
-        return serviceClass == TransactionService.class || serviceClass == 
SecurityService.class;
-    }
-
-    @Override
-    public Object getSessionBeanProxy(Bean<?> bean, Class<?> interfce, 
CreationalContext<?> creationalContext) {
-        final CdiEjbBean ejbBean = (CdiEjbBean) bean;
-        final BeanContext deployment = ejbBean.getBeanContext();
-
-        final Class beanClass = deployment.getBeanClass();
-        final List<Class> localInterfaces = 
deployment.getBusinessLocalInterfaces();
-
-        List<Class> interfaces = 
ProxyInterfaceResolver.getInterfaces(beanClass, interfce, localInterfaces);
-        BeanContext.BusinessLocalHome home = 
deployment.getBusinessLocalHome(interfaces, interfaces.get(0));
-        return home.create();
-
-//        try {
-//
-//            ((CdiEjbBean<Object>) bean).setIface(iface);
-//
-//            Class<?> clazz = 
JavassistProxyFactory.getInstance().getEjbBeanProxyClass((BaseEjbBean<Object>) 
(CdiEjbBean<Object>) bean);
-//
-//            if (clazz == null) {
-//                ProxyFactory factory = new ProxyFactory();
-//                factory.setInterfaces(new Class[]{(Class<?>) iface});
-//                clazz = 
JavassistProxyFactory.getInstance().defineEjbBeanProxyClass((BaseEjbBean<Object>)
 (CdiEjbBean<Object>) bean, factory);
-//            }
-//
-//            Object proxyInstance = (Object) ClassUtil.newInstance(clazz);
-//
-//            EjbBeanProxyHandler handler = new 
EjbBeanProxyHandler((CdiEjbBean<Object>) bean, creationalContext);
-//
-//            ((ProxyObject) proxyInstance).setHandler(handler);
-//
-//            return proxyInstance;
-//
-//        } catch (Exception e) {
-//            throw new WebBeansException(e);
-//        }
-    }
-
-    @Override
-    public boolean isSessionBean(Class<?> clazz) {
-        //this may be called from a web app without ejbs in which case beans 
will not have been initialized by openejb.
-        return beans != null && beans.contains(clazz);
-    }
-
-    @Override
-    public <T> Bean<T> defineSessionBean(Class<T> clazz, 
ProcessAnnotatedType<T> processAnnotateTypeEvent) {
-        throw new IllegalStateException("Statement should never be reached");
-    }
-
-    @Override
-    public boolean isSingletonBean(Class<?> clazz) {
-        throw new IllegalStateException("Statement should never be reached");
-    }
-
-    @Override
-    public boolean isStatefulBean(Class<?> clazz) {
-        throw new IllegalStateException("Statement should never be reached");
-    }
-
-    @Override
-    public boolean isStatelessBean(Class<?> clazz) {
-        throw new IllegalStateException("Statement should never be reached");
-    }
-
-    @Override
-    public Transaction getTransaction() {
-        TransactionManager manager = getTransactionManager();
-        if (manager != null) {
-            try {
-                return manager.getTransaction();
-            } catch (SystemException e) {
-                logger.error("Error is occured while getting transaction 
instance from system", e);
-            }
-        }
-
-        return null;
-    }
-
-    @Override
-    public TransactionManager getTransactionManager() {
-        // TODO Convert to final field
-        return SystemInstance.get().getComponent(TransactionManager.class);
-    }
-
-    @Override
-    public UserTransaction getUserTransaction() {
-        UserTransaction ut = null;
-
-        // TODO Convert to final field
-        ContainerSystem containerSystem = 
SystemInstance.get().getComponent(ContainerSystem.class);
-        
-        try {
-            ut = (UserTransaction) 
containerSystem.getJNDIContext().lookup("comp/UserTransaction");
-        } catch (NamingException e) {
-            logger.debug("User transaction is not bound to context, lets 
create it");
-            ut = new CoreUserTransaction(getTransactionManager());
-
-        }
-        return ut;
-    }
-
-    @Override
-    public void registerTransactionSynchronization(TransactionPhase phase, 
ObserverMethod<? super Object> observer, Object event) throws Exception {
-        TransactionalEventNotifier.registerTransactionSynchronization(phase, 
observer, event);
-    }
-
-    @Override
-    public Principal getCurrentPrincipal() {
-
-        // TODO Convert to final field
-        org.apache.openejb.spi.SecurityService<?> service = 
SystemInstance.get().getComponent(org.apache.openejb.spi.SecurityService.class);
-        if (service != null) {
-            return service.getCallerPrincipal();
-        }
+       private static final Logger logger = 
Logger.getInstance(LogCategory.OPENEJB.createChild("cdi"), CdiPlugin.class);
+       private AppContext appContext;
+       private Set<Class<?>> beans;
+
+       private WebBeansContext webBeansContext;
+       private CdiAppContextsService contexsServices;
+
+       @Override
+       public void shutDown() {
+               super.shutDown();
+               // this plugin may have been installed in a non-ejb lifecycle???
+               if (beans != null) {
+                       this.beans.clear();
+               }
+       }
+
+       public void setAppContext(AppContext appContext) {
+               this.appContext = appContext;
+       }
+
+       public void configureDeployments(List<BeanContext> ejbDeployments) {
+               WeakHashMap<Class<?>, Object> beans = new WeakHashMap<Class<?>, 
Object>();
+               for (BeanContext deployment : ejbDeployments) {
+                       if (deployment.getComponentType().isSession()) {
+                               beans.put(deployment.getBeanClass(), null);
+                       }
+               }
+               this.beans = beans.keySet();
+       }
+
+       public CdiAppContextsService getContexsServices() {
+               return contexsServices;
+       }
+
+       public void startup() {
+               webBeansContext = WebBeansContext.getInstance();
+               this.contexsServices = (CdiAppContextsService) 
webBeansContext.getContextsService();
+               this.contexsServices.init(null);
+       }
+
+       public void stop() throws OpenEJBException {
+               ClassLoader oldCl = 
Thread.currentThread().getContextClassLoader();
+               try {
+                       // Setting context class loader for cleaning
+                       
Thread.currentThread().setContextClassLoader(appContext.getClassLoader());
+
+                       // Fire shut down
+                       appContext.getBeanManager().fireEvent(new 
BeforeShutdownImpl(), new Annotation[0]);
+
+                       // Destroys context
+                       this.contexsServices.destroy(null);
+
+                       // Free all plugin resources
+                       
WebBeansContext.getInstance().getPluginLoader().shutDown();
+
+                       // Clear extensions
+                       
WebBeansContext.getInstance().getExtensionLoader().clear();
+
+                       // Delete Resolutions Cache
+                       InjectionResolver.getInstance().clearCaches();
+
+                       // Delte proxies
+                       
WebBeansContext.getInstance().getJavassistProxyFactory().clear();
+
+                       // Delete AnnotateTypeCache
+                       
WebBeansContext.getInstance().getAnnotatedElementFactory().clear();
+
+                       // JMs Manager clear
+                       WebBeansContext.getInstance().getjMSManager().clear();
+
+                       // Clear the resource injection service
+                       CdiResourceInjectionService injectionServices = 
(CdiResourceInjectionService) 
webBeansContext.getService(ResourceInjectionService.class);
+                       injectionServices.clear();
+
+                       // Clear singleton list
+                       
WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader());
+
+               } catch (Exception e) {
+                       throw new OpenEJBException(e);
+               } finally {
+                       Thread.currentThread().setContextClassLoader(oldCl);
+               }
+       }
+
+       @Override
+       public <T> T getSupportedService(Class<T> serviceClass) {
+               return supportService(serviceClass) ? serviceClass.cast(this) : 
null;
+       }
+
+       @Override
+       public void isManagedBean(Class<?> clazz) {
+       }
+
+       @Override
+       public boolean supportService(Class<?> serviceClass) {
+               return serviceClass == TransactionService.class || serviceClass 
== SecurityService.class;
+       }
+
+       @Override
+       public Object getSessionBeanProxy(Bean<?> bean, Class<?> interfce, 
CreationalContext<?> creationalContext) {
+               final CdiEjbBean ejbBean = (CdiEjbBean) bean;
+               final BeanContext deployment = ejbBean.getBeanContext();
+
+               final Class beanClass = deployment.getBeanClass();
+               final List<Class> localInterfaces = 
deployment.getBusinessLocalInterfaces();
+
+               List<Class> interfaces = 
ProxyInterfaceResolver.getInterfaces(beanClass, interfce, localInterfaces);
+               BeanContext.BusinessLocalHome home = 
deployment.getBusinessLocalHome(interfaces, interfaces.get(0));
+               return home.create();
+
+               // try {
+               //
+               // ((CdiEjbBean<Object>) bean).setIface(iface);
+               //
+               // Class<?> clazz = 
JavassistProxyFactory.getInstance().getEjbBeanProxyClass((BaseEjbBean<Object>) 
(CdiEjbBean<Object>) bean);
+               //
+               // if (clazz == null) {
+               // ProxyFactory factory = new ProxyFactory();
+               // factory.setInterfaces(new Class[]{(Class<?>) iface});
+               // clazz = 
JavassistProxyFactory.getInstance().defineEjbBeanProxyClass((BaseEjbBean<Object>)
 (CdiEjbBean<Object>) bean, factory);
+               // }
+               //
+               // Object proxyInstance = (Object) ClassUtil.newInstance(clazz);
+               //
+               // EjbBeanProxyHandler handler = new 
EjbBeanProxyHandler((CdiEjbBean<Object>) bean, creationalContext);
+               //
+               // ((ProxyObject) proxyInstance).setHandler(handler);
+               //
+               // return proxyInstance;
+               //
+               // } catch (Exception e) {
+               // throw new WebBeansException(e);
+               // }
+       }
+
+       @Override
+       public boolean isSessionBean(Class<?> clazz) {
+               // this may be called from a web app without ejbs in which case 
beans will not have been initialized by openejb.
+               return beans != null && beans.contains(clazz);
+       }
+
+       @Override
+       public <T> Bean<T> defineSessionBean(Class<T> clazz, 
ProcessAnnotatedType<T> processAnnotateTypeEvent) {
+               throw new IllegalStateException("Statement should never be 
reached");
+       }
+
+       @Override
+       public boolean isSingletonBean(Class<?> clazz) {
+               throw new IllegalStateException("Statement should never be 
reached");
+       }
+
+       @Override
+       public boolean isStatefulBean(Class<?> clazz) {
+               throw new IllegalStateException("Statement should never be 
reached");
+       }
+
+       @Override
+       public boolean isStatelessBean(Class<?> clazz) {
+               throw new IllegalStateException("Statement should never be 
reached");
+       }
+
+       @Override
+       public Transaction getTransaction() {
+               TransactionManager manager = getTransactionManager();
+               if (manager != null) {
+                       try {
+                               return manager.getTransaction();
+                       } catch (SystemException e) {
+                               logger.error("Error is occured while getting 
transaction instance from system", e);
+                       }
+               }
+
+               return null;
+       }
+
+       @Override
+       public TransactionManager getTransactionManager() {
+               // TODO Convert to final field
+               return 
SystemInstance.get().getComponent(TransactionManager.class);
+       }
+
+       @Override
+       public UserTransaction getUserTransaction() {
+               UserTransaction ut = null;
+
+               // TODO Convert to final field
+               ContainerSystem containerSystem = 
SystemInstance.get().getComponent(ContainerSystem.class);
+
+               try {
+                       ut = (UserTransaction) 
containerSystem.getJNDIContext().lookup("comp/UserTransaction");
+               } catch (NamingException e) {
+                       logger.debug("User transaction is not bound to context, 
lets create it");
+                       ut = new CoreUserTransaction(getTransactionManager());
+
+               }
+               return ut;
+       }
+
+       @Override
+       public void registerTransactionSynchronization(TransactionPhase phase, 
ObserverMethod<? super Object> observer, Object event) throws Exception {
+               
TransactionalEventNotifier.registerTransactionSynchronization(phase, observer, 
event);
+       }
+
+       @Override
+       public Principal getCurrentPrincipal() {
+
+               // TODO Convert to final field
+               org.apache.openejb.spi.SecurityService<?> service = 
SystemInstance.get().getComponent(org.apache.openejb.spi.SecurityService.class);
+               if (service != null) {
+                       return service.getCallerPrincipal();
+               }
+
+               return null;
+       }
+
+       @Override
+       public <T> Constructor<T> doPrivilegedGetDeclaredConstructor(Class<T> 
clazz, Class<?>... parameterTypes) {
+               try {
+                       return clazz.getDeclaredConstructor(parameterTypes);
+               } catch (NoSuchMethodException e) {
+                       return null;
+               }
+       }
+
+       @Override
+       public <T> Constructor<?>[] 
doPrivilegedGetDeclaredConstructors(Class<T> clazz) {
+               return clazz.getDeclaredConstructors();
+       }
+
+       @Override
+       public <T> Method doPrivilegedGetDeclaredMethod(Class<T> clazz, String 
name, Class<?>... parameterTypes) {
+               try {
+                       return clazz.getDeclaredMethod(name, parameterTypes);
+               } catch (NoSuchMethodException e) {
+                       return null;
+               }
+       }
+
+       @Override
+       public <T> Method[] doPrivilegedGetDeclaredMethods(Class<T> clazz) {
+               return clazz.getDeclaredMethods();
+       }
+
+       @Override
+       public <T> Field doPrivilegedGetDeclaredField(Class<T> clazz, String 
name) {
+               try {
+                       return clazz.getDeclaredField(name);
+               } catch (NoSuchFieldException e) {
+                       return null;
+               }
+       }
+
+       @Override
+       public <T> Field[] doPrivilegedGetDeclaredFields(Class<T> clazz) {
+               return clazz.getDeclaredFields();
+       }
+
+       @Override
+       public void doPrivilegedSetAccessible(AccessibleObject obj, boolean 
flag) {
+               obj.setAccessible(flag);
+       }
+
+       @Override
+       public boolean doPrivilegedIsAccessible(AccessibleObject obj) {
+               return obj.isAccessible();
+       }
+
+       @Override
+       public <T> T doPrivilegedObjectCreate(Class<T> clazz) throws 
PrivilegedActionException, IllegalAccessException, InstantiationException {
+               return clazz.newInstance();
+       }
+
+       @Override
+       public void doPrivilegedSetSystemProperty(String propertyName, String 
value) {
+               System.setProperty(propertyName, value);
+       }
+
+       @Override
+       public String doPrivilegedGetSystemProperty(String propertyName, String 
defaultValue) {
+               return System.getProperty(propertyName, defaultValue);
+       }
+
+       @Override
+       public Properties doPrivilegedGetSystemProperties() {
+               return System.getProperties();
+       }
 
-        return null;
-    }
 }


Reply via email to