Allow RAMCloud to start from a configurable option
Change-Id: Iaab651dbb19be7abe71431a243feca5960d7faf2
diff --git a/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java b/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java
index 6b3fba2..69eed7f 100644
--- a/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java
+++ b/src/main/java/com/tinkerpop/blueprints/impls/ramcloud/RamCloudWrite.java
@@ -29,7 +29,11 @@
pm.indexwrite_start("RamCloudIndex writeWithRules()");
}
rcClient.writeRule(tableId, rcKey, rcValue, rules);
- pm.indexwrite_end("RamCloudIndex writeWithRules()");
+ if (perfMonKind.equals(PerfMonEnum.WRITE)) {
+ pm.write_end("RamCloudIndex writeWithRules()");
+ } else if (perfMonKind.equals(PerfMonEnum.INDEXWRITE)) {
+ pm.indexwrite_end("RamCloudIndex writeWithRules()");
+ }
} catch (Exception e) {
if (perfMonKind.equals(PerfMonEnum.WRITE)) {
pm.write_end("RamCloudIndex writeWithRules()");
diff --git a/src/main/java/net/onrc/onos/graph/GraphDBManager.java b/src/main/java/net/onrc/onos/graph/GraphDBManager.java
index ec7eb7f..3eec68f 100644
--- a/src/main/java/net/onrc/onos/graph/GraphDBManager.java
+++ b/src/main/java/net/onrc/onos/graph/GraphDBManager.java
@@ -9,14 +9,11 @@
import java.util.List;
import java.util.Map;
-/**
- *
- * @author nickkaranatsios
- */
public class GraphDBManager {
private static ThreadLocal<HashMap<String, DBConnection>> connections = new ThreadLocal<HashMap<String, DBConnection>>();
private static DBOperation operation = null;
-
+ private final static String DB_CONFIG_FILE = "conf/ramcloud.conf";
+
static Map<String, DBConnection> getConnectionMap() {
if (connections.get() == null) {
connections.set(new HashMap<String, DBConnection>());
@@ -24,14 +21,18 @@
return connections.get();
}
- public static DBOperation getDBOperation(final String dbStore, final String dbConfigFile) {
+ public static DBOperation getDBOperation() {
+ return getDBOperation("ramcloud");
+ }
+
+ public static DBOperation getDBOperation(final String dbStore) {
if (dbStore.equals("ramcloud")) {
operation = new RamCloudDBOperation();
} else if (dbStore.equals("titan")) {
operation = new TitanDBOperation();
}
if (operation != null) {
- operation.conn = GraphDBManager.getConnection(dbStore, dbConfigFile);
+ operation.conn = GraphDBManager.getConnection(dbStore, DB_CONFIG_FILE);
}
return operation;
}
diff --git a/src/main/java/net/onrc/onos/graph/RamCloudDBConnection.java b/src/main/java/net/onrc/onos/graph/RamCloudDBConnection.java
index 547da44..f23db92 100644
--- a/src/main/java/net/onrc/onos/graph/RamCloudDBConnection.java
+++ b/src/main/java/net/onrc/onos/graph/RamCloudDBConnection.java
@@ -1,7 +1,3 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
package net.onrc.onos.graph;
import com.tinkerpop.blueprints.Vertex;
@@ -15,10 +11,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- *
- * @author nickkaranatsios
- */
public class RamCloudDBConnection extends DBConnection {
private RamCloudGraph graph;
private FramedGraph<RamCloudGraph> fg;
diff --git a/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java b/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
index 1487be7..5cc1e53 100644
--- a/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
@@ -1,25 +1,5 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
package net.onrc.onos.graph;
-import com.tinkerpop.blueprints.impls.ramcloud.RamCloudGraph;
-import com.tinkerpop.frames.FramedGraph;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
-import net.onrc.onos.ofcontroller.util.FlowEntryId;
-import net.onrc.onos.ofcontroller.util.FlowId;
-import org.apache.commons.configuration.Configuration;
-
-/**
- *
- * @author nickkaranatsios
- */
public class RamCloudDBOperation extends DBOperation {
public RamCloudDBOperation() {
diff --git a/src/main/java/net/onrc/onos/graph/TitanDBConnection.java b/src/main/java/net/onrc/onos/graph/TitanDBConnection.java
index f46e417..94ad43c 100644
--- a/src/main/java/net/onrc/onos/graph/TitanDBConnection.java
+++ b/src/main/java/net/onrc/onos/graph/TitanDBConnection.java
@@ -1,7 +1,3 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
package net.onrc.onos.graph;
import com.thinkaurelius.titan.core.TitanFactory;
@@ -14,10 +10,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- *
- * @author nickkaranatsios
- */
public class TitanDBConnection extends DBConnection {
private TitanGraph graph;
diff --git a/src/main/java/net/onrc/onos/graph/TitanDBOperation.java b/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
index 1b211d6..a6ccfdf 100644
--- a/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
@@ -1,26 +1,7 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
package net.onrc.onos.graph;
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.tinkerpop.blueprints.Vertex;
-import com.tinkerpop.frames.FramedGraph;
-import com.tinkerpop.frames.structures.FramedVertexIterable;
-import com.tinkerpop.gremlin.java.GremlinPipeline;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.*;
-import net.onrc.onos.ofcontroller.core.ISwitchStorage;
-import net.onrc.onos.ofcontroller.util.FlowEntryId;
-import net.onrc.onos.ofcontroller.util.FlowId;
-/**
- *
- * @author nickkaranatsios
- */
public class TitanDBOperation extends DBOperation {
-}
\ No newline at end of file
+}
diff --git a/src/main/java/net/onrc/onos/graph/web/TopoDevicesResource.java b/src/main/java/net/onrc/onos/graph/web/TopoDevicesResource.java
index 4f4abba..2289a0b 100644
--- a/src/main/java/net/onrc/onos/graph/web/TopoDevicesResource.java
+++ b/src/main/java/net/onrc/onos/graph/web/TopoDevicesResource.java
@@ -13,7 +13,7 @@
@Get("json")
public Iterator<IDeviceObject> retrieve() {
- DBOperation op = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ DBOperation op = GraphDBManager.getDBOperation();
return op.getDevices().iterator();
}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
index 6fcbb29..0699491 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
@@ -38,7 +38,7 @@
@Override
public void init(final String dbStore, final String conf) {
try {
- ope = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ ope = GraphDBManager.getDBOperation();
} catch (Exception e) {
log.error("Couldn't open graph operation", e);
}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
index b43c58a..1f7815d 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
@@ -33,7 +33,7 @@
*/
@Override
public void init(final String dbStore, final String conf) {
- this.dbop = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ this.dbop = GraphDBManager.getDBOperation();
}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
index ab73961..1f3a626 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
@@ -38,7 +38,7 @@
*/
@Override
public void init(final String dbStore, final String conf) {
- op = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ op = GraphDBManager.getDBOperation();
}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java
index 3aea9a4..718816d 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java
@@ -35,9 +35,7 @@
@Override
public List<Link> getActiveLinks() {
- dbop = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
- //dbop = GraphDBManager.getDBOperation("", "");
- //dbop.commit(); //Commit to ensure we see latest data
+ dbop = GraphDBManager.getDBOperation();
Iterable<ISwitchObject> switches = dbop.getActiveSwitches();
List<Link> links = new ArrayList<Link>();
for (ISwitchObject sw : switches) {
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java
index df5ab70..56e6b73 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java
@@ -15,7 +15,7 @@
protected final static Logger log = LoggerFactory.getLogger(TopoSwitchServiceImpl.class);
public TopoSwitchServiceImpl(final String dbStore, String conf) {
- op = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ op = GraphDBManager.getDBOperation();
}
public TopoSwitchServiceImpl() {
diff --git a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java
index bc5962a..99357be 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java
@@ -90,7 +90,7 @@
Thread.currentThread().setName("SwitchCleanup@" + old);
try {
log.debug("Running cleanup thread");
- op = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ op = GraphDBManager.getDBOperation();
switchCleanup();
}
catch (Exception e) {
@@ -451,7 +451,7 @@
Map<String, String> configMap = context.getConfigParams(this);
String conf = configMap.get(DBConfigFile);
String dbStore = configMap.get(GraphDBStore);
- op = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ op = GraphDBManager.getDBOperation();
floodlightProvider =
context.getServiceImpl(IFloodlightProviderService.class);
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/ApplnObjectType.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/ApplnObjectType.java
index 8cb1316..6fa2cd1 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/ApplnObjectType.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/ApplnObjectType.java
@@ -4,10 +4,6 @@
*/
package net.onrc.onos.ofcontroller.flowmanager;
-/**
- *
- * @author nickkaranatsios
- */
public enum ApplnObjectType {
FLOWPATH,
FLOWENTRY,
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/DBOperationType.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/DBOperationType.java
index e0de595..8764ce4 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/DBOperationType.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/DBOperationType.java
@@ -4,10 +4,6 @@
*/
package net.onrc.onos.ofcontroller.flowmanager;
-/**
- *
- * @author nickkaranatsios
- */
public enum DBOperationType {
ADD,
UPDATE,
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
index d8e50fc..cedfdfd 100755
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
@@ -5,7 +5,6 @@
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.LinkedList;
import java.util.Map;
import net.floodlightcontroller.core.IOFSwitch;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntity.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntity.java
index ff890b6..327fae5 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntity.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntity.java
@@ -19,10 +19,6 @@
import java.util.List;
import java.util.Set;
-/**
- *
- * @author nickkaranatsios
- */
public class FlowEntity implements FlowEntityManager {
private String primaryKey;
// TODO: Should remove since not implemented.
@@ -214,7 +210,9 @@
if (srcVertex == null) continue;
for (int j = 0; j < childEntity.edges.size(); j++) {
EntityEdge edge = (EntityEdge) childEntity.edges.get(j);
- edgesToSet.add(new RamCloudEdgeEntity(srcVertex, ((IBaseObject) edge.dst).asVertex(), edge.dir, edge.label));
+ if (edge !=null) {
+ edgesToSet.add(new RamCloudEdgeEntity(srcVertex, ((IBaseObject) edge.dst).asVertex(), edge.dir, edge.label));
+ }
}
}
graph.addEdges(edgesToSet);
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntityManager.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntityManager.java
index 38e694b..5e45ee5 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntityManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEntityManager.java
@@ -8,10 +8,6 @@
import java.util.Map;
import net.onrc.onos.graph.DBOperation;
-/**
- *
- * @author nickkaranatsios
- */
public interface FlowEntityManager {
public void setPrimaryKey(String key);
public String getPrimaryKey();
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEventHandler.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEventHandler.java
index 74c8075..5ff1dc5 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEventHandler.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowEventHandler.java
@@ -126,7 +126,7 @@
* Startup processing.
*/
private void startup() {
- this.dbHandler = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ this.dbHandler = GraphDBManager.getDBOperation();
//
// Obtain the initial Topology state
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
index 715f9df..f4664cc 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
@@ -87,8 +87,8 @@
*/
@Override
public void init(final String dbStore, final String conf) {
- dbHandlerApi = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
- dbHandlerInner = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ dbHandlerApi = GraphDBManager.getDBOperation();
+ dbHandlerInner = GraphDBManager.getDBOperation();
}
/**
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/FlowSynchronizer.java b/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/FlowSynchronizer.java
index bd98527..17ef14c 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/FlowSynchronizer.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowprogrammer/FlowSynchronizer.java
@@ -50,7 +50,7 @@
private Map<IOFSwitch, FutureTask<SyncResult>> switchThreads;
public FlowSynchronizer() {
- dbHandler = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ dbHandler = GraphDBManager.getDBOperation();
switchThreads = new HashMap<IOFSwitch, FutureTask<SyncResult>>();
}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java b/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java
index bf2fd6f..cae29ce 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java
@@ -80,7 +80,7 @@
*/
public void init(final String dbStore, String config) {
try {
- dbHandler = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
+ dbHandler = GraphDBManager.getDBOperation();
} catch (Exception e) {
log.error(e.getMessage());
}