Example usage for org.apache.commons.configuration HierarchicalConfiguration getString

List of usage examples for org.apache.commons.configuration HierarchicalConfiguration getString

Introduction

In this page you can find the example usage for org.apache.commons.configuration HierarchicalConfiguration getString.

Prototype

public String getString(String key) 

Source Link

Usage

From source file:org.onosproject.drivers.fujitsu.FujitsuVoltAlarmConsumer.java

/**
 * Builds alarm source with resource information.
 * @param idFields a hierarchical configuration
 * @return formed alarm description//from   w  w  w .  j  av a  2 s.com
 */
private String formAlarmSource(List<HierarchicalConfiguration> idFields) {
    AlertResourceType resourceType = AlertResourceType.UNKNOWN;
    StringBuilder alarmSrc = new StringBuilder();
    String ipAddr = null;
    int pon = ZERO;
    int onu = ZERO;

    for (HierarchicalConfiguration id : idFields) {
        String value;
        try {
            value = id.getString(PONLINK_ID);
            if (value == null) {
                resourceType = AlertResourceType.SYSTEM;
                ipAddr = id.getString(IP_ADDRESS);
            } else {
                pon = Integer.parseInt(value);
                value = id.getString(ONU_ID);
                if (value == null) {
                    resourceType = AlertResourceType.PONLINK;
                } else {
                    resourceType = AlertResourceType.ONU;
                    onu = Integer.parseInt(value);
                }
            }
        } catch (NumberFormatException e) {
            log.error("Non-number resource-id exception {}", e);
            return null;
        }
    }

    alarmSrc.append("other:");
    alarmSrc.append(resourceType.name()).append(SLASH);
    switch (resourceType) {
    case PONLINK:
        alarmSrc.append(pon);
        break;
    case ONU:
        alarmSrc.append(pon).append(HYPHEN).append(onu);
        break;
    case SYSTEM:
        if (ipAddr != null) {
            alarmSrc.append(ipAddr);
        }
        break;
    default:
        break;
    }
    return alarmSrc.toString();
}

From source file:org.onosproject.drivers.fujitsu.FujitsuVoltAlarmConsumer.java

/**
 * Converts time and date information from device.
 * @param cfg a hierarchical configuration
 * @return converted time from device or system time
 *///from  www .  jav a  2s. co  m
private long getTimeRaised(HierarchicalConfiguration cfg) {
    String strDate;
    String strTime;
    long timeRaised;

    List<HierarchicalConfiguration> timeFields = cfg.configurationsAt(ALERT_TIME);
    if (timeFields.isEmpty()) {
        log.debug("{} does not exsit", ALERT_TIME);
    } else {
        for (HierarchicalConfiguration child : timeFields) {
            strDate = child.getString(DATE);
            strTime = child.getString(TIME);
            if ((strDate != null) && (strTime != null)) {
                try {
                    Date date = dateFormat.parse(strDate + SPACE + strTime);
                    timeRaised = date.getTime();
                    log.debug("{} {} coverted to {}", strDate, strTime, timeRaised);
                    return timeRaised;
                } catch (ParseException e) {
                    log.error("Cannot parse exception {} {} {}", strDate, strTime, e);
                }
            } else {
                log.error("{} or {} does not exsit", DATE, TIME);
            }
        }
    }
    // Use the system's time instead.
    return System.currentTimeMillis();
}

From source file:org.onosproject.drivers.fujitsu.FujitsuVoltControllerConfig.java

/**
 * Parses XML string to get controller information.
 *
 * @param cfg a hierarchical configuration
 * @return a list of controllers/*w  w w .  j av  a2s.com*/
 */
