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) {