/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.db;
import com.emc.storageos.coordinator.client.model.DbVersionInfo;
import com.emc.storageos.coordinator.client.service.impl.CoordinatorClientImpl;
import com.emc.storageos.coordinator.client.service.impl.CoordinatorClientInetAddressMap;
import com.emc.storageos.coordinator.client.service.impl.DualInetAddress;
import com.emc.storageos.coordinator.common.impl.ZkConnection;
import com.emc.storageos.db.client.impl.DbClientContext;
import com.emc.storageos.db.client.impl.DbClientImpl;
import com.emc.storageos.db.common.VdcUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.net.URI;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*/
public class TestDBClientUtils {
private static final Logger log = LoggerFactory.getLogger(TestDBClientUtils.class);
public static DbClientImpl newDBClient() throws Exception {
ZkConnection zkConnection = new ZkConnection();
zkConnection.setServer(Lists.newArrayList(new URI("coordinator://localhost:2181")));
zkConnection.build();
DualInetAddress dualInetAddress = DualInetAddress.fromAddresses("127.0.0.1", "::1");
Map<String, DualInetAddress> addresses = Maps.newHashMap();
addresses.put("localhost", dualInetAddress);
CoordinatorClientInetAddressMap map = new CoordinatorClientInetAddressMap();
map.setNodeId("standalone");
map.setDualInetAddress(dualInetAddress);
map.setControllerNodeIPLookupMap(addresses);
CoordinatorClientImpl coordinatorClient = new CoordinatorClientImpl();
coordinatorClient.setZkConnection(zkConnection);
coordinatorClient.setInetAddessLookupMap(map);
coordinatorClient.start();
DbClientContext localContext = new DbClientContext();
localContext.setKeyspaceName("StorageOS");
localContext.setClusterName("StorageOs");
DbClientContext geoContext = new DbClientContext();
geoContext.setKeyspaceName("GeoStorageOs");
geoContext.setClusterName("GeoStorageOs");
DbVersionInfo versionInfo = new DbVersionInfo();
versionInfo.setSchemaVersion("2.0");
DbClientImpl client = new DbClientImpl();
client.setDbVersionInfo(versionInfo);
client.setLocalContext(localContext);
client.setGeoContext(geoContext);
client.setCoordinatorClient(coordinatorClient);
client.setLocalContext(new DbClientContext());
client.start();
VdcUtil.setDbClient(client);
return client;
}
public static void stop() {
System.exit(0);
}
public static int size(List<URI> ids) {
int count = 0;
for (URI id : ids) {
count++;
}
return count;
}
}