public Object create(Context ctx) { EntityManagerWrapper emWrapper = new EntityManagerWrapper(txManager, invMgr, compEnvMgr, callFlowAgent); emWrapper.initializeEMWrapper(refDesc.getUnitName(), refDesc.getPersistenceContextType(), refDesc.getSynchronizationType(), refDesc.getProperties()); return emWrapper; } }
public boolean isConflict(EntityManagerReferenceDescriptor other) { return getName().equals(other.getName()) && (!( DOLUtils.equals(getUnitName(), other.getUnitName()) && DOLUtils.equals(getPersistenceContextType(), other.getPersistenceContextType()) && properties.equals(other.properties) ) || isConflictResourceGroup(other)); } }
public void addEntityManagerReferenceDescriptor (EntityManagerReferenceDescriptor reference) { reference.setReferringBundleDescriptor(this); this.getEntityManagerReferenceDescriptors().add(reference); }
public Object create(Context ctx) { EntityManagerWrapper emWrapper = new EntityManagerWrapper(txManager, invMgr, compEnvMgr, callFlowAgent); emWrapper.initializeEMWrapper(refDesc.getUnitName(), refDesc.getPersistenceContextType(), refDesc.getProperties()); return emWrapper; } }
writeLocalizedDescriptions(entityMgrRefNode, descriptor); appendTextChild(entityMgrRefNode, TagNames.PERSISTENCE_CONTEXT_REF_NAME, descriptor.getName()); appendTextChild(entityMgrRefNode, TagNames.PERSISTENCE_UNIT_NAME, descriptor.getUnitName()); PersistenceContextType contextType = descriptor.getPersistenceContextType(); String contextTypeString = (contextType != null && PersistenceContextType.EXTENDED.equals(contextType)) ? descriptor.getProperties().entrySet()) { Node propertyNode = appendChild(entityMgrRefNode, TagNames.PERSISTENCE_PROPERTY); if( descriptor.isInjectable() ) { InjectionTargetNode ijNode = new InjectionTargetNode(); for (InjectionTarget target : descriptor.getInjectionTargets()) { ijNode.writeDescriptor(entityMgrRefNode, TagNames.INJECTION_TARGET, target);
private void processNewEmRefAnnotation (EntityManagerReferenceDescriptor emRef, String logicalName, PersistenceContext annotation) { emRef.setName(logicalName); if( !(annotation.unitName().equals("")) ) { emRef.setUnitName(annotation.unitName()); } emRef.setPersistenceContextType(annotation.type()); emRef.setSynchronizationType(annotation.synchronization()); // Add each property from annotation to descriptor, unless // it has been overridden within the .xml. Map existingProperties = emRef.getProperties(); for(PersistenceProperty next : annotation.properties()) { if( !existingProperties.containsKey(next.name()) ) { emRef.addProperty(next.name(), next.value()); } } }
@Override public final void addEntityManagerReferenceDescriptor (EntityManagerReferenceDescriptor reference) { try { EntityManagerReferenceDescriptor existing = this.getEntityManagerReferenceByName(reference.getName()); for( InjectionTarget next : reference.getInjectionTargets() ) { existing.addInjectionTarget(next); } } catch(IllegalArgumentException e) { if (getEjbBundleDescriptor() != null) { reference.setReferringBundleDescriptor (getEjbBundleDescriptor()); } if (env != null) env.addEntityManagerReferenceDescriptor(reference); else getEntityManagerReferenceDescriptors().add(reference); } }
protected EntityManagerReferenceDescriptor _getEntityManagerReferenceByName(String name) { for (EntityManagerReferenceDescriptor next : getEntityManagerReferenceDescriptors()) { if (next.getName().equals(name)) { return next; } } return null; }
emRef.addInjectionTarget(target); if (emRef.getName().length() == 0) { // a new one processNewEmRefAnnotation(emRef, logicalName, emRefAn); emRef.addInjectionTarget(target); if (emRef.getName().length() == 0) { // a new one if (emRef.getName().length() == 0) { // a new one
@Override protected void combineEntityManagerReferenceDescriptors(JndiNameEnvironment env) { for (EntityManagerReferenceDescriptor emRef : env.getEntityManagerReferenceDescriptors()) { EntityManagerReferenceDescriptor emr = _getEntityManagerReferenceByName(emRef.getName()); if (emr != null) { if (emr.isConflict(emRef)) { conflictEntityManagerReference = true; } unionInjectionTargets(emr, emRef); } else { addEntityManagerReferenceDescriptor(emRef); } } }
entityMgrReferenceDescriptor.setPersistenceContextType(contextType); new Object[] {TagNames.PERSISTENCE_CONTEXT_SYNCHRONIZATION_TYPE, value})); entityMgrReferenceDescriptor.setSynchronizationType(synchronizationType); EntityManagerReferenceDescriptor entityMgrReferenceDescriptor = (EntityManagerReferenceDescriptor)getDescriptor(); entityMgrReferenceDescriptor.addProperty(propertyName, value); propertyName = null; } else {
entityMgrReferenceDescriptor.setPersistenceContextType(contextType); EntityManagerReferenceDescriptor entityMgrReferenceDescriptor = (EntityManagerReferenceDescriptor)getDescriptor(); entityMgrReferenceDescriptor.addProperty(propertyName, value); propertyName = null; } else {
/** * Return EntityManagerReferenceDescriptors with given name * if exists or a new one without name being set. */ private EntityManagerReferenceDescriptor[] getEmReferenceDescriptors(String logicalName, ResourceContainerContext[] rcContexts) { EntityManagerReferenceDescriptor emRefs[] = new EntityManagerReferenceDescriptor[rcContexts.length]; for (int i = 0; i < rcContexts.length; i++) { EntityManagerReferenceDescriptor emRef = (EntityManagerReferenceDescriptor)rcContexts[i]. getEntityManagerReference(logicalName); if (emRef == null) { emRef = new EntityManagerReferenceDescriptor(); rcContexts[i].addEntityManagerReferenceDescriptor (emRef); } emRefs[i] = emRef; } return emRefs; }
writeLocalizedDescriptions(entityMgrRefNode, descriptor); appendTextChild(entityMgrRefNode, TagNames.PERSISTENCE_CONTEXT_REF_NAME, descriptor.getName()); appendTextChild(entityMgrRefNode, TagNames.PERSISTENCE_UNIT_NAME, descriptor.getUnitName()); PersistenceContextType contextType = descriptor.getPersistenceContextType(); String contextTypeString = (contextType != null && PersistenceContextType.EXTENDED.equals(contextType)) ? descriptor.getProperties().entrySet()) { Node propertyNode = appendChild(entityMgrRefNode, TagNames.PERSISTENCE_PROPERTY); if( descriptor.isInjectable() ) { InjectionTargetNode ijNode = new InjectionTargetNode(); for (InjectionTarget target : descriptor.getInjectionTargets()) { ijNode.writeDescriptor(entityMgrRefNode, TagNames.INJECTION_TARGET, target);
private void processNewEmRefAnnotation (EntityManagerReferenceDescriptor emRef, String logicalName, PersistenceContext annotation) { emRef.setName(logicalName); if( !(annotation.unitName().equals("")) ) { emRef.setUnitName(annotation.unitName()); } emRef.setPersistenceContextType(annotation.type()); // Add each property from annotation to descriptor, unless // it has been overridden within the .xml. Map existingProperties = emRef.getProperties(); for(PersistenceProperty next : annotation.properties()) { if( !existingProperties.containsKey(next.name()) ) { emRef.addProperty(next.name(), next.value()); } } }
@Override public void addEntityManagerReferenceDescriptor (EntityManagerReferenceDescriptor reference) { try { EntityManagerReferenceDescriptor existing = this.getEntityManagerReferenceByName(reference.getName()); for( InjectionTarget next : reference.getInjectionTargets() ) { existing.addInjectionTarget(next); } } catch(IllegalArgumentException e) { if (getEjbBundleDescriptor() != null) { reference.setReferringBundleDescriptor (getEjbBundleDescriptor()); } if (env != null) env.addEntityManagerReferenceDescriptor(reference); else getEntityManagerReferenceDescriptors().add(reference); } }
/** * Return the entity manager factory reference descriptor corresponding to * the given name. */ public EntityManagerReferenceDescriptor getEntityManagerReferenceByName(String name) { for (EntityManagerReferenceDescriptor next : getEntityManagerReferenceDescriptors()) { if (next.getName().equals(name)) { return next; } } throw new IllegalArgumentException("No entity manager reference of name " + name); }
emRef.addInjectionTarget(target); if (emRef.getName().length() == 0) { // a new one processNewEmRefAnnotation(emRef, logicalName, emRefAn); emRef.addInjectionTarget(target); if (emRef.getName().length() == 0) { // a new one if (emRef.getName().length() == 0) { // a new one
/** * Return EntityManagerReferenceDescriptors with given name * if exists or a new one without name being set. */ private EntityManagerReferenceDescriptor[] getEmReferenceDescriptors(String logicalName, ResourceContainerContext[] rcContexts) { EntityManagerReferenceDescriptor emRefs[] = new EntityManagerReferenceDescriptor[rcContexts.length]; for (int i = 0; i < rcContexts.length; i++) { EntityManagerReferenceDescriptor emRef = (EntityManagerReferenceDescriptor)rcContexts[i]. getEntityManagerReference(logicalName); if (emRef == null) { emRef = new EntityManagerReferenceDescriptor(); rcContexts[i].addEntityManagerReferenceDescriptor (emRef); } emRefs[i] = emRef; } return emRefs; }
while (iter.hasNext()) { EntityManagerReferenceDescriptor refDesc = iter.next(); if (refDesc.getPersistenceContextType() == PersistenceContextType.EXTENDED) { String unitName = refDesc.getUnitName(); EntityManagerFactory emf = EntityManagerFactoryWrapper.lookupEntityManagerFactory( EntityManager em = emf.createEntityManager(refDesc.getSynchronizationType(), refDesc.getProperties()); physicalEntityManagerWrapper = new PhysicalEntityManagerWrapper(em, refDesc.getSynchronizationType()); } catch (Throwable th) { EJBException ejbEx = new EJBException ("Couldn't create EntityManager for" + " refName: " + refDesc.getName() + "; unitname: " + unitName); ejbEx.initCause(th); if(physicalEntityManagerWrapper.getSynchronizationType() != refDesc.getSynchronizationType()) { throw new EJBException("The current invocation inherits a persistence context of synchronization type '" + physicalEntityManagerWrapper.getSynchronizationType() + "' where as it references a persistence context of synchronization type '" + refDesc.getSynchronizationType() + "' refName: " + refDesc.getName() + " unitName: " + unitName ); String emRefName = refDesc.getName(); long containerID = this.getContainerId(); EEMRefInfo refInfo = null; refInfo.refCount++; } else {