@Override public String toString() { return "Range{" + "inclusiveStart='" + getInclusiveStart() + '\'' + ", exclusiveEnd='" + getExclusiveEnd() + '\'' + '}'; }
@Override public String toString() { return "Range{" + "inclusiveStart='" + getInclusiveStart() + '\'' + ", exclusiveEnd='" + getExclusiveEnd() + '\'' + '}'; }
public boolean isInRange(String str) { if (getInclusiveStart() != null) { if (getInclusiveStart().compareTo(str) > 0) { return false; } } if (getExclusiveEnd() != null) { if (str.compareTo(getExclusiveEnd()) >= 0) { return false; } } return true; }
public boolean isInRange(String str) { if (getInclusiveStart() != null) { if (getInclusiveStart().compareTo(str) > 0) { return false; } } if (getExclusiveEnd() != null) { if (str.compareTo(getExclusiveEnd()) >= 0) { return false; } } return true; }
private org.apache.accumulo.core.data.Range vertexiumRangeToAccumuloRange(Range range) { Key inclusiveStartRow = range.getInclusiveStart() == null ? null : new Key(range.getInclusiveStart()); Key exclusiveEndRow = range.getExclusiveEnd() == null ? null : new Key(range.getExclusiveEnd()); boolean startKeyInclusive = true; boolean endKeyInclusive = false; return new org.apache.accumulo.core.data.Range( inclusiveStartRow, startKeyInclusive, exclusiveEndRow, endKeyInclusive ); }
private org.apache.accumulo.core.data.Range vertexiumRangeToAccumuloRange(Range range) { Key inclusiveStartRow = range.getInclusiveStart() == null ? null : new Key(range.getInclusiveStart()); Key exclusiveEndRow = range.getExclusiveEnd() == null ? null : new Key(range.getExclusiveEnd()); boolean startKeyInclusive = true; boolean endKeyInclusive = false; return new org.apache.accumulo.core.data.Range( inclusiveStartRow, startKeyInclusive, exclusiveEndRow, endKeyInclusive ); }
public Iterable<ExtendedDataRow> getExtendedDataInRange(Range extendedDataRowKeyRange, Authorizations authorizations) { Span trace = Trace.start("getExtendedDataInRange"); trace.data("rangeInclusiveStart", extendedDataRowKeyRange.getInclusiveStart()); trace.data("rangeExclusiveStart", extendedDataRowKeyRange.getExclusiveEnd()); org.apache.accumulo.core.data.Range range = vertexiumRangeToAccumuloRange(extendedDataRowKeyRange); return getExtendedDataRowsInRange(trace, Collections.singletonList(range), FetchHints.ALL, authorizations); }
public static Range createExtendedDataRowKeyRange(ElementType elementType, Range elementIdRange) { String elementTypePrefix = getExtendedDataRowKeyElementTypePrefix(elementType); String inclusiveStart = elementIdRange.getInclusiveStart(); if (inclusiveStart == null) { inclusiveStart = ""; } inclusiveStart = elementTypePrefix + inclusiveStart; String exclusiveEnd = elementIdRange.getExclusiveEnd(); if (exclusiveEnd != null) { exclusiveEnd = elementTypePrefix + exclusiveEnd; } else if (elementType == ElementType.EDGE) { exclusiveEnd = getExtendedDataRowKeyElementTypePrefix(ElementType.VERTEX); } return new Range(inclusiveStart, exclusiveEnd); }
public Iterable<ExtendedDataRow> getExtendedDataInRange(Range extendedDataRowKeyRange, Authorizations authorizations) { Span trace = Trace.start("getExtendedDataInRange"); trace.data("rangeInclusiveStart", extendedDataRowKeyRange.getInclusiveStart()); trace.data("rangeExclusiveStart", extendedDataRowKeyRange.getExclusiveEnd()); org.apache.accumulo.core.data.Range range = vertexiumRangeToAccumuloRange(extendedDataRowKeyRange); return getExtendedDataRowsInRange(trace, Collections.singletonList(range), FetchHints.ALL, authorizations); }
public static Range createExtendedDataRowKeyRange(ElementType elementType, Range elementIdRange) { String elementTypePrefix = getExtendedDataRowKeyElementTypePrefix(elementType); String inclusiveStart = elementIdRange.getInclusiveStart(); if (inclusiveStart == null) { inclusiveStart = ""; } inclusiveStart = elementTypePrefix + inclusiveStart; String exclusiveEnd = elementIdRange.getExclusiveEnd(); if (exclusiveEnd != null) { exclusiveEnd = elementTypePrefix + exclusiveEnd; } else if (elementType == ElementType.EDGE) { exclusiveEnd = getExtendedDataRowKeyElementTypePrefix(ElementType.VERTEX); } return new Range(inclusiveStart, exclusiveEnd); }
private List<String> getSplitsFromAccumuloGraph(ElementType elementType) { Graph graph = getGraph(); while (graph instanceof ProxyGraph) { graph = ((ProxyGraph) graph).getProxiedGraph(); } if (!(graph instanceof AccumuloGraph)) { return null; } AccumuloGraph accumuloGraph = (AccumuloGraph) graph; Iterable<Range> splits; switch (elementType) { case VERTEX: splits = accumuloGraph.listVerticesTableSplits(); break; case EDGE: splits = accumuloGraph.listEdgesTableSplits(); break; default: throw new VisalloException("Unhandled element type: " + elementType); } List<String> result = new ArrayList<>(); boolean first = true; for (Range split : splits) { if (!first) { result.add(split.getInclusiveStart()); } first = false; } return result; }
@Override public Iterable<Edge> getEdgesInRange(Range idRange, FetchHints fetchHints, Long endTime, Authorizations authorizations) { Span trace = Trace.start("getEdgesInRange"); trace.data("rangeInclusiveStart", idRange.getInclusiveStart()); trace.data("rangeExclusiveStart", idRange.getExclusiveEnd()); traceDataFetchHints(trace, fetchHints); org.apache.accumulo.core.data.Range range = vertexiumRangeToAccumuloRange(idRange); return getEdgesInRange(trace, range, fetchHints, endTime, authorizations); }
@Override public Iterable<Vertex> getVerticesInRange(Range idRange, FetchHints fetchHints, Long endTime, Authorizations authorizations) { Span trace = Trace.start("getVerticesInRange"); trace.data("rangeInclusiveStart", idRange.getInclusiveStart()); trace.data("rangeExclusiveStart", idRange.getExclusiveEnd()); traceDataFetchHints(trace, fetchHints); org.apache.accumulo.core.data.Range range = vertexiumRangeToAccumuloRange(idRange); return getVerticesInRange(trace, range, fetchHints, endTime, authorizations); }
@Override public Iterable<Vertex> getVerticesInRange(Range idRange, FetchHints fetchHints, Long endTime, Authorizations authorizations) { Span trace = Trace.start("getVerticesInRange"); trace.data("rangeInclusiveStart", idRange.getInclusiveStart()); trace.data("rangeExclusiveStart", idRange.getExclusiveEnd()); traceDataFetchHints(trace, fetchHints); org.apache.accumulo.core.data.Range range = vertexiumRangeToAccumuloRange(idRange); return getVerticesInRange(trace, range, fetchHints, endTime, authorizations); }
@Override public Iterable<Edge> getEdgesInRange(Range idRange, FetchHints fetchHints, Long endTime, Authorizations authorizations) { Span trace = Trace.start("getEdgesInRange"); trace.data("rangeInclusiveStart", idRange.getInclusiveStart()); trace.data("rangeExclusiveStart", idRange.getExclusiveEnd()); traceDataFetchHints(trace, fetchHints); org.apache.accumulo.core.data.Range range = vertexiumRangeToAccumuloRange(idRange); return getEdgesInRange(trace, range, fetchHints, endTime, authorizations); }
@Test public void testListSplits() throws AccumuloSecurityException, TableNotFoundException, AccumuloException { SortedSet<Text> keys = new TreeSet<>(); keys.add(new Text("j")); getGraph().getConnector().tableOperations().addSplits(getGraph().getVerticesTableName(), keys); keys = new TreeSet<>(); keys.add(new Text("k")); getGraph().getConnector().tableOperations().addSplits(getGraph().getEdgesTableName(), keys); keys = new TreeSet<>(); keys.add(new Text("l")); getGraph().getConnector().tableOperations().addSplits(getGraph().getDataTableName(), keys); List<org.vertexium.Range> verticesTableSplits = toList(getGraph().listVerticesTableSplits()); assertEquals(2, verticesTableSplits.size()); assertEquals(null, verticesTableSplits.get(0).getInclusiveStart()); assertEquals("j", verticesTableSplits.get(0).getExclusiveEnd()); assertEquals("j", verticesTableSplits.get(1).getInclusiveStart()); assertEquals(null, verticesTableSplits.get(1).getExclusiveEnd()); List<org.vertexium.Range> edgesTableSplits = toList(getGraph().listEdgesTableSplits()); assertEquals(2, edgesTableSplits.size()); assertEquals(null, edgesTableSplits.get(0).getInclusiveStart()); assertEquals("k", edgesTableSplits.get(0).getExclusiveEnd()); assertEquals("k", edgesTableSplits.get(1).getInclusiveStart()); assertEquals(null, edgesTableSplits.get(1).getExclusiveEnd()); List<org.vertexium.Range> dataTableSplits = toList(getGraph().listDataTableSplits()); assertEquals(2, dataTableSplits.size()); assertEquals(null, dataTableSplits.get(0).getInclusiveStart()); assertEquals("l", dataTableSplits.get(0).getExclusiveEnd()); assertEquals("l", dataTableSplits.get(1).getInclusiveStart()); assertEquals(null, dataTableSplits.get(1).getExclusiveEnd()); }