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;