private boolean allNull(Indexed<String> dimValues) { for (int i = 0, size = dimValues.size(); i < size; i++) { if (dimValues.get(i) != null) { return false; } } return true; } }
@Override public T next() { if (!hasNext()) { throw new NoSuchElementException(); } return indexed.get(currIndex++); }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedBuffers.get(bufferNum); ByteBuffer bb = holder.get(); ByteOrder byteOrder = bb.order(); // slice() makes the buffer's position = 0 buffer = bb.slice().order(byteOrder); currBufferNum = bufferNum; bigEndian = byteOrder.equals(ByteOrder.BIG_ENDIAN); }
/** * Checks if the suffix of strings.get(i) matches the suffix of this matcher. The first prefix.length characters * of s are ignored. This method is useful if you've already independently verified the prefix. This method * evalutes strings.get(i) lazily to save time when it isn't necessary to actually look at the string. */ public boolean matchesSuffixOnly(final Indexed<String> strings, final int i) { if (suffixMatch == SuffixMatch.MATCH_ANY) { return true; } else if (suffixMatch == SuffixMatch.MATCH_EMPTY) { final String s = strings.get(i); return s == null ? matches(null) : s.length() == prefix.length(); } else { // suffixMatch is MATCH_PATTERN final String s = strings.get(i); return matches(s); } }
private int indexOf(Indexed<T> indexed, @Nullable T value) { if (!allowReverseLookup) { throw new UnsupportedOperationException("Reverse lookup not allowed."); } int minIndex = 0; int maxIndex = size - 1; while (minIndex <= maxIndex) { int currIndex = (minIndex + maxIndex) >>> 1; T currValue = indexed.get(currIndex); int comparison = strategy.compare(currValue, value); if (comparison == 0) { return currIndex; } if (comparison < 0) { minIndex = currIndex + 1; } else { maxIndex = currIndex - 1; } } return -(minIndex + 1); }
@Override protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedLongBuffers.get(bufferNum); buffer = holder.get(); // asLongBuffer() makes the longBuffer's position = 0 longBuffer = buffer.asLongBuffer(); currBufferNum = bufferNum; } };
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedIntBuffers.get(bufferNum); // asIntBuffer() makes the buffer's position = 0 buffer = holder.get().asIntBuffer(); currBufferNum = bufferNum; }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedDoubleBuffers.get(bufferNum); // asDoubleBuffer() makes the doubleBuffer's position = 0 doubleBuffer = holder.get().asDoubleBuffer(); currBufferNum = bufferNum; }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedFloatBuffers.get(bufferNum); // asFloatBuffer() makes the floatBuffer's position = 0 floatBuffer = holder.get().asFloatBuffer(); currBufferNum = bufferNum; }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedLongBuffers.get(bufferNum); buffer = holder.get(); currBufferNum = bufferNum; reader.setBuffer(buffer); }
private void checkBasicAPIs(String[] strings, Indexed<String> index, boolean allowReverseLookup) { Assert.assertEquals(strings.length, index.size()); for (int i = 0; i < strings.length; i++) { Assert.assertEquals(strings[i], index.get(i)); } if (allowReverseLookup) { HashMap<String, Integer> mixedUp = new HashMap<>(); for (int i = 0; i < strings.length; i++) { mixedUp.put(strings[i], i); } for (Map.Entry<String, Integer> entry : mixedUp.entrySet()) { Assert.assertEquals(entry.getValue().intValue(), index.indexOf(entry.getKey())); } } else { try { index.indexOf("xxx"); Assert.fail("should throw exception"); } catch (UnsupportedOperationException e) { // not supported } } }
final IncrementalIndexStorageAdapter queryable = new IncrementalIndexStorageAdapter(index); Assert.assertEquals(2, queryable.getAvailableDimensions().size()); Assert.assertEquals("host", queryable.getAvailableDimensions().get(0)); Assert.assertEquals("spatial", queryable.getAvailableDimensions().get(1)); Assert.assertEquals(ImmutableList.of("visited_sum", "unique_hosts"), queryable.getAvailableMetrics());
private boolean allNull(Indexed<String> dimValues) { for (int i = 0, size = dimValues.size(); i < size; i++) { if (dimValues.get(i) != null) { return false; } } return true; } }
@Override public T next() { if (!hasNext()) { throw new NoSuchElementException(); } return indexed.get(currIndex++); }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedBuffers.get(bufferNum); ByteBuffer bb = holder.get(); ByteOrder byteOrder = bb.order(); // slice() makes the buffer's position = 0 buffer = bb.slice().order(byteOrder); currBufferNum = bufferNum; bigEndian = byteOrder.equals(ByteOrder.BIG_ENDIAN); }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedFloatBuffers.get(bufferNum); // asFloatBuffer() makes the floatBuffer's position = 0 floatBuffer = holder.get().asFloatBuffer(); currBufferNum = bufferNum; }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedIntBuffers.get(bufferNum); // asIntBuffer() makes the buffer's position = 0 buffer = holder.get().asIntBuffer(); currBufferNum = bufferNum; }
@Override protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedLongBuffers.get(bufferNum); buffer = holder.get(); // asLongBuffer() makes the longBuffer's position = 0 longBuffer = buffer.asLongBuffer(); currBufferNum = bufferNum; } };
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedDoubleBuffers.get(bufferNum); // asDoubleBuffer() makes the doubleBuffer's position = 0 doubleBuffer = holder.get().asDoubleBuffer(); currBufferNum = bufferNum; }
protected void loadBuffer(int bufferNum) { CloseQuietly.close(holder); holder = singleThreadedLongBuffers.get(bufferNum); buffer = holder.get(); currBufferNum = bufferNum; reader.setBuffer(buffer); }