@Override public void seal() { sealed = true; sortedStringList = new String[rawStringSet.size()]; rawStringSet.toArray(sortedStringList); Arrays.sort(sortedStringList); if (sortedStringList.length == 0) { min = null; max = null; return; } // Update min/max based on raw docs. min = sortedStringList[0]; max = sortedStringList[sortedStringList.length - 1]; // Merge the raw and aggregated docs, so stats for dictionary creation are collected correctly. int numAggregated = aggregatedStringSet.size(); if (numAggregated > 0) { rawStringSet.addAll(aggregatedStringSet); sortedStringList = new String[rawStringSet.size()]; rawStringSet.toArray(sortedStringList); Arrays.sort(sortedStringList); } } }
@Override public ElementIterable get(Interval interval) { readLock(); ObjectSet<Element> elements = new ObjectOpenHashSet<Element>(); Interval2IntTreeMap sortedMap = (Interval2IntTreeMap) timestampIndexStore.timeSortedMap; if (!sortedMap.isEmpty()) { for (Integer index : sortedMap.values(interval)) { if (index < timestamps.length) { TimeIndexEntry ts = timestamps[index]; if (ts != null) { elements.addAll(ts.elementSet); } } } } if (!elements.isEmpty()) { return new ElementIterableImpl(new ElementIteratorImpl(elements.iterator())); } readUnlock(); return ElementIterable.EMPTY; } }
@Override public ElementIterable get(Interval interval) { readLock(); ObjectSet<Element> elements = new ObjectOpenHashSet<Element>(); Interval2IntTreeMap sortedMap = (Interval2IntTreeMap) timestampIndexStore.timeSortedMap; if (!sortedMap.isEmpty()) { for (Integer index : sortedMap.values(interval)) { if (index < timestamps.length) { TimeIndexEntry ts = timestamps[index]; if (ts != null) { elements.addAll(ts.elementSet); } } } } if (!elements.isEmpty()) { return new ElementIterableImpl(new ElementIteratorImpl(elements.iterator())); } readUnlock(); return ElementIterable.EMPTY; } }
@Override public ElementIterable get(double timestamp) { checkDouble(timestamp); readLock(); ObjectSet<Element> elements = new ObjectOpenHashSet<Element>(); Interval2IntTreeMap sortedMap = (Interval2IntTreeMap) timestampIndexStore.timeSortedMap; if (!sortedMap.isEmpty()) { for (Integer index : sortedMap.values(timestamp)) { if (index < timestamps.length) { TimeIndexEntry ts = timestamps[index]; if (ts != null) { elements.addAll(ts.elementSet); } } } } if (!elements.isEmpty()) { return new ElementIterableImpl(new ElementIteratorImpl(elements.iterator())); } readUnlock(); return ElementIterable.EMPTY; }
@Override public ElementIterable get(double timestamp) { checkDouble(timestamp); readLock(); ObjectSet<Element> elements = new ObjectOpenHashSet<Element>(); Interval2IntTreeMap sortedMap = (Interval2IntTreeMap) timestampIndexStore.timeSortedMap; if (!sortedMap.isEmpty()) { for (Integer index : sortedMap.values(timestamp)) { if (index < timestamps.length) { TimeIndexEntry ts = timestamps[index]; if (ts != null) { elements.addAll(ts.elementSet); } } } } if (!elements.isEmpty()) { return new ElementIterableImpl(new ElementIteratorImpl(elements.iterator())); } readUnlock(); return ElementIterable.EMPTY; }
TimeIndexEntry ts = timestamps[index]; if (ts != null) { elements.addAll(ts.elementSet);
TimeIndexEntry ts = timestamps[index]; if (ts != null) { elements.addAll(ts.elementSet);