private Index<EntityManagerFactory, EntityManager> createEntityManagers(CoreDeploymentInfo deploymentInfo) { // create the extended entity managers Index<EntityManagerFactory, Map> factories = deploymentInfo.getExtendedEntityManagerFactories(); Index<EntityManagerFactory, EntityManager> entityManagers = null; if (factories != null && factories.size() > 0) { entityManagers = new Index<EntityManagerFactory, EntityManager>(new ArrayList<EntityManagerFactory>(factories.keySet())); for (Map.Entry<EntityManagerFactory, Map> entry : factories.entrySet()) { EntityManagerFactory entityManagerFactory = entry.getKey(); Map properties = entry.getValue(); EntityManager entityManager = entityManagerRegistry.getInheritedEntityManager(entityManagerFactory); if (entityManager == null) { if (properties != null) { entityManager = entityManagerFactory.createEntityManager(properties); } else { entityManager = entityManagerFactory.createEntityManager(); } } entityManagers.put(entityManagerFactory, entityManager); } } return entityManagers; }
public synchronized Map<EntityManagerFactory, EntityManager> getEntityManagers(Index<EntityManagerFactory, Map> factories) { if (entityManagers == null && entityManagerArray != null) { entityManagers = new HashMap<EntityManagerFactory, EntityManager>(); for (int i = 0; i < entityManagerArray.length; i++) { EntityManagerFactory entityManagerFactory = factories.getKey(i); EntityManager entityManager = entityManagerArray[i]; entityManagers.put(entityManagerFactory, entityManager); } } return entityManagers; }
public V get(final Object key) { final int i = indexOf((K) key); if (i < 0) { return null; } final IndexEntry<K, V> entryMetadata = entries[i]; final V value = entryMetadata.getValue(); return value; }
private synchronized void deploy(CoreDeploymentInfo deploymentInfo) throws OpenEJBException { Map<Method, MethodType> methods = getLifecycleMethodsOfInterface(deploymentInfo); deploymentsById.put(deploymentInfo.getDeploymentID(), deploymentInfo); deploymentInfo.setContainer(this); deploymentInfo.setContainerData(new StatefulContainerData(new Index<Method, MethodType>(methods))); }
public Object invoke(Object deployID, InterfaceType type, Class callInterface, Method callMethod, Object[] args, Object primKey) throws OpenEJBException { CoreDeploymentInfo deployInfo = (CoreDeploymentInfo) this.getDeploymentInfo(deployID); if (deployInfo == null) throw new OpenEJBException("Deployment does not exist in this container. Deployment(id='"+deployID+"'), Container(id='"+containerID+"')"); // Use the backup way to determine call type if null was supplied. if (type == null) type = deployInfo.getInterfaceType(callInterface); StatefulContainerData data = (StatefulContainerData) deployInfo.getContainerData(); MethodType methodType = data.getMethodIndex().get(callMethod); methodType = (methodType != null) ? methodType : MethodType.BUSINESS; switch (methodType) { case CREATE: return createEJBObject(deployInfo, callMethod, args, type); case REMOVE: return removeEJBObject(deployInfo, primKey, callInterface, callMethod, args, type); default: return businessMethod(deployInfo, primKey, callInterface, callMethod, args, type); } }
public Object[] toArray() { return toArray(new Object[entries.length]); }
private boolean containsExtendedPersistenceContext(final BeanContext beanContext) { if (preventExtendedEntityManagerSerialization) { return false; } final Index<EntityManagerFactory, Map> factories = beanContext.getExtendedEntityManagerFactories(); return factories != null && factories.size() > 0; }
private synchronized void deploy(CoreDeploymentInfo deploymentInfo) throws OpenEJBException { Map<Method, MethodType> methods = getLifecycleMethodsOfInterface(deploymentInfo); deploymentsById.put(deploymentInfo.getDeploymentID(), deploymentInfo); deploymentInfo.setContainer(this); deploymentInfo.setContainerData(new StatefulContainerData(new Index<Method, MethodType>(methods))); }
public Object invoke(Object deployID, InterfaceType type, Class callInterface, Method callMethod, Object[] args, Object primKey) throws OpenEJBException { CoreDeploymentInfo deployInfo = (CoreDeploymentInfo) this.getDeploymentInfo(deployID); if (deployInfo == null) throw new OpenEJBException("Deployment does not exist in this container. Deployment(id='"+deployID+"'), Container(id='"+containerID+"')"); // Use the backup way to determine call type if null was supplied. if (type == null) type = deployInfo.getInterfaceType(callInterface); StatefulContainerData data = (StatefulContainerData) deployInfo.getContainerData(); MethodType methodType = data.getMethodIndex().get(callMethod); methodType = (methodType != null) ? methodType : MethodType.BUSINESS; switch (methodType) { case CREATE: return createEJBObject(deployInfo, callMethod, args, type); case REMOVE: return removeEJBObject(deployInfo, primKey, callInterface, callMethod, args, type); default: return businessMethod(deployInfo, primKey, callInterface, callMethod, args, type); } }
public Object[] toArray() { return toArray(new Object[entries.length]); }
private boolean isPassivable(final BeanContext beanContext) { if (preventExtendedEntityManagerSerialization) { return true; } final Index<EntityManagerFactory, BeanContext.EntityManagerConfiguration> factories = beanContext.getExtendedEntityManagerFactories(); return !(factories != null && factories.size() > 0) && beanContext.isPassivable(); }
private Index<EntityManagerFactory, EntityManager> createEntityManagers(CoreDeploymentInfo deploymentInfo) { // create the extended entity managers Index<EntityManagerFactory, Map> factories = deploymentInfo.getExtendedEntityManagerFactories(); Index<EntityManagerFactory, EntityManager> entityManagers = null; if (factories != null && factories.size() > 0) { entityManagers = new Index<EntityManagerFactory, EntityManager>(new ArrayList<EntityManagerFactory>(factories.keySet())); for (Map.Entry<EntityManagerFactory, Map> entry : factories.entrySet()) { EntityManagerFactory entityManagerFactory = entry.getKey(); Map properties = entry.getValue(); EntityManager entityManager = entityManagerRegistry.getInheritedEntityManager(entityManagerFactory); if (entityManager == null) { if (properties != null) { entityManager = entityManagerFactory.createEntityManager(properties); } else { entityManager = entityManagerFactory.createEntityManager(); } } entityManagers.put(entityManagerFactory, entityManager); } } return entityManagers; }
deployment.setExtendedEntityManagerFactories(new Index<EntityManagerFactory, Map>(extendedEntityManagerFactories)); deployment.setLocalbean(((StatefulBeanInfo) bean).localbean);
public V get(final Object key) { final int i = indexOf((K) key); if (i < 0) { return null; } final IndexEntry<K, V> entryMetadata = entries[i]; final V value = entryMetadata.getValue(); return value; }
public synchronized Map<EntityManagerFactory, EntityManager> getEntityManagers(Index<EntityManagerFactory, Map> factories) { if (entityManagers == null && entityManagerArray != null) { entityManagers = new HashMap<EntityManagerFactory, EntityManager>(); for (int i = 0; i < entityManagerArray.length; i++) { EntityManagerFactory entityManagerFactory = factories.getKey(i); EntityManager entityManager = entityManagerArray[i]; entityManagers.put(entityManagerFactory, entityManager); } } return entityManagers; }
@Override public Object invoke(final Object deployID, InterfaceType type, final Class callInterface, final Method callMethod, final Object[] args, final Object primKey) throws OpenEJBException { final BeanContext beanContext = this.getBeanContext(deployID); if (beanContext == null) { throw new OpenEJBException("Deployment does not exist in this container. Deployment(id='" + deployID + "'), Container(id='" + containerID + "')"); } // Use the backup way to determine call type if null was supplied. if (type == null) { type = beanContext.getInterfaceType(callInterface); } final Data data = (Data) beanContext.getContainerData(); MethodType methodType = data.getMethodIndex().get(callMethod); methodType = methodType != null ? methodType : MethodType.BUSINESS; switch (methodType) { case CREATE: return createEJBObject(beanContext, callMethod, args, type); case REMOVE: return removeEJBObject(beanContext, primKey, callInterface, callMethod, args, type); default: return businessMethod(beanContext, primKey, callInterface, callMethod, args, type); } }
public Object[] toArray() { return toArray(new Object[entries.length]); }
private Index<EntityManagerFactory, JtaEntityManagerRegistry.EntityManagerTracker> createEntityManagers(final BeanContext beanContext) { // create the extended entity managers final Index<EntityManagerFactory, Map> factories = beanContext.getExtendedEntityManagerFactories(); Index<EntityManagerFactory, JtaEntityManagerRegistry.EntityManagerTracker> entityManagers = null; if (factories != null && factories.size() > 0) { entityManagers = new Index<EntityManagerFactory, JtaEntityManagerRegistry.EntityManagerTracker>(new ArrayList<EntityManagerFactory>(factories.keySet())); for (final Map.Entry<EntityManagerFactory, Map> entry : factories.entrySet()) { final EntityManagerFactory entityManagerFactory = entry.getKey(); final Map properties = entry.getValue(); JtaEntityManagerRegistry.EntityManagerTracker entityManagerTracker = entityManagerRegistry.getInheritedEntityManager(entityManagerFactory); final EntityManager entityManager; if (entityManagerTracker == null) { if (properties != null) { entityManager = entityManagerFactory.createEntityManager(properties); } else { entityManager = entityManagerFactory.createEntityManager(); } entityManagerTracker = new JtaEntityManagerRegistry.EntityManagerTracker(entityManager); } else { entityManagerTracker.incCounter(); } entityManagers.put(entityManagerFactory, entityManagerTracker); } } return entityManagers; }
final Data data = new Data(new Index<Method, MethodType>(methods)); beanContext.setContainerData(data);
public V get(Object key) { int i = indexOf((K) key); if (i < 0) { return null; } IndexEntry<K,V> entryMetadata = entries[i]; V value = entryMetadata.getValue(); return value; }