public static void savePersistenceProviderInDeploymentUnit( DeploymentUnit deploymentUnit, final List<PersistenceProvider> providerList, final List<PersistenceProviderAdaptor> adaptorList) { deploymentUnit = DeploymentUtils.getTopDeploymentUnit(deploymentUnit); PersistenceProviderDeploymentHolder persistenceProviderDeploymentHolder = getPersistenceProviderDeploymentHolder(deploymentUnit); if (persistenceProviderDeploymentHolder == null) { persistenceProviderDeploymentHolder = new PersistenceProviderDeploymentHolder(providerList, adaptorList); deploymentUnit.putAttachment(JpaAttachments.DEPLOYED_PERSISTENCE_PROVIDER, persistenceProviderDeploymentHolder); } else { synchronized (persistenceProviderDeploymentHolder.providerMap) { for(PersistenceProvider persistenceProvider : providerList){ persistenceProviderDeploymentHolder.providerMap.put(persistenceProvider.getClass().getName(), persistenceProvider); } } if (adaptorList != null) { persistenceProviderDeploymentHolder.adapterList.addAll(adaptorList); } } }
public static void finishDeploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); PersistenceProviderDeploymentHolder persistenceProviderDeploymentHolder = PersistenceProviderDeploymentHolder.getPersistenceProviderDeploymentHolder(deploymentUnit); Map<String, PersistenceProvider> providerMap = persistenceProviderDeploymentHolder != null ? persistenceProviderDeploymentHolder.getProviders() : null; if (providerMap != null) { Set<ClassLoader> deploymentClassLoaders = allDeploymentModuleClassLoaders(deploymentUnit); synchronized (providerMap){ for(Map.Entry<String, PersistenceProvider> kv: providerMap.entrySet()){ PersistenceProviderResolverImpl.getInstance().addDeploymentSpecificPersistenceProvider(kv.getValue(), deploymentClassLoaders); } } } }
persistenceProviderDeploymentHolder.getProviders() : null; if (providerMap != null) { synchronized (providerMap) { providers = new ArrayList<>(); providers.add(provider); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providers, null); return provider; try { providers = PersistenceProviderLoader.loadProviderModuleByName(configuredPersistenceProviderModule); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providers, null); PersistenceProvider provider = getProviderByName(pu, providers); if (provider != null) { try { List<PersistenceProvider> providers = PersistenceProviderLoader.loadProviderModuleByName(providerNameDerivedFromClassName); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providers, null); provider = getProviderByName(pu, providers); } catch (ModuleLoadException e) {
private static boolean deploymentHasPersistenceProvider(DeploymentUnit deploymentUnit) { deploymentUnit = DeploymentUtils.getTopDeploymentUnit(deploymentUnit); PersistenceProviderDeploymentHolder persistenceProviderDeploymentHolder = deploymentUnit.getAttachment(JpaAttachments.DEPLOYED_PERSISTENCE_PROVIDER); return (persistenceProviderDeploymentHolder != null && persistenceProviderDeploymentHolder.getProviders() != null ? persistenceProviderDeploymentHolder.getProviders().size() > 0: false); }
ArrayList<PersistenceProviderAdaptor> adaptorList = new ArrayList<>(); adaptorList.add(adaptor); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providerList, adaptorList); } catch (InstantiationException e) { throw JpaLogger.ROOT_LOGGER.cannotCreateAdapter(e, adapterClass); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providerList, null);
List<PersistenceProviderAdaptor> persistenceProviderAdaptors = persistenceProviderDeploymentHolder.getAdapters(); for(PersistenceProviderAdaptor persistenceProviderAdaptor:persistenceProviderAdaptors) { if(adapterClass.equals(persistenceProviderAdaptor.getClass().getName())) {
persistenceProviderDeploymentHolder.getProviders() : null; if (providerMap != null) { synchronized (providerMap) { providers = new ArrayList<>(); providers.add(provider); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providers, null); return provider; try { providers = PersistenceProviderLoader.loadProviderModuleByName(configuredPersistenceProviderModule); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providers, null); PersistenceProvider provider = getProviderByName(pu, providers); if (provider != null) { try { List<PersistenceProvider> providers = PersistenceProviderLoader.loadProviderModuleByName(providerNameDerivedFromClassName); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providers, null); provider = getProviderByName(pu, providers); } catch (ModuleLoadException e) {
private static boolean deploymentHasPersistenceProvider(DeploymentUnit deploymentUnit) { deploymentUnit = DeploymentUtils.getTopDeploymentUnit(deploymentUnit); PersistenceProviderDeploymentHolder persistenceProviderDeploymentHolder = deploymentUnit.getAttachment(JpaAttachments.DEPLOYED_PERSISTENCE_PROVIDER); return (persistenceProviderDeploymentHolder != null && persistenceProviderDeploymentHolder.getProviders() != null ? persistenceProviderDeploymentHolder.getProviders().size() > 0: false); }
ArrayList<PersistenceProviderAdaptor> adaptorList = new ArrayList<>(); adaptorList.add(adaptor); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providerList, adaptorList); } catch (InstantiationException e) { throw JpaLogger.ROOT_LOGGER.cannotCreateAdapter(e, adapterClass); PersistenceProviderDeploymentHolder.savePersistenceProviderInDeploymentUnit(deploymentUnit, providerList, null);
List<PersistenceProviderAdaptor> persistenceProviderAdaptors = persistenceProviderDeploymentHolder.getAdapters(); for(PersistenceProviderAdaptor persistenceProviderAdaptor:persistenceProviderAdaptors) { if(adapterClass.equals(persistenceProviderAdaptor.getClass().getName())) {
public static void finishDeploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); PersistenceProviderDeploymentHolder persistenceProviderDeploymentHolder = PersistenceProviderDeploymentHolder.getPersistenceProviderDeploymentHolder(deploymentUnit); Map<String, PersistenceProvider> providerMap = persistenceProviderDeploymentHolder != null ? persistenceProviderDeploymentHolder.getProviders() : null; if (providerMap != null) { Set<ClassLoader> deploymentClassLoaders = allDeploymentModuleClassLoaders(deploymentUnit); synchronized (providerMap){ for(Map.Entry<String, PersistenceProvider> kv: providerMap.entrySet()){ PersistenceProviderResolverImpl.getInstance().addDeploymentSpecificPersistenceProvider(kv.getValue(), deploymentClassLoaders); } } } }
public static void savePersistenceProviderInDeploymentUnit( DeploymentUnit deploymentUnit, final List<PersistenceProvider> providerList, final List<PersistenceProviderAdaptor> adaptorList) { deploymentUnit = DeploymentUtils.getTopDeploymentUnit(deploymentUnit); PersistenceProviderDeploymentHolder persistenceProviderDeploymentHolder = getPersistenceProviderDeploymentHolder(deploymentUnit); if (persistenceProviderDeploymentHolder == null) { persistenceProviderDeploymentHolder = new PersistenceProviderDeploymentHolder(providerList, adaptorList); deploymentUnit.putAttachment(JpaAttachments.DEPLOYED_PERSISTENCE_PROVIDER, persistenceProviderDeploymentHolder); } else { synchronized (persistenceProviderDeploymentHolder.providerMap) { for(PersistenceProvider persistenceProvider : providerList){ persistenceProviderDeploymentHolder.providerMap.put(persistenceProvider.getClass().getName(), persistenceProvider); } } if (adaptorList != null) { persistenceProviderDeploymentHolder.adapterList.addAll(adaptorList); } } }