blob: 7ec6251ed6d7c960aefc481ec90409dfad658b89 [file] [log] [blame]
Jonathan Hart6df90172014-04-03 10:13:11 -07001package net.onrc.onos.core.datastore;
Yuta HIGUCHI66ca1bf2014-03-12 18:34:09 -07002
Jonathan Hart6df90172014-04-03 10:13:11 -07003import net.onrc.onos.core.datastore.hazelcast.HZClient;
4import net.onrc.onos.core.datastore.ramcloud.RCClient;
Yuta HIGUCHI66ca1bf2014-03-12 18:34:09 -07005
Yuta HIGUCHI6a643132014-03-18 22:39:27 -07006// This class probably need to be a service
Yuta HIGUCHI66ca1bf2014-03-12 18:34:09 -07007public class DataStoreClient {
Jonathan Hart6df90172014-04-03 10:13:11 -07008 private static final String BACKEND = System.getProperty("net.onrc.onos.core.datastore.backend", "hazelcast");
Yuta HIGUCHI6a643132014-03-18 22:39:27 -07009
10 // Suppresses default constructor, ensuring non-instantiability.
11 private DataStoreClient() {}
12
Yuta HIGUCHI66ca1bf2014-03-12 18:34:09 -070013 public static IKVClient getClient() {
Yuta HIGUCHI826b4a42014-03-24 13:10:33 -070014 // TODO read config and return appropriate IKVClient
15 switch (BACKEND) {
16 case "ramcloud":
17 return RCClient.getClient();
18 case "hazelcast":
19 return HZClient.getClient();
20 default:
21 return HZClient.getClient();
22 }
Yuta HIGUCHI66ca1bf2014-03-12 18:34:09 -070023 }
Yuta HIGUCHI6a643132014-03-18 22:39:27 -070024
25
Yuta HIGUCHI66ca1bf2014-03-12 18:34:09 -070026}