From 59a08a54abacdb844cb58587444a67f49f7f18a8 Mon Sep 17 00:00:00 2001
From: "pdowler.cadc" <pdowler.cadc@728ff76a-78ac-11de-a72b-d90af8dea425>
Date: Tue, 13 Jul 2010 20:33:09 +0000
Subject: [PATCH] added logging for failed serialisation of resultset values
 added support for Integer[] and Double[]

git-svn-id: https://opencadc.googlecode.com/svn/trunk@700 728ff76a-78ac-11de-a72b-d90af8dea425
---
 .../writer/formatter/IntArrayFormatter.java   | 20 ++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java b/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java
index 46c70c20..aa827ba7 100644
--- a/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java
+++ b/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java
@@ -102,10 +102,13 @@ public class IntArrayFormatter implements Formatter
                 throw new IllegalArgumentException("Error accessing array data for " + object.getClass().getCanonicalName(), e);
             }
         }
-        if (!(object instanceof int[]))
-            throw new IllegalArgumentException("Expecting int[], " + object.getClass().getCanonicalName() + " not supported.");
+        if (object instanceof int[])
+            return toString((int[]) object);
 
-        return toString((int[]) object);
+        if (object instanceof Integer[])
+            return toString((Integer[]) object);
+
+        throw new IllegalArgumentException(object.getClass().getCanonicalName() + " not supported.");
     }
 
     private String toString(int[] iarray)
@@ -118,4 +121,15 @@ public class IntArrayFormatter implements Formatter
         }
         return sb.substring(0, sb.length() - 1); // trim trailing comma
     }
+
+    private String toString(Integer[] iarray)
+    {
+        StringBuffer sb = new StringBuffer();
+        for (Integer i : iarray)
+        {
+            sb.append(i.toString());
+            sb.append(",");
+        }
+        return sb.substring(0, sb.length() - 1); // trim trailing comma
+    }
 }
-- 
GitLab