if (module == null)
throw MESSAGES.failedToGetModuleAttachment(phaseContext.getDeploymentUnit());
final ServiceTarget serviceTarget = phaseContext.getServiceTarget();
final ModuleClassLoader classLoader = module.getClassLoader();
PersistenceProviderDeploymentHolder persistenceProviderDeploymentHolder = deploymentUnit.getAttachment(JpaAttachments.DEPLOYED_PERSISTENCE_PROVIDER);
if (persistenceProviderDeploymentHolder == null && deploymentUnit.getParent() != null) {
persistenceProviderDeploymentHolder = deploymentUnit.getParent().getAttachment(JpaAttachments.DEPLOYED_PERSISTENCE_PROVIDER);
}
for (PersistenceUnitMetadataHolder holder : puList) {
setAnnotationIndexes(holder, deploymentUnit);
for (PersistenceUnitMetadata pu : holder.getPersistenceUnits()) {
pu.setClassLoader(classLoader);
pu.setTempClassLoaderFactory(new TempClassLoaderFactoryImpl(classLoader));
try {
final HashMap properties = new HashMap();
if (!ValidationMode.NONE.equals(pu.getValidationMode())) {
ValidatorFactory validatorFactory = SerializableValidatorFactory.validatorFactory();
properties.put("javax.persistence.validation.factory", validatorFactory);
}
final PersistenceProviderAdaptor adaptor = getPersistenceProviderAdaptor(pu, persistenceProviderDeploymentHolder, deploymentUnit);
PersistenceProvider provider = null;
if (persistenceProviderDeploymentHolder != null &&
persistenceProviderDeploymentHolder.getProvider() != null) {
List<PersistenceProvider> providerList = persistenceProviderDeploymentHolder.getProvider();
for (PersistenceProvider persistenceProvider : providerList) {
if (persistenceProvider.getClass().getName().equals(pu.getPersistenceProviderClassName())) {
provider = persistenceProvider;
break;
}