Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2010, Red Hat Inc., and individual contributors as indicated
   * by the @authors tag. See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.jboss.as.ejb3.component.entity;
 
 
 
 import  org.jboss.invocation.ImmediateInterceptorFactory;
 import  org.jboss.invocation.InterceptorFactory;
 import  org.jboss.invocation.Interceptors;
 import  org.jboss.metadata.ejb.spec.EntityBeanMetaData;

Author(s):
Stuart Douglas
 
 
     private final Class<EJBHomehomeClass;
     private final Class<EJBLocalHomelocalHomeClass;
     private final Class<EJBObjectremoteClass;
     private final Class<EJBLocalObjectlocalClass;
     private final Class<ObjectprimaryKeyClass;
     private final Method ejbStoreMethod;
     private final Method ejbLoadMethod;
     private final Method ejbActivateMethod;
     private final Method ejbPassivateMethod;
     private final Method unsetEntityContextMethod;
     private final InterceptorFactory ejbStore;
     private final InterceptorFactory ejbLoad;
     private final InterceptorFactory ejbActivate;
     private final InterceptorFactory ejbPassivate;
     private final InterceptorFactory unsetEntityContext;
     private final InjectedValue<PoolConfigpoolConfig = new InjectedValue<PoolConfig>();
     private final InjectedValue<BooleandefaultOptimisticLocking = new InjectedValue<Boolean>();
 
     public EntityBeanComponentCreateService(final ComponentConfiguration componentConfigurationfinal ApplicationExceptions ejbJarConfiguration) {
         super(componentConfigurationejbJarConfiguration);
         final EntityBeanComponentDescription description = EntityBeanComponentDescription.class.cast(componentConfiguration.getComponentDescription());
         final EntityBeanMetaData beanMetaData = EntityBeanMetaData.class.cast(description.getDescriptorData());
         final ClassLoader classLoader = componentConfiguration.getComponentClass().getClassLoader();
 
 
          = (Class<EJBHome>) load(classLoaderbeanMetaData.getHome());
          = (Class<EJBLocalHome>) load(classLoaderbeanMetaData.getLocalHome());
          = (Class<EJBLocalObject>) load(classLoaderbeanMetaData.getLocal());
          = (Class<EJBObject>) load(classLoaderbeanMetaData.getRemote());
          = (Class<Object>) load(classLoaderbeanMetaData.getPrimKeyClass());
 
         final InterceptorFactory tcclInterceptorFactory = new ImmediateInterceptorFactory(new TCCLInterceptor(componentConfiguration.getModuleClassLoader()));
         final InterceptorFactory namespaceContextInterceptorFactory = componentConfiguration.getNamespaceContextInterceptorFactory();
 
 
         Method ejbStore = null;
         Method ejbLoad = null;
         Method ejbActivate = null;
         Method ejbPassivate = null;
         Method unsetEntityContext = null;
         for (final Method method : componentConfiguration.getDefinedComponentMethods()) {
             if (method.getName().equals("ejbStore") && method.getParameterTypes().length == 0) {
                 ejbStore = method;
             } else if (method.getName().equals("ejbLoad") && method.getParameterTypes().length == 0) {
                 ejbLoad = method;
             } else if (method.getName().equals("ejbActivate") && method.getParameterTypes().length == 0) {
                ejbActivate = method;
            } else if (method.getName().equals("ejbPassivate") && method.getParameterTypes().length == 0) {
                ejbPassivate = method;
            } else if (method.getName().equals("unsetEntityContext") && method.getParameterTypes().length == 0) {
                unsetEntityContext = method;
            }
        }
        if (ejbStore == null) {
            throw ..couldNotFindEntityBeanMethod("ejbStore");
        } else if (ejbLoad == null) {
            throw ..couldNotFindEntityBeanMethod("ejbLoad");
        } else if (ejbActivate == null) {
            throw ..couldNotFindEntityBeanMethod("ejbActivate");
        } else if (ejbPassivate == null) {
            throw ..couldNotFindEntityBeanMethod("ejbPassivate");
        } else if (unsetEntityContext == null) {
            throw ..couldNotFindEntityBeanMethod("unsetEntityContext");
        }
        this. = ejbActivate;
        this. = ejbLoad;
        this. = ejbStore;
        this. = ejbPassivate;
        this. = unsetEntityContext;
        this. = Interceptors.getChainedInterceptorFactory(tcclInterceptorFactorynamespaceContextInterceptorFactory.invokeMethodOnTarget(ejbActivate));
        this. = Interceptors.getChainedInterceptorFactory(tcclInterceptorFactorynamespaceContextInterceptorFactory.invokeMethodOnTarget(ejbLoad));
        this. = Interceptors.getChainedInterceptorFactory(tcclInterceptorFactorynamespaceContextInterceptorFactory.invokeMethodOnTarget(ejbStore));
        this. = Interceptors.getChainedInterceptorFactory(tcclInterceptorFactorynamespaceContextInterceptorFactory.invokeMethodOnTarget(ejbPassivate));
        this. = Interceptors.getChainedInterceptorFactory(tcclInterceptorFactorynamespaceContextInterceptorFactory.invokeMethodOnTarget(unsetEntityContext));
    }
    private Class<?> load(ClassLoader classLoaderString ejbClass) {
        if (ejbClass != null) {
            try {
                return classLoader.loadClass(ejbClass);
            } catch (ClassNotFoundException e) {
                throw new RuntimeException(e);
            }
        }
        return null;
    }
    private static InterceptorFactory invokeMethodOnTarget(final Method method) {
        method.setAccessible(true);
        return InvokeMethodOnTargetInterceptor.factory(method);
    }
    @Override
    protected BasicComponent createComponent() {
        return new EntityBeanComponent(this);
    }
    public static final ComponentCreateServiceFactory FACTORY = new EJBComponentCreateServiceFactory() {
        @Override
        public BasicComponentCreateService constructService(final ComponentConfiguration configuration) {
            return new EntityBeanComponentCreateService(configurationthis.);
        }
    };
    public Class<EJBHomegetHomeClass() {
        return ;
    }
    public Class<EJBLocalHomegetLocalHomeClass() {
        return ;
    }
    public Class<EJBObjectgetRemoteClass() {
        return ;
    }
    public Class<EJBLocalObjectgetLocalClass() {
        return ;
    }
    public Class<ObjectgetPrimaryKeyClass() {
        return ;
    }
    public Method getEjbStoreMethod() {
        return ;
    }
    public Method getEjbLoadMethod() {
        return ;
    }
    public Method getEjbActivateMethod() {
        return ;
    }
    public InterceptorFactory getEjbStore() {
        return ;
    }
    public InterceptorFactory getEjbLoad() {
        return ;
    }
    public InterceptorFactory getEjbActivate() {
        return ;
    }
    public Method getEjbPassivateMethod() {
        return ;
    }
    public InterceptorFactory getEjbPassivate() {
        return ;
    }
        return ;
    }
    public InterceptorFactory getUnsetEntityContext() {
        return ;
    }
    public PoolConfig getPoolConfig() {
        return this..getOptionalValue();
    }
        return this.;
    }
    public Boolean getOptimisticLocking() {
    }
        return ;
    }
New to GrepCode? Check out our FAQ X