private static OrderedMap<Long, Double[]> _MergeDataSets(boolean F, TemperatureSet TSList[]) { /* merge temperature data sets */ OrderedMap<Long, Double[]> rowMap = new OrderedMap<Long, Double[]>(); if (!ListTools.isEmpty(TSList)) { for (int d = 0; d < TSList.length; d++) { TemperatureSet TS = TSList[d]; if (TS != null) { Collection<Temperature> TList = TS.getTemperatures(); for (Temperature T : TList) { Long ts = new Long(T.getTimestamp()); Double tmp = new Double(T.getTemperature(F)); Double row[] = rowMap.get(ts); if (row == null) { row = new Double[TSList.length]; rowMap.put(ts, row); } row[d] = tmp; } } } } /* sort by timestamp */ rowMap.sortKeys(new ListTools.NumberComparator<Long>()); /* return */ return rowMap; }
/** * ** Gets an <code>OrderedMap</code> of the argument key/value pairs indexed ** by their keys * ** @return An <code>OrderedMap</code> of the argument key/value pairs */ protected OrderedMap<String, KeyVal> getKeyValMap() { OrderedMap<String, KeyVal> kvMap = new OrderedMap<String, KeyVal>(); for (KeyVal kv : this.getKeyValList()) { // only the first occurance is retained String kn = kv.getKey(); if (!kvMap.containsKey(kn)) { kvMap.put(kn, kv); } } return kvMap; }