package hdgl.db.conf;
import hdgl.util.StringHelper;
import org.apache.hadoop.conf.Configuration;
public final class GraphConf {
public static final String GRAPH_ROOT = "hdgl.graph.root";
public static final String GRAPH_SESSION_ROOT="hdgl.graph.session.root";
public static final String GRAPH_VERTEX_TRUNK_SIZE = "hdgl.graph.vertex.trunk.size";
public static final String GRAPH_EDGE_TRUNK_SIZE = "hdgl.graph.edge.trunk.size";
public static final String DEFAULT_FS = "fs.defaultFS";
public static final String ZK_SERVER = "hdgl.zookeeper.servers";
public static final String ZK_ROOT = "hdgl.zookeeper.root";
public static final String ZK_SESSION_TIMEOUT = "hdgl.zookeeper.timeout";
public class Defaults{
public static final String GRAPH_SESSION_ROOT="session";
public static final String ZK_SERVER="localhost:2181";
public static final int ZK_SESSION_TIMEOUT = 60000;
public static final String GRAPH_ROOT = "/hdgl/graph/";
public static final String DEFAULT_FS = "hdfs://localhost:9000/";
public static final String ZK_ROOT = "/hdgl";
public static final int GRAPH_VERTEX_TRUNK_SIZE = 256;
public static final int GRAPH_EDGE_TRUNK_SIZE = 64;
}
public static Configuration getDefault(){
Configuration conf = new Configuration();
conf.set(DEFAULT_FS, Defaults.DEFAULT_FS);
return conf;
}
public static String getZookeeperRoot(Configuration conf){
return conf.get(ZK_ROOT, Defaults.ZK_ROOT);
}
public static String getGraphRoot(Configuration conf){
return conf.get(GRAPH_ROOT, Defaults.GRAPH_ROOT);
}
public static String getGraphSessionRoot(Configuration conf, int sessionId){
String sessionRoot= StringHelper.makePath(conf.get(GRAPH_ROOT, Defaults.GRAPH_ROOT), conf.get(GRAPH_SESSION_ROOT, Defaults.GRAPH_SESSION_ROOT));
return StringHelper.makePath(sessionRoot, Integer.toString(sessionId));
}
public static String getPersistentGraphRoot(Configuration conf)
{
return StringHelper.makePath(conf.get(GRAPH_ROOT, Defaults.GRAPH_ROOT), "persist");
}
public static int getVertexTrunkSize(Configuration conf){
return conf.getInt(GRAPH_VERTEX_TRUNK_SIZE, Defaults.GRAPH_VERTEX_TRUNK_SIZE);
}
public static int getEdgeTrunkSize(Configuration conf){
return conf.getInt(GRAPH_EDGE_TRUNK_SIZE, Defaults.GRAPH_EDGE_TRUNK_SIZE);
}
}