private List<ControllerInfo> parseStreamVoltControllers(HierarchicalConfiguration cfg) {
    List<ControllerInfo> controllers = new ArrayList<>();
    List<HierarchicalConfiguration> fields = cfg.configurationsAt(VOLT_DATACONFIG);

    for (HierarchicalConfiguration sub : fields) {
        List<HierarchicalConfiguration> childFields = sub.configurationsAt(CONTROLLER_INFO);

        for (HierarchicalConfiguration child : childFields) {
            Annotations annotations = DefaultAnnotations.builder().set(OFCONFIG_ID, sub.getString(OFCONFIG_ID))
                    .build();
            ControllerInfo controller = new ControllerInfo(IpAddress.valueOf(child.getString(IP_ADDRESS)),
                    Integer.parseInt(child.getString(PORT)), child.getString(PROTOCOL), annotations);

            log.debug("VOLT: OFCONTROLLER: PROTOCOL={}, IP={}, PORT={}, ID={} ", controller.type(),
                    controller.ip(), controller.port(), controller.annotations().value(OFCONFIG_ID));
            controllers.add(controller);
        }
    }
    return controllers;
}

From source file:org.onosproject.drivers.juniper.JuniperUtils.java

/**
 * Parses device configuration and returns the device description.
 *
 * @param deviceId    the id of the device
 * @param sysInfoCfg  system configuration
 * @param chassisText chassis string//from   w  w w  . j a  v a  2s  .c o  m
 * @return device description
 */
public static DeviceDescription parseJuniperDescription(DeviceId deviceId, HierarchicalConfiguration sysInfoCfg,
        String chassisText) {
    HierarchicalConfiguration info = sysInfoCfg.configurationAt(SYS_INFO);

    String hw = info.getString(HW_MODEL) == null ? UNKNOWN : info.getString(HW_MODEL);
    String sw = UNKNOWN;
    if (info.getString(OS_NAME) != null || info.getString(OS_VER) != null) {
        sw = info.getString(OS_NAME) + " " + info.getString(OS_VER);
    }
    String serial = info.getString(SER_NUM) == null ? UNKNOWN : info.getString(SER_NUM);

    Matcher matcher = ADD_PATTERN.matcher(chassisText);
    if (matcher.lookingAt()) {
        String chassis = matcher.group(1);
        MacAddress chassisMac = MacAddress.valueOf(chassis);
        return new DefaultDeviceDescription(deviceId.uri(), ROUTER, JUNIPER, hw, sw, serial,
                new ChassisId(chassisMac.toLong()), DefaultAnnotations.EMPTY);
    }
    return new DefaultDeviceDescription(deviceId.uri(), ROUTER, JUNIPER, hw, sw, serial, null,
            DefaultAnnotations.EMPTY);
}

From source file:org.onosproject.drivers.juniper.JuniperUtils.java

/**
 * Parses device ports configuration and returns a list of
 * port description.//from  w w w.  ja  va2 s.  c  o  m
 *
 * @param cfg interface configuration
 * @return list of interface descriptions of the device
 */
public static List<PortDescription> parseJuniperPorts(HierarchicalConfiguration cfg) {
    //This methods ignores some internal ports

    List<PortDescription> portDescriptions = Lists.newArrayList();
    List<HierarchicalConfiguration> subtrees = cfg.configurationsAt(IF_INFO);
    for (HierarchicalConfiguration interfInfo : subtrees) {
        List<HierarchicalConfiguration> interfaceTree = interfInfo.configurationsAt(IF_PHY);
        for (HierarchicalConfiguration interf : interfaceTree) {
            if (interf != null) {
                if (interf.getString(IF_TYPE) != null && interf.getString(SPEED) != null) {
                    if (interf.getString(IF_TYPE).contains(ETH) && interf.getString(SPEED).contains(MBPS)) {
                        portDescriptions.add(parseDefaultPort(interf));
                    }
                } else if (interf.getString(IF_LO_ENCAP) != null && !interf.getString(NAME).contains("pfe")
                        && interf.getString(IF_LO_ENCAP).contains("ENET2")) {
                    portDescriptions.add(parseLogicalPort(interf));
                } else if (interf.getString(NAME).contains("lo")) {
                    portDescriptions.add(parseLoopback(interf));
                }
            }
        }
    }
    return portDescriptions;
}

From source file:org.onosproject.drivers.juniper.JuniperUtils.java

