You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/02/22 14:47:26 UTC
svn commit: r1449038 -
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
Author: rmannibucau
Date: Fri Feb 22 13:47:26 2013
New Revision: 1449038
URL: http://svn.apache.org/r1449038
Log:
TOMEE-779 ability to configure is global jpa provider should override everything or not
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java?rev=1449038&r1=1449037&r2=1449038&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java Fri Feb 22 13:47:26 2013
@@ -693,6 +693,7 @@ class AppInfoBuilder {
public static final String JTADATASOURCE_PROP = "javax.persistence.jtaDataSource";
public static final String NON_JTADATASOURCE_PROP = "javax.persistence.nonJtaDataSource";
private static final String DEFAULT_PERSISTENCE_PROVIDER = "org.apache.openjpa.persistence.PersistenceProviderImpl";
+ public static final String FORCE_PROVIDER_ENV = "openejb.jpa.force." + PROVIDER_PROP;
public static final String HIBERNATE_TRANSACTION_MANAGER_LOOKUP_CLASS = "hibernate.transaction.manager_lookup_class";
public static final String HIBERNATE_JTA_PLATFORM = "hibernate.transaction.jta.platform";
@@ -703,12 +704,14 @@ class AppInfoBuilder {
private static final String PREFIX_SESSION_CUSTOMIZER = "org.apache.openejb.jpa.integration.eclipselink.PrefixSessionCustomizer";
private static String providerEnv;
+ private static boolean forceProviderEnv;
private static String transactionTypeEnv;
private static String jtaDataSourceEnv;
private static String nonJtaDataSourceEnv;
static {
providerEnv = SystemInstance.get().getOptions().get(PROVIDER_PROP, (String) null);
+ forceProviderEnv = SystemInstance.get().getOptions().get(FORCE_PROVIDER_ENV, true);
transactionTypeEnv = SystemInstance.get().getOptions().get(TRANSACTIONTYPE_PROP, (String) null);
jtaDataSourceEnv = SystemInstance.get().getOptions().get(JTADATASOURCE_PROP, (String) null);
nonJtaDataSourceEnv = SystemInstance.get().getOptions().get(NON_JTADATASOURCE_PROP, (String) null);
@@ -874,7 +877,7 @@ class AppInfoBuilder {
}
private static void overrideFromSystemProp(final PersistenceUnitInfo info) {
- if (providerEnv != null) {
+ if (providerEnv != null && (info.provider == null || forceProviderEnv)) {
info.provider = providerEnv;
}
if (info.provider == null) {