/** * helper method: find all PUs referenced via @PersistenceUnit or * <persistence-unit-ref> */ protected static Collection<? extends PersistenceUnitDescriptor> findReferencedPUsViaPURefs(JndiNameEnvironment component) { Collection<PersistenceUnitDescriptor> pus = new HashSet<PersistenceUnitDescriptor>(); for (EntityManagerFactoryReference emfRef : component.getEntityManagerFactoryReferenceDescriptors()) { PersistenceUnitDescriptor pu = findReferencedPUViaEMFRef(emfRef); pus.add(pu); } return pus; }
/** * helper method: find all PUs referenced via @PersistenceUnit or * <persistence-unit-ref> */ protected static Collection<? extends PersistenceUnitDescriptor> findReferencedPUsViaPURefs(JndiNameEnvironment component) { Collection<PersistenceUnitDescriptor> pus = new HashSet<PersistenceUnitDescriptor>(); for (EntityManagerFactoryReference emfRef : component.getEntityManagerFactoryReferenceDescriptors()) { PersistenceUnitDescriptor pu = findReferencedPUViaEMFRef(emfRef); pus.add(pu); } return pus; }
allEnvProps.addAll(jndiNameEnv.getMessageDestinationReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getEntityManagerFactoryReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getEntityManagerReferenceDescriptors());
private void addJndiNameEnvironmentInjectables(JndiNameEnvironment jndiNameEnv, List<InjectionCapable> injectables) { Collection allEnvProps = new HashSet(); for (Iterator envEntryItr = jndiNameEnv.getEnvironmentProperties().iterator(); envEntryItr.hasNext();) { EnvironmentProperty envEntry = (EnvironmentProperty) envEntryItr.next(); // Only env-entries that have been assigned a value are // eligible for injection. if (envEntry.hasAValue()) { allEnvProps.add(envEntry); } } allEnvProps.addAll(jndiNameEnv.getEjbReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getServiceReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getResourceReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getJmsDestinationReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getMessageDestinationReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getEntityManagerFactoryReferenceDescriptors()); allEnvProps.addAll(jndiNameEnv.getEntityManagerReferenceDescriptors()); for (Iterator envItr = allEnvProps.iterator(); envItr.hasNext();) { InjectionCapable next = (InjectionCapable) envItr.next(); if (next.isInjectable()) { injectables.add(next); } } }
protected void combineEntityManagerFactoryReferenceDescriptors(JndiNameEnvironment env) { for (EntityManagerFactoryReferenceDescriptor emfRef : env.getEntityManagerFactoryReferenceDescriptors()) { EntityManagerFactoryReferenceDescriptor emfr = _getEntityManagerFactoryReferenceByName(emfRef.getName()); if (emfr != null) { combineInjectionTargets(emfr, emfRef); } else { if (env instanceof WebBundleDescriptor && ((WebBundleDescriptor)env).conflictEntityManagerFactoryReference) { throw new IllegalArgumentException(localStrings.getLocalString( "enterprise.deployment.exceptionconflictpersistenceunitref", "There are more than one persistence unit references defined in web fragments with the same name, but not overrided in web.xml")); } else { addEntityManagerFactoryReferenceDescriptor(emfRef); } } } }
@Override protected void combineEntityManagerFactoryReferenceDescriptors(JndiNameEnvironment env) { for (EntityManagerFactoryReferenceDescriptor emfRef : env.getEntityManagerFactoryReferenceDescriptors()) { EntityManagerFactoryReferenceDescriptor emfr = _getEntityManagerFactoryReferenceByName(emfRef.getName()); if (emfr != null) { if (emfr.isConflict(emfRef)) { conflictEntityManagerFactoryReference = true; } unionInjectionTargets(emfr, emfRef); } else { addEntityManagerFactoryReferenceDescriptor(emfRef); } } }
writeEntityManagerFactoryReferenceDescriptors(node, descriptor.getEntityManagerFactoryReferenceDescriptors().iterator());
writeEntityManagerFactoryReferenceDescriptors(node, descriptor.getEntityManagerFactoryReferenceDescriptors().iterator());
for (Object next : env.getEntityManagerFactoryReferenceDescriptors()) { storeInNamespace(((EntityManagerFactoryReferenceDescriptor) next).getName(), env, appResources);