Search in sources :

Example 1 with Row

use of com.vmware.flowgate.poweriqworker.model.Row in project flowgate by vmware.

the class SyncSensorMetaDataJobTest method getRows.

List<Row> getRows() {
    List<Row> rows = new ArrayList<Row>();
    Row row = new Row();
    row.setName("2");
    row.setId(1);
    Parent parent = new Parent();
    parent.setId(2);
    parent.setType("aisle");
    row.setParent(parent);
    rows.add(row);
    return rows;
}
Also used : Parent(com.vmware.flowgate.poweriqworker.model.Parent) ArrayList(java.util.ArrayList) Row(com.vmware.flowgate.poweriqworker.model.Row)

Example 2 with Row

use of com.vmware.flowgate.poweriqworker.model.Row in project flowgate by vmware.

the class PowerIQService method getRowsMap.

public Map<Long, Row> getRowsMap(PowerIQAPIClient client) {
    Map<Long, Row> rowsMap = new HashMap<Long, Row>();
    List<Row> rows = new ArrayList<Row>();
    try {
        rows = client.getRows();
        if (rows != null && !rows.isEmpty()) {
            for (Row row : rows) {
                rowsMap.put(row.getId(), row);
            }
        }
    } catch (Exception e) {
        logger.error("Faild to get Row information:", e);
    }
    return rowsMap;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Row(com.vmware.flowgate.poweriqworker.model.Row) WormholeException(com.vmware.flowgate.common.exception.WormholeException) ConnectException(java.net.ConnectException) IOException(java.io.IOException) ResourceAccessException(org.springframework.web.client.ResourceAccessException) JsonProcessingException(com.fasterxml.jackson.core.JsonProcessingException) HttpClientErrorException(org.springframework.web.client.HttpClientErrorException)

Example 3 with Row

use of com.vmware.flowgate.poweriqworker.model.Row 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;
}
Also used : Aisle(com.vmware.flowgate.poweriqworker.model.Aisle) Floor(com.vmware.flowgate.poweriqworker.model.Floor) Rack(com.vmware.flowgate.poweriqworker.model.Rack) DataCenter(com.vmware.flowgate.poweriqworker.model.DataCenter) Asset(com.vmware.flowgate.common.model.Asset) Row(com.vmware.flowgate.poweriqworker.model.Row) Room(com.vmware.flowgate.poweriqworker.model.Room)

Aggregations

Row (com.vmware.flowgate.poweriqworker.model.Row)3 ArrayList (java.util.ArrayList)2 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1 WormholeException (com.vmware.flowgate.common.exception.WormholeException)1 Asset (com.vmware.flowgate.common.model.Asset)1 Aisle (com.vmware.flowgate.poweriqworker.model.Aisle)1 DataCenter (com.vmware.flowgate.poweriqworker.model.DataCenter)1 Floor (com.vmware.flowgate.poweriqworker.model.Floor)1 Parent (com.vmware.flowgate.poweriqworker.model.Parent)1 Rack (com.vmware.flowgate.poweriqworker.model.Rack)1 Room (com.vmware.flowgate.poweriqworker.model.Room)1 IOException (java.io.IOException)1 ConnectException (java.net.ConnectException)1 HashMap (java.util.HashMap)1 HttpClientErrorException (org.springframework.web.client.HttpClientErrorException)1 ResourceAccessException (org.springframework.web.client.ResourceAccessException)1