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 54e63bf2cff24e0b9efea311834e0739c9a37d3a..5d6cd5b719607a41c7a8e96cc2d7fd993f893502 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 @@ -69,12 +69,26 @@ package ca.nrc.cadc.tap.writer.formatter; +import java.sql.SQLException; + public class IntArrayFormatter implements Formatter { public String format(Object object) { if (object == null) return ""; + if (object instanceof java.sql.Array) + { + try + { + java.sql.Array array = (java.sql.Array) object; + object = (int[]) array.getArray(); + } + catch (SQLException e) + { + 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.");