Merge blueprints-ramcloud-graph into ONOS code
diff --git a/src/apps/java/com/tinkerpop/blueprints/impls/ramcloud/FurnaceExamples.java b/src/apps/java/com/tinkerpop/blueprints/impls/ramcloud/FurnaceExamples.java
new file mode 100644
index 0000000..66cf8ea
--- /dev/null
+++ b/src/apps/java/com/tinkerpop/blueprints/impls/ramcloud/FurnaceExamples.java
@@ -0,0 +1,57 @@
+package com.tinkerpop.blueprints.impls.ramcloud;
+
+import java.util.logging.Level;
+
+import com.tinkerpop.blueprints.Graph;
+import com.tinkerpop.furnace.generators.CommunityGenerator;
+import com.tinkerpop.furnace.generators.DistributionGenerator;
+import com.tinkerpop.furnace.generators.NormalDistribution;
+
+public class FurnaceExamples {
+
+ public FurnaceExamples() {
+ // TODO Auto-generated constructor stub
+ }
+
+ public static int generateCommunityGraph(Graph graph, String label) {
+ CommunityGenerator cg = new CommunityGenerator(label);
+ int numEdges;
+
+ for(int i = 0; i<30; i++) {
+ graph.addVertex(null);
+ }
+
+ cg.setCommunityDistribution(new NormalDistribution(2.0));
+ cg.setDegreeDistribution(new NormalDistribution(2.0));
+ numEdges = cg.generate(graph, 3, 60);
+
+ return numEdges;
+ }
+
+ public static int generateDistributionGraph(Graph graph, String label) {
+ DistributionGenerator dg = new DistributionGenerator(label);
+ int numEdges;
+
+ for(int i = 0; i<10; i++) {
+ graph.addVertex(null);
+ }
+
+ dg.setAllowLoops(true);
+ dg.setInDistribution(new NormalDistribution(2.0));
+ dg.setOutDistribution(new NormalDistribution(2.0));
+ numEdges = dg.generate(graph, 20);
+
+ return numEdges;
+ }
+
+ public static void main(String[] args) {
+ Graph graph = new RamCloudGraph(Level.FINER);
+
+ //generateCommunityGraph(graph, "HippieCommune");
+
+ //generateDistributionGraph(graph, "HippieRefuge");
+
+ graph.shutdown();
+ }
+
+}
diff --git a/src/apps/java/com/tinkerpop/blueprints/impls/ramcloud/JUNGExamples.java b/src/apps/java/com/tinkerpop/blueprints/impls/ramcloud/JUNGExamples.java
new file mode 100644
index 0000000..86631b1
--- /dev/null
+++ b/src/apps/java/com/tinkerpop/blueprints/impls/ramcloud/JUNGExamples.java
@@ -0,0 +1,89 @@
+package com.tinkerpop.blueprints.impls.ramcloud;
+
+import java.awt.Dimension;
+import java.util.logging.Level;
+
+import javax.swing.JFrame;
+
+import org.apache.commons.collections15.Transformer;
+
+import com.tinkerpop.blueprints.Edge;
+import com.tinkerpop.blueprints.Graph;
+import com.tinkerpop.blueprints.Vertex;
+import com.tinkerpop.blueprints.oupls.jung.GraphJung;
+
+import edu.uci.ics.jung.algorithms.layout.BalloonLayout;
+import edu.uci.ics.jung.algorithms.layout.CircleLayout;
+import edu.uci.ics.jung.algorithms.layout.DAGLayout;
+import edu.uci.ics.jung.algorithms.layout.FRLayout;
+import edu.uci.ics.jung.algorithms.layout.FRLayout2;
+import edu.uci.ics.jung.algorithms.layout.ISOMLayout;
+import edu.uci.ics.jung.algorithms.layout.KKLayout;
+import edu.uci.ics.jung.algorithms.layout.Layout;
+import edu.uci.ics.jung.algorithms.scoring.PageRank;
+import edu.uci.ics.jung.visualization.BasicVisualizationServer;
+
+public class JUNGExamples {
+
+ public JUNGExamples() {
+ // TODO Auto-generated constructor stub
+ }
+
+ public static void calculatePageRank(Graph graph) {
+ PageRank<Vertex,Edge> pageRank = new PageRank<Vertex, Edge>(new GraphJung(graph), 0.15d);
+ pageRank.evaluate();
+
+ for (Vertex vertex : graph.getVertices()) {
+ System.out.println("The PageRank score of " + vertex + " is: " + pageRank.getVertexScore(vertex));
+ }
+ }
+
+ public static void displayGraph(Graph graph) {
+ GraphJung gj = new GraphJung(graph);
+
+ Layout<Vertex, Edge> layout = new CircleLayout<Vertex, Edge>(gj);
+ layout.setSize(new Dimension(600, 600));
+ BasicVisualizationServer<Vertex, Edge> viz = new BasicVisualizationServer<Vertex, Edge>(layout);
+ viz.setPreferredSize(new Dimension(650, 650));
+
+ Transformer<Vertex, String> vertexLabelTransformer = new Transformer<Vertex, String>() {
+ public String transform(Vertex vertex) {
+ return (String) vertex.getProperty("name");
+ }
+ };
+
+ Transformer<Edge, String> edgeLabelTransformer = new Transformer<Edge, String>() {
+ public String transform(Edge edge) {
+ return edge.getLabel();
+ }
+ };
+
+ viz.getRenderContext().setEdgeLabelTransformer(edgeLabelTransformer);
+ viz.getRenderContext().setVertexLabelTransformer(vertexLabelTransformer);
+
+ JFrame frame = new JFrame("TinkerPop");
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.getContentPane().add(viz);
+ frame.pack();
+ frame.setVisible(true);
+
+ try {
+ System.in.read();
+ } catch(Exception e) {
+ // poop
+ }
+ }
+
+ public static void main(String[] args) {
+ Graph graph = new RamCloudGraph(Level.FINER);
+
+ FurnaceExamples.generateDistributionGraph(graph, "ex");
+
+ //calculatePageRank(graph);
+
+ displayGraph(graph);
+
+ graph.shutdown();
+ }
+
+}