1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.giraph.block_app.test_setup.graphs;
19
20 import org.apache.giraph.block_app.test_setup.NumericTestGraph;
21 import org.apache.giraph.block_app.test_setup.TestGraphModifier;
22 import org.apache.giraph.function.Supplier;
23 import org.apache.hadoop.io.Writable;
24 import org.apache.hadoop.io.WritableComparable;
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class SmallDirectedForestGraphInit<I extends WritableComparable,
44 V extends Writable, E extends Writable>
45 implements TestGraphModifier<I, V, E> {
46
47 private final Supplier<E> edgeSupplier;
48
49 public SmallDirectedForestGraphInit() {
50 this(null);
51 }
52
53 public SmallDirectedForestGraphInit(Supplier<E> edgeSupplier) {
54 this.edgeSupplier = edgeSupplier;
55 }
56
57 @Override
58 public void modifyGraph(NumericTestGraph<I, V, E> graph) {
59 graph.addEdge(0, 1, createEdgeValue());
60 graph.addEdge(0, 2, createEdgeValue());
61 graph.addEdge(2, 3, createEdgeValue());
62 graph.addEdge(4, 5, createEdgeValue());
63 graph.addEdge(6, 7, createEdgeValue());
64 graph.addEdge(6, 8, createEdgeValue());
65
66 graph.addVertex(1);
67 graph.addVertex(3);
68 graph.addVertex(5);
69 graph.addVertex(7);
70 graph.addVertex(8);
71 }
72
73 private E createEdgeValue() {
74 return edgeSupplier != null ? edgeSupplier.get() : null;
75 }
76 }