diff --git a/src/org/labkey/test/TestFileUtils.java b/src/org/labkey/test/TestFileUtils.java index 37769cba3f..fe93c8bfaa 100644 --- a/src/org/labkey/test/TestFileUtils.java +++ b/src/org/labkey/test/TestFileUtils.java @@ -693,50 +693,4 @@ public static File convertTabularToXlsx(File tabularFile, String delimiter, Stri return excelFile; } - - // TODO should be able to use the methods in TSVWriter itself but currently has problems with NoClassDefFound - // TODO Consider using TestDataUtils.TsvQuoter instead - public static boolean shouldQuote(String value, String delimiter) - { - String escapeChars = _escapedCharsString + delimiter; - - int len = value.length(); - if (len == 0) - return false; - char firstCh = value.charAt(0); - char lastCh = value.charAt(len-1); - if (Character.isSpaceChar(firstCh) || Character.isSpaceChar(lastCh)) - return true; - return StringUtils.containsAny(value,escapeChars); - } - - public static String quoteValue(String value, String delimiter) - { - if (value == null) - return ""; - - String escaped = value; - if (shouldQuote(value, delimiter)) - { - StringBuilder sb = new StringBuilder(value.length() + 10); - sb.append(_chQuote); - int i; - int lastMatch = 0; - - while (-1 != (i = value.indexOf(_chQuote, lastMatch))) - { - sb.append(value, lastMatch, i); - sb.append(_chQuote).append(_chQuote); - lastMatch = i+1; - } - - if (lastMatch < value.length()) - sb.append(value.substring(lastMatch)); - - sb.append(_chQuote); - escaped = sb.toString(); - } - - return escaped; - } } diff --git a/src/org/labkey/test/util/TestDataUtils.java b/src/org/labkey/test/util/TestDataUtils.java index 097a0d2b45..82668ca49d 100644 --- a/src/org/labkey/test/util/TestDataUtils.java +++ b/src/org/labkey/test/util/TestDataUtils.java @@ -133,12 +133,13 @@ private static String toTabular(List> rowMaps, List */ public static class TsvQuoter { + protected char _escapeChar = '\\'; private static final char _chQuote = '"'; private final char[] _escapedChars; public TsvQuoter(char delimiterChar) { - _escapedChars = new char[] {'\r', '\n', _chQuote, delimiterChar}; + _escapedChars = new char[] {'\r', '\n', _escapeChar, _chQuote, delimiterChar}; } public TsvQuoter()