use of com.vmware.flowgate.poweriqworker.model.DataCenter in project flowgate by vmware.
the class PowerIQService method getDataCentersMap.
public Map<Long, DataCenter> getDataCentersMap(PowerIQAPIClient client) {
Map<Long, DataCenter> dataCentersMap = new HashMap<Long, DataCenter>();
List<DataCenter> dataCenters = new ArrayList<DataCenter>();
try {
dataCenters = client.getDataCenters();
if (dataCenters != null && !dataCenters.isEmpty()) {
for (DataCenter dataCenter : dataCenters) {
dataCentersMap.put(dataCenter.getId(), dataCenter);
}
}
} catch (Exception e) {
logger.error("Failed to get DataCenters information", e);
}
return dataCentersMap;
}
use of com.vmware.flowgate.poweriqworker.model.DataCenter in project flowgate by vmware.
the class PowerIQService method fillLocation.
public Asset fillLocation(Parent parent, LocationInfo location) {
Asset asset = null;
StringBuilder extraLocation = new StringBuilder();
asset = new Asset();
if (parent == null) {
return asset;
}
Map<Long, Rack> racksMap = location.getRacksMap();
Map<Long, Row> rowsMap = location.getRowsMap();
Map<Long, Aisle> aislesMap = location.getAislesMap();
Map<Long, Room> roomsMap = location.getRoomsMap();
Map<Long, Floor> floorsMap = location.getFloorsMap();
Map<Long, DataCenter> dataCentersMap = location.getDataCentersMap();
boolean rackMapisEmpty = racksMap == null || racksMap.isEmpty();
boolean rowMapisEmpty = rowsMap == null || rowsMap.isEmpty();
boolean aislesMapIsEmpty = aislesMap == null || aislesMap.isEmpty();
boolean roomsMapIsEmpty = roomsMap == null || roomsMap.isEmpty();
boolean floorMapIsEmpty = floorsMap == null || floorsMap.isEmpty();
boolean dataCenterMapIsEmpty = dataCentersMap == null || dataCentersMap.isEmpty();
while (parent != null) {
// TO enhancement, we should record the wrong items for later usage.
if (parent.getType() == null) {
parent = null;
break;
}
switch(parent.getType()) {
case rack_type:
if (rackMapisEmpty) {
parent = null;
break;
}
Rack rack = racksMap.get(parent.getId());
if (rack == null) {
logger.info("Invalid rack id : " + parent.getId());
parent = null;
break;
}
extraLocation.append(rack_type + ":" + rack.getName() + "" + ";");
parent = rack.getParent();
break;
case row_type:
if (rowMapisEmpty) {
parent = null;
break;
}
Row row = rowsMap.get(parent.getId());
if (row == null) {
logger.info("Invalid row id : " + parent.getId());
parent = null;
break;
}
asset.setRow(row.getName());
parent = row.getParent();
break;
case aisle_type:
if (aislesMapIsEmpty) {
parent = null;
break;
}
Aisle ailse = aislesMap.get(parent.getId());
if (ailse == null) {
logger.info("Invalid ailse id : " + parent.getId());
parent = null;
break;
}
extraLocation.append(aisle_type + ":" + ailse.getName() + "");
parent = ailse.getParent();
break;
case room_type:
if (roomsMapIsEmpty) {
parent = null;
break;
}
Room room = roomsMap.get(parent.getId());
if (room == null) {
logger.info("Invalid room id : " + parent.getId());
parent = null;
break;
}
asset.setRoom(room.getName());
parent = room.getParent();
break;
case floor_type:
if (floorMapIsEmpty) {
parent = null;
break;
}
Floor floor = floorsMap.get(parent.getId());
if (floor == null) {
logger.info("Invalid floor id : " + parent.getId());
parent = null;
break;
}
asset.setFloor(floor.getName());
parent = floor.getParent();
break;
case dataCenter_type:
if (dataCenterMapIsEmpty) {
parent = null;
break;
}
DataCenter dataCenter = dataCentersMap.get(parent.getId());
if (dataCenter == null) {
logger.info("Invalid dataCenter id : " + parent.getId());
parent = null;
break;
}
asset.setCity(dataCenter.getCity());
asset.setCountry(dataCenter.getCountry());
parent = dataCenter.getParent();
break;
default:
logger.error(String.format("Unkown type %s", parent.getType()));
parent = null;
break;
}
}
asset.setExtraLocation(extraLocation.toString());
return asset;
}
use of com.vmware.flowgate.poweriqworker.model.DataCenter in project flowgate by vmware.
the class SyncSensorMetaDataJobTest method getDataCenters.
List<DataCenter> getDataCenters() {
List<DataCenter> dataCenters = new ArrayList<DataCenter>();
DataCenter dataCenter = new DataCenter();
dataCenter.setName("DataCenter");
dataCenter.setId(7);
dataCenter.setCity("Yerevan");
dataCenter.setCountry("Armenia");
dataCenters.add(dataCenter);
return dataCenters;
}
Aggregations