You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2012/04/25 02:11:12 UTC

svn commit: r1330074 - /incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/MappingFactory.java

Author: lahiru
Date: Wed Apr 25 00:11:11 2012
New Revision: 1330074

URL: http://svn.apache.org/viewvc?rev=1330074&view=rev
Log:
fixing issue with arraytypes.

Modified:
    incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/MappingFactory.java

Modified: incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/MappingFactory.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/MappingFactory.java?rev=1330074&r1=1330073&r2=1330074&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/MappingFactory.java (original)
+++ incubator/airavata/trunk/modules/commons/gfac-schema/src/main/java/org/apache/airavata/commons/gfac/type/MappingFactory.java Wed Apr 25 00:11:11 2012
@@ -37,6 +37,10 @@ import org.apache.airavata.schemas.gfac.
 import org.apache.airavata.schemas.gfac.URIArrayType;
 import org.apache.airavata.schemas.gfac.URIParameterType;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 /*
  * TODO use XML meta data instead of static coding
  * 
@@ -106,19 +110,20 @@ public class MappingFactory {
         } else if (param.hasType(DataType.URI)) {
             return String.valueOf(((URIParameterType) param.getType()).getValue());
         } else if (param.hasType(DataType.STRING_ARRAY)) {
-            return String.valueOf(((StringArrayType) param.getType()).getValueArray());
+           return join(Arrays.asList(((StringArrayType) param.getType()).getValueArray()),",");
         } else if (param.hasType(DataType.INTEGER_ARRAY)) {
+            //todo return proper string array from int,double,boolean arrays
             return String.valueOf(((IntegerArrayType) param.getType()).getValueArray());
         } else if (param.hasType(DataType.DOUBLE_ARRAY)) {
             return String.valueOf(((DoubleArrayType) param.getType()).getValueArray());
         } else if (param.hasType(DataType.BOOLEAN_ARRAY)) {
             return String.valueOf(((BooleanArrayType) param.getType()).getValueArray());
         } else if (param.hasType(DataType.FILE_ARRAY)) {
-            return String.valueOf(((FileArrayType) param.getType()).getValueArray());
+            return join(Arrays.asList(((FileArrayType) param.getType()).getValueArray()),",");
         } else if (param.hasType(DataType.FLOAT_ARRAY)) {
             return String.valueOf(((FloatArrayType) param.getType()).getValueArray());
         } else if (param.hasType(DataType.URI_ARRAY)) {
-            return String.valueOf(((URIArrayType) param.getType()).getValueArray());
+           return join(Arrays.asList(((URIArrayType) param.getType()).getValueArray()),",");
         }
         return null;
     }
@@ -146,4 +151,21 @@ public class MappingFactory {
             ((URIParameterType) param.getType()).setValue((val));
         }
     }
+
+    public static String join(List<String> list, String delim) {
+
+        StringBuilder sb = new StringBuilder();
+
+        String loopDelim = "";
+
+        for (String s : list) {
+
+            sb.append(loopDelim);
+            sb.append(s);
+
+            loopDelim = delim;
+        }
+
+        return sb.toString();
+    }
 }