@Test public void testPathJoinOnMidColumn() throws Exception { GradoopId v0 = GradoopId.get(); GradoopId v1 = GradoopId.get(); GradoopId v2 = GradoopId.get(); GradoopId v3 = GradoopId.get(); GradoopId v4 = GradoopId.get(); GradoopId e0 = GradoopId.get(); GradoopId e1 = GradoopId.get(); GradoopId e2 = GradoopId.get(); GradoopId e3 = GradoopId.get(); Embedding left = createEmbedding(v0, e0, v1, e1, v2); Embedding right = createEmbedding(v3, e2, v1, e3, v4); MergeEmbeddings udf = new MergeEmbeddings(5, Lists.newArrayList(2), Lists.newArrayList(), Lists.newArrayList(), Lists.newArrayList(), Lists.newArrayList() ); List<Embedding> result = new ArrayList<>(); udf.join(left, right, new ListCollector<>(result)); Assert.assertEquals(createEmbedding(v0, e0, v1, e1, v2, v3, e2, e3, v4), result.get(0)); }
@Override public void join(Embedding left, Embedding right, Collector<Embedding> out) throws Exception { if (isValid(left, right)) { buildEmbedding(left, right); out.collect(reuseEmbedding); } }
MergeEmbeddings implements
  FlatJoinFunction<Embedding, Embedding, Embedding>,
  FlatMapFunction<Tuple2<Embedding, Embedding>, Embedding> { @Override public void join(Embedding left, Embedding right, Collector<Embedding> out) throws Exception { if (isValid(left, right)) { buildEmbedding(left, right); out.collect(reuseEmbedding); } } }
MergeEmbeddings implements
  FlatJoinFunction<Embedding, Embedding, Embedding>,
  FlatMapFunction<Tuple2<Embedding, Embedding>, Embedding> { @Override public void join(Embedding left, Embedding right, Collector<Embedding> out) throws Exception { if (isValid(left, right)) { buildEmbedding(left, right); out.collect(reuseEmbedding); } } MergeEmbeddings(int rightColumns,
    List<Integer> joinColumnsRight,
    List<Integer> distinctVertexColumnsLeft,
    List<Integer> distinctVertexColumnsRight,
    List<Integer> distinctEdgeColumnsLeft,
    List<Integer> distinctEdgeColumnsRight); }
MergeEmbeddings implements
  FlatJoinFunction<Embedding, Embedding, Embedding>,
  FlatMapFunction<Tuple2<Embedding, Embedding>, Embedding> { @Override public void join(Embedding left, Embedding right, Collector<Embedding> out) throws Exception { if (isValid(left, right)) { buildEmbedding(left, right); out.collect(reuseEmbedding); } } MergeEmbeddings(int rightColumns,
    List<Integer> joinColumnsRight,
    List<Integer> distinctVertexColumnsLeft,
    List<Integer> distinctVertexColumnsRight,
    List<Integer> distinctEdgeColumnsLeft,
    List<Integer> distinctEdgeColumnsRight); @Override void join(Embedding left, Embedding right, Collector<Embedding> out); @Override void flatMap(Tuple2<Embedding, Embedding> value, Collector<Embedding> out); }
MergeEmbeddings implements
  FlatJoinFunction<Embedding, Embedding, Embedding>,
  FlatMapFunction<Tuple2<Embedding, Embedding>, Embedding> { @Override public void join(Embedding left, Embedding right, Collector<Embedding> out) throws Exception { if (isValid(left, right)) { buildEmbedding(left, right); out.collect(reuseEmbedding); } } MergeEmbeddings(int rightColumns,
    List<Integer> joinColumnsRight,
    List<Integer> distinctVertexColumnsLeft,
    List<Integer> distinctVertexColumnsRight,
    List<Integer> distinctEdgeColumnsLeft,
    List<Integer> distinctEdgeColumnsRight); @Override void join(Embedding left, Embedding right, Collector<Embedding> out); @Override void flatMap(Tuple2<Embedding, Embedding> value, Collector<Embedding> out);  }