private Map<String, String> getCSElementAttributes(ICS ics, String resourceName) { final StatementParam param = stmt.newParam(); param.setString(0, resourceName); Map<String, String> rowMap = new HashMap<String, String>(); IList i = ics.SQL(stmt, param, true); if (ics.GetErrno() != -101) { i.moveTo(0); try { rowMap.put("url", i.getValue("url")); rowMap.put("resdetails1", i.getValue("resdetails1")); rowMap.put("resdetails2", i.getValue("resdetails2")); } catch (NoSuchFieldException e) { throw new RuntimeException( "NoSuchFieldException returned " + ics.GetErrno() + " and errstr: " + " for " + stmt.toString()); } ics.ClearErrno(); } else if (ics.GetErrno() != 0) { throw new RuntimeException( "ics.SQL returned " + ics.GetErrno() + " and errstr: " + " for " + stmt.toString()); } return rowMap; }
/** * Reads an IList with collumns <tt>assettype</tt> and <tt>assetid</tt> and creates a Collection * of AssetId objects. * * @param result * @return Collection of AssetIds, never null. */ public static Collection<AssetId> toAssetIdCollection(IList result) { if (result == null || !result.hasData()) return Collections.emptyList(); final List<AssetId> list = new LinkedList<AssetId>(); for (IList row : new IterableIListWrapper(result)) { AssetId id; try { id = AssetIdUtils.createAssetId(row.getValue("assettype"), row.getValue("assetid")); list.add(id); } catch (NoSuchFieldException e) { throw new RuntimeException(e.getMessage()); } } return list; }
/** * Return a string value for a column. Wraps the possible checked exception NoSuchFieldException * with an IllegalArgumentException * * @param list IList to interrogate * @param colname name of column to return * @return string value * @throws IllegalArgumentException if the column name is not found */ public static String getStringValue(IList list, String colname) { try { return list.getValue(colname); } catch (NoSuchFieldException e) { throw new IllegalArgumentException("No such field: " + colname, e); } }
/** * Return a long value for a column. Wraps the possible checked exception NoSuchFieldException * with an IllegalArgumentException * * @param list IList to interrogate * @param colname name of column to return * @return long value * @throws IllegalArgumentException if the column name is not found * @throws NumberFormatException if the column being queried does not contain a long. */ public static long getLongValue(IList list, String colname) { try { String s = list.getValue(colname); return Long.valueOf(s); } catch (NoSuchFieldException e) { throw new IllegalArgumentException("No such field: " + colname, e); } }