/** * Turns a single method parameter into a string. To keep * the functionality safe we truncate overly long strings and * ignore any exceptions. */ protected String toString(Object parameter) { if(parameter == null) { return NULL_STR; } try { String result = Misc.getAsString(parameter); if(result.length() > DEFAULT_ARG_STRING_MAX_LENGTH) { result = result.substring(0, DEFAULT_ARG_STRING_MAX_LENGTH) + DEFAULT_MAX_STRING_ENDING; } return result; } catch(Throwable e) { return UNKNOWN; } }
/** Returns label, value, time as an Object[] of 3 values. */ public Object[] toArray() { if (row==null) { if (keyToString) row = new Object[]{Misc.getAsString(key.getDetails()),new Double(value), new Double(active), new Date(time)}; else { List list=new ArrayList(); Misc.addTo(list, key.getDetails()); list.add(new Double(value)); list.add(new Double(active)); list.add(new Date(time)); row=list.toArray(); } } return row; }
/** * Combine MonitorComposites 1 MonitorComposite. * * @param monitorCompositeList * @return MonitorComposite */ public static MonitorComposite combine(Collection<MonitorComposite> monitorCompositeList) { Date previousDate = null; Date finalDate = null; // assign the date of all the results as the most recent of all monitorComposite dates Iterator<MonitorComposite> iter = monitorCompositeList.iterator(); // note 2 lists are used instead of a Map so if 2 instanceNames are the same (say 'local') each of them can be // retained. List<MonitorComposite> monitorCompositeResultsList = new ArrayList<MonitorComposite>(); List<String> instanceNameList = new ArrayList<String>(); while (iter.hasNext()) { MonitorComposite mc = iter.next(); instanceNameList.add(mc.getInstanceName()); monitorCompositeResultsList.add(mc); if (previousDate == null || mc.getDateCreated().after(previousDate)) { finalDate = mc.getDateCreated(); } previousDate = mc.getDateCreated(); } MonitorComposite mc = new MonitorCompositeIterator(monitorCompositeResultsList).toMonitorComposite().setDateCreated(finalDate); return mc.setInstanceName(Misc.getAsString(instanceNameList)); }