@Override public void addNumeric(final NumericFx numeric) { final String metric_id = numeric.getMetric_id(); final String udi = numeric.getUnique_device_identifier(); final String unit_id = numeric.getUnit_id(); final int instance_id = numeric.getInstance_id(); for (Vital v : this) { if (v != null) { for (String x : v.getMetricIds()) { // Change to this vital from a source if (x.equals(metric_id)) { for (Value va : v) { if (va.getInstanceId() == instance_id && va.getMetricId().equals(metric_id) && va.getUniqueDeviceIdentifier().equals(udi)) { if (!numeric.equals(va.getNumeric())) { log.warn("duplicate numeric added {} {}", va.getNumeric(), numeric); } return; } } final Value va = new ValueImpl(numeric, v); v.add(va); } } } } }
@Override public void removeNumeric(NumericFx numeric) { final String metric_id = numeric.getMetric_id(); for (Vital v : this) { if (v != null) { for (String x : v.getMetricIds()) { if (x.equals(metric_id)) { ListIterator<Value> li = v.listIterator(); while (li.hasNext()) { if (numeric.equals(li.next().getNumeric())) { li.remove(); } } } } } } }