Author: samindaw
Date: Wed Aug 21 21:08:27 2013
New Revision: 1516304
URL: http://svn.apache.org/r1516304
Log:
fix of escape quoting + overloading to support new delimiter
Modified:
airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java
Modified:
airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java
URL:
http://svn.apache.org/viewvc/airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java?rev=1516304&r1=1516303&r2=1516304&view=diff
==============================================================================
---
airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java
(original)
+++
airavata/trunk/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/StringUtil.java
Wed Aug 21 21:08:27 2013
@@ -30,9 +30,9 @@ public class StringUtil {
public static final String DELIMETER=",";
public static final String QUOTE="\"";
- private static boolean isQuoted(String s){
+ private static boolean isQuoted(String s, String delimiter){
//Check if we need quotes
- if (s.contains(DELIMETER)){
+ if (s.contains(delimiter)){
//Check if its already quoted
s=s.replaceAll("\"\"", "");
return (s.substring(0,1).equals(QUOTE) &&
s.subSequence(s.length()-1, s.length()).equals(QUOTE));
@@ -41,6 +41,10 @@ public class StringUtil {
return true;
}
+ private static boolean isQuoted(String s){
+ return isQuoted(s, DELIMETER);
+ }
+
/**
* Create a delimiter separated string out of a list
* @param list
@@ -56,14 +60,14 @@ public class StringUtil {
* @param list
* @return
*/
- public static String createDelimiteredString(String[] list,String
delimeter){
+ public static String createDelimiteredString(String[] list,String
delimiter){
String s=null;
for (String ss : list) {
- ss=quoteString(ss);
+ ss=quoteString(ss, delimiter);
if (s==null){
s=ss;
}else{
- s+=delimeter +ss;
+ s+=delimiter +ss;
}
}
return s;
@@ -84,11 +88,11 @@ public class StringUtil {
* @param s
* @return
*/
- public static String quoteString(String s,String delimeter){
- if (isQuoted(s)){
+ public static String quoteString(String s,String delimiter){
+ if (isQuoted(s,delimiter)){
return s;
}else{
- return QUOTE+s+QUOTE;
+ return QUOTE+s.replaceAll(QUOTE, QUOTE+QUOTE)+QUOTE;
}
}
@@ -115,7 +119,7 @@ public class StringUtil {
}else if (c.equals(QUOTE)){
if (QUOTE.equals(previousChar)){
//which means previousChar was an
escape character, not a quote for the string
- currentItem+=QUOTE+QUOTE;
+ currentItem+=QUOTE;
if (insideQuote){
//mistakenly thought previous
char was opening quote char, thus need to make this false
insideQuote=false;