private static PortDescription parseLoopback(HierarchicalConfiguration cfg) {
    String name = cfg.getString(IF_LO_NAME).trim();
    PortNumber portNumber = portNumber(name.replace("lo0.", ""));

    Builder annotationsBuilder = DefaultAnnotations.builder().set(AnnotationKeys.PORT_NAME, name);
    String ip = cfg.getString(IF_LO_ADD);
    if (ip != null) {
        annotationsBuilder.set("ip", ip);
    }//from   www  . j a v a 2  s .com

    return new DefaultPortDescription(portNumber, true, COPPER, DEFAULT_PORT_SPEED, annotationsBuilder.build());
}

From source file:org.onosproject.drivers.juniper.JuniperUtils.java

private static DefaultPortDescription parseDefaultPort(HierarchicalConfiguration cfg) {
    PortNumber portNumber = portNumber(cfg.getString(LO_INDEX));
    boolean enabled = cfg.getString(STATUS).equals("up");
    int speed = parseInt(cfg.getString(SPEED).replaceAll(MBPS, ""));

    Builder annotationsBuilder = DefaultAnnotations.builder().set(AnnotationKeys.PORT_NAME,
            cfg.getString(NAME).trim());
    setIpIfPresent(cfg, annotationsBuilder);

    return new DefaultPortDescription(portNumber, enabled, COPPER, speed, annotationsBuilder.build());
}

From source file:org.onosproject.drivers.juniper.JuniperUtils.java

private static DefaultPortDescription parseLogicalPort(HierarchicalConfiguration cfg) {

    String name = cfg.getString(NAME).trim();
    String index = cfg.getString(SNMP_INDEX).trim();
    Builder annotationsBuilder = DefaultAnnotations.builder().set(AnnotationKeys.PORT_NAME, name).set("index",
            index);/*from  ww w.  jav a 2s .  c om*/
    setIpIfPresent(cfg, annotationsBuilder);

    PortNumber portNumber = portNumberFromName(cfg.getString(IF_LO_INDEX), name);

    boolean enabled = false;
    if (cfg.getString(IF_LO_STATUS) != null) {
        enabled = true;
    }
    //FIXME: port speed should be exposed
    return new DefaultPortDescription(portNumber, enabled, COPPER, DEFAULT_PORT_SPEED,
            annotationsBuilder.build());
}

From source file:org.onosproject.drivers.juniper.JuniperUtils.java

private static void setIpIfPresent(HierarchicalConfiguration cfg, Builder annotationsBuilder) {
    String ip = cfg.getString(IF_LO_ADD);
    if (ip != null) {
        annotationsBuilder.set("ip", ip);
    }/*from  w  w  w .ja  v  a 2s.  c o  m*/
}

From source file:org.onosproject.drivers.juniper.JuniperUtils.java

/**
 * Parses neighbours discovery information and returns a list of
 * link abstractions.//from   ww w .  j a va 2  s . c o m
 *
 * @param info interface configuration
 * @return set of link abstractions
 */
public static Set<LinkAbstraction> parseJuniperLldp(HierarchicalConfiguration info) {
    Set<LinkAbstraction> neighbour = new HashSet<>();
    List<HierarchicalConfiguration> subtrees = info.configurationsAt(LLDP_NBR_INFO);
    for (HierarchicalConfiguration neighborsInfo : subtrees) {
        List<HierarchicalConfiguration> neighbors = neighborsInfo.configurationsAt(LLDP_NBR_INFO);
        for (HierarchicalConfiguration neighbor : neighbors) {
            String localPortName = neighbor.getString(LLDP_LO_PORT);
            MacAddress mac = MacAddress.valueOf(neighbor.getString(LLDP_REM_CHASS));
            int remotePortIndex = neighbor.getInt(LLDP_REM_PORT);
            LinkAbstraction link = new LinkAbstraction(localPortName, mac.toLong(), remotePortIndex);
            neighbour.add(link);
        }
    }
    return neighbour;
}