コード例 #1
0
  public void test(final AccumuloStore store) throws OperationException {
    // Given
    final long timestamp = new Date().getTime();
    Edge expectedResult = new Edge(TestGroups.EDGE);
    expectedResult.setSource(1);
    expectedResult.setDestination(2);
    expectedResult.setDirected(true);
    expectedResult.putProperty(AccumuloPropertyNames.COUNT, 13);
    expectedResult.putProperty(AccumuloPropertyNames.COLUMN_QUALIFIER, 1);
    expectedResult.putProperty(AccumuloPropertyNames.TIMESTAMP, timestamp);
    expectedResult.putProperty(AccumuloPropertyNames.F1, 0);
    expectedResult.putProperty(AccumuloPropertyNames.F2, 0);
    expectedResult.putProperty(AccumuloPropertyNames.F3, 1);
    expectedResult.putProperty(AccumuloPropertyNames.F4, 1);

    Edge edge1 = new Edge(TestGroups.EDGE);
    edge1.setSource(1);
    edge1.setDestination(2);
    edge1.setDirected(true);
    edge1.putProperty(AccumuloPropertyNames.COLUMN_QUALIFIER, 1);
    edge1.putProperty(AccumuloPropertyNames.TIMESTAMP, timestamp);
    edge1.putProperty(AccumuloPropertyNames.COUNT, 1);
    edge1.putProperty(AccumuloPropertyNames.F3, 1);

    Edge edge2 = new Edge(TestGroups.EDGE);
    edge2.setSource(1);
    edge2.setDestination(2);
    edge2.setDirected(true);
    edge2.putProperty(AccumuloPropertyNames.COLUMN_QUALIFIER, 1);
    edge2.putProperty(AccumuloPropertyNames.TIMESTAMP, timestamp);
    edge2.putProperty(AccumuloPropertyNames.COUNT, 2);
    edge2.putProperty(AccumuloPropertyNames.F4, 1);

    Edge edge3 = new Edge(TestGroups.EDGE);
    edge3.setSource(1);
    edge3.setDestination(2);
    edge3.setDirected(true);
    edge3.putProperty(AccumuloPropertyNames.COLUMN_QUALIFIER, 1);
    edge3.putProperty(AccumuloPropertyNames.TIMESTAMP, timestamp);
    edge3.putProperty(AccumuloPropertyNames.COUNT, 10);

    AddElements add = new AddElements(Arrays.asList((Element) edge1, edge2, edge3));
    add.addOption(Constants.OPERATION_AUTHORISATIONS, "public");
    store.execute(new OperationChain<>(add));

    GetRelatedEdges get =
        new GetRelatedEdges(
            defaultView, Collections.singletonList(((ElementSeed) new EntitySeed(1))));
    get.addOption(Constants.OPERATION_AUTHORISATIONS, "public");

    // When
    final List<Edge> results = Lists.newArrayList(store.execute(new OperationChain<>(get)));

    // Then
    assertEquals(1, results.size());

    final Edge aggregatedEdge = results.get(0);
    assertEquals(expectedResult, aggregatedEdge);
    assertEquals(expectedResult.getProperties(), aggregatedEdge.getProperties());
  }