You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2006/07/25 21:49:48 UTC

svn commit: r425499 - in /incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf: AutoDetachValue.java OpenJPAConfigurationImpl.java

Author: pcl
Date: Tue Jul 25 12:49:48 2006
New Revision: 425499

URL: http://svn.apache.org/viewvc?rev=425499&view=rev
Log:
changed AutoDetachValue to extend StringListValue, more closely modeling its behavior in the Kodo configuration system; changed visibility of XML name conversion method

Modified:
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java
    incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java?rev=425499&r1=425498&r2=425499&view=diff
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/AutoDetachValue.java Tue Jul 25 12:49:48 2006
@@ -16,8 +16,7 @@
 package org.apache.openjpa.conf;
 
 import org.apache.openjpa.kernel.AutoDetach;
-import org.apache.openjpa.lib.conf.Value;
-import serp.util.Strings;
+import org.apache.openjpa.lib.conf.StringListValue;
 
 /**
  * Value type used to represent auto detach flags. Separate to
@@ -27,7 +26,7 @@
  * @nojavadoc
  */
 class AutoDetachValue
-    extends Value {
+    extends StringListValue {
 
     public static final String DETACH_CLOSE = "close";
     public static final String DETACH_COMMIT = "commit";
@@ -43,49 +42,30 @@
     };
 
     private int _flags;
+    private boolean _flagsSet;
 
     public AutoDetachValue() {
         super("AutoDetach");
         setAliases(ALIASES);
+        setAliasListComprehensive(true);
     }
 
     public Class getValueType() {
         return String[].class;
     }
 
-    public void set(int flags) {
+    public void setConstant(int flags) {
         _flags = flags;
     }
 
-    public int get() {
-        return _flags;
-    }
-
-    protected String getInternalString() {
-        StringBuffer buf = new StringBuffer();
-        String[] aliases = getAliases();
-        boolean start = false;
-        for (int i = 0; i < aliases.length; i += 2) {
-            if ((_flags & Integer.parseInt(aliases[i + 1])) != 0) {
-                buf.append(aliases[i]);
-                if (start)
-                    buf.append(", ");
-                else
-                    start = true;
-            }
+    public int getConstant() {
+        if (!_flagsSet) {
+            String[] vals = get();
+            for (int i = 0; i < vals.length; i++)
+                _flags |= Integer.parseInt(unalias(vals[i]));
+            _flagsSet = true;
         }
-        return buf.toString();
-    }
-
-    public void setInternalString(String val) {
-        String[] vals = Strings.split(val, ",", 0);
-        for (int i = 0; i < vals.length; i++)
-            _flags |= Integer.parseInt(unalias(vals[i]));
-    }
-
-    public void setInternalObject(Object val) {
-        String[] vals = (String[]) val;
-        for (int i = 0; i < vals.length; i++)
-            _flags |= Integer.parseInt(unalias(vals[i]));
+            
+        return _flags;
     }
 }

Modified: incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java?rev=425499&r1=425498&r2=425499&view=diff
==============================================================================
--- incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java (original)
+++ incubator/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/conf/OpenJPAConfigurationImpl.java Tue Jul 25 12:49:48 2006
@@ -1105,11 +1105,11 @@
     }
 
     public void setAutoDetach(int autoDetachFlags) {
-        autoDetach.set(autoDetachFlags);
+        autoDetach.setConstant(autoDetachFlags);
     }
 
     public int getAutoDetachConstant() {
-        return autoDetach.get();
+        return autoDetach.getConstant();
     }
 
     public void setDetachState(String detachState) {