You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2010/03/19 22:55:44 UTC
svn commit: r925451 -
/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java
Author: ppoddar
Date: Fri Mar 19 21:55:44 2010
New Revision: 925451
URL: http://svn.apache.org/viewvc?rev=925451&view=rev
Log:
Allow user to set the cache mode enum values on EntityManager.setProperty() by String
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java?rev=925451&r1=925450&r2=925451&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java Fri Mar 19 21:55:44 2010
@@ -23,8 +23,10 @@ import java.util.Map;
import javax.persistence.CacheRetrieveMode;
import javax.persistence.CacheStoreMode;
+import javax.persistence.SharedCacheMode;
import org.apache.commons.lang.StringUtils;
+import org.apache.openjpa.datacache.DataCacheMode;
import org.apache.openjpa.kernel.DataCacheRetrieveMode;
import org.apache.openjpa.kernel.DataCacheStoreMode;
@@ -128,10 +130,12 @@ public class JPAProperties {
return null;
if (JPAProperties.isValidKey(key)) {
// works because enum values are identical String
- if (value instanceof CacheRetrieveMode) {
+ if (value instanceof CacheRetrieveMode || (value instanceof String && CACHE_RETRIEVE_MODE.equals(key))) {
return (T)DataCacheRetrieveMode.valueOf(value.toString().trim().toUpperCase());
- } else if (value instanceof CacheStoreMode) {
+ } else if (value instanceof CacheStoreMode || (value instanceof String && CACHE_STORE_MODE.equals(key))) {
return (T)DataCacheStoreMode.valueOf(value.toString().trim().toUpperCase());
+ } else if (value instanceof SharedCacheMode || (value instanceof String && CACHE_MODE.equals(key))) {
+ return (T)DataCacheMode.valueOf(value.toString().trim().toUpperCase());
}
}
return (T)value;