Author: kwsutter
Date: Wed Feb 22 23:09:39 2012
New Revision: 1292574
URL: http://svn.apache.org/viewvc?rev=1292574&view=rev
Log:
OPENJPA-2123. Introduce a new DBDictionary property (trimStringColumns) that
allows for trimming of String columns when retrieved from the ResultSet.
Modified:
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml
Modified:
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java?rev=1292574&r1=1292573&r2=1292574&view=diff
==============================================================================
---
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
(original)
+++
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java
Wed Feb 22 23:09:39 2012
@@ -44,7 +44,6 @@ import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
import java.sql.Types;
-import java.text.DateFormatSymbols;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
@@ -61,8 +60,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import java.util.TimeZone;
-import java.util.spi.TimeZoneNameProvider;
import javax.sql.DataSource;
@@ -288,6 +285,7 @@ public class DBDictionary
public boolean storageLimitationsFatal = false;
public boolean storeLargeNumbersAsStrings = false;
public boolean storeCharsAsNumbers = true;
+ public boolean trimStringColumns = false;
public boolean useGetBytesForBlobs = false;
public boolean useSetBytesForBlobs = false;
public boolean useGetObjectForBlobs = false;
@@ -883,7 +881,11 @@ public class DBDictionary
*/
public String getString(ResultSet rs, int column)
throws SQLException {
- return rs.getString(column);
+ String res = rs.getString(column);
+ if ((res != null) && trimStringColumns) {
+ res = res.trim();
+ }
+ return res;
}
/**
Modified: openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml?rev=1292574&r1=1292573&r2=1292574&view=diff
==============================================================================
--- openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml
(original)
+++ openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml Wed Feb
22 23:09:39 2012
@@ -3325,6 +3325,21 @@ and the token <literal>{0}</literal> to
Defaults to <literal>"TRIM(LEADING {1} FROM {0})"</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.TrimStringColumns">
+ <para>
+ <indexterm>
+ <primary>
+ String
+ </primary>
+ <secondary>
+ TrimStringColumns
+ </secondary>
+ </indexterm>
+<literal>TrimStringColumns</literal>: When <literal>true</literal>, the
resulting String from
+<methodname>ResultSet.getString</methodname> will be trimmed of trailing white
space. Defaults
+to <literal>false</literal>.
+ </para>
+ </listitem>
<listitem id="DBDictionary.TrimTrailingFunction">
<para>
<indexterm>