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;


Reply via email to