/** * For getting x and y values from a dynamic number Use the intervals start * time as X values */ private Number[][] getDynamicNumberNumbers(IntervalMap dynamicNumber) { ArrayList<Number> xValuesList = new ArrayList<Number>(); ArrayList<Number> yValuesList = new ArrayList<Number>(); if (dynamicNumber == null) { return new Number[2][0]; } Number n; for (Interval interval : dynamicNumber.toKeysArray()) { n = (Number) dynamicNumber.get(interval, null); if (n != null) { xValuesList.add(interval.getLow()); yValuesList.add(n); } } return new Number[][]{xValuesList.toArray(new Number[0]), yValuesList.toArray(new Number[0])}; } }
@Override public Number[][] getSparklinesXAndYNumbers(Object value) { IntervalMap intervalMap = (IntervalMap) value; ArrayList<Number> xValues = new ArrayList<>(); ArrayList<Number> yValues = new ArrayList<>(); if (intervalMap == null) { return new Number[2][0]; } Interval[] intervals = intervalMap.toKeysArray(); Object[] values = intervalMap.toValuesArray(); Number n; for (int i = 0; i < intervals.length; i++) { n = (Number) values[i]; if (n != null) { xValues.add(intervals[i].getLow()); yValues.add(n); } } return new Number[][]{xValues.toArray(new Number[0]), yValues.toArray(new Number[0])}; } }
@Override public Iterable<Map.Entry> getWeights() { synchronized (this) { Object weightValue = attributes[GraphStoreConfiguration.EDGE_WEIGHT_INDEX]; if (weightValue instanceof Double) { throw new IllegalStateException("The weight is static, call getWeight() instead"); } TimeMap dynamicValue = (TimeMap) weightValue; Object[] values = dynamicValue.toValuesArray(); if (dynamicValue instanceof TimestampMap) { return new TimeAttributeIterable(((TimestampMap) dynamicValue).getTimestamps(), values); } else if (dynamicValue instanceof IntervalMap) { return new TimeAttributeIterable(((IntervalMap) dynamicValue).toKeysArray(), values); } } return TimeAttributeIterable.EMPTY_ITERABLE; }
@Override public Iterable<Map.Entry> getWeights() { synchronized (this) { Object weightValue = attributes[GraphStoreConfiguration.EDGE_WEIGHT_INDEX]; if (weightValue instanceof Double) { throw new IllegalStateException("The weight is static, call getWeight() instead"); } TimeMap dynamicValue = (TimeMap) weightValue; Object[] values = dynamicValue.toValuesArray(); if (dynamicValue instanceof TimestampMap) { return new TimeAttributeIterable(((TimestampMap) dynamicValue).getTimestamps(), values); } else if (dynamicValue instanceof IntervalMap) { return new TimeAttributeIterable(((IntervalMap) dynamicValue).toKeysArray(), values); } } return TimeAttributeIterable.EMPTY_ITERABLE; }
@Override public Iterable<Map.Entry> getAttributes(Column column) { checkColumn(column); checkColumnDynamic(column); int index = column.getIndex(); TimeMap dynamicValue = null; synchronized (this) { if (index < attributes.length) { dynamicValue = (TimeMap) attributes[index]; } if (dynamicValue != null) { Object[] values = dynamicValue.toValuesArray(); if (dynamicValue instanceof TimestampMap) { return new TimeAttributeIterable(((TimestampMap) dynamicValue).getTimestamps(), values); } else if (dynamicValue instanceof IntervalMap) { return new TimeAttributeIterable(((IntervalMap) dynamicValue).toKeysArray(), values); } } } return TimeAttributeIterable.EMPTY_ITERABLE; }
@Override public Iterable<Map.Entry> getAttributes(Column column) { checkColumn(column); checkColumnDynamic(column); int index = column.getIndex(); TimeMap dynamicValue = null; synchronized (this) { if (index < attributes.length) { dynamicValue = (TimeMap) attributes[index]; } if (dynamicValue != null) { Object[] values = dynamicValue.toValuesArray(); if (dynamicValue instanceof TimestampMap) { return new TimeAttributeIterable(((TimestampMap) dynamicValue).getTimestamps(), values); } else if (dynamicValue instanceof IntervalMap) { return new TimeAttributeIterable(((IntervalMap) dynamicValue).toKeysArray(), values); } } } return TimeAttributeIterable.EMPTY_ITERABLE; }