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.driver.XmlConfigParser.java

public static List<ControllerInfo> parseStreamControllers(HierarchicalConfiguration cfg) {
    List<ControllerInfo> controllers = new ArrayList<>();
    List<HierarchicalConfiguration> fields = cfg
            .configurationsAt("data.capable-switch." + "logical-switches." + "switch.controllers.controller");
    for (HierarchicalConfiguration sub : fields) {
        controllers.add(new ControllerInfo(IpAddress.valueOf(sub.getString("ip-address")),
                Integer.parseInt(sub.getString("port")), sub.getString("protocol")));
    }/*  ww w  .j  a  v a  2 s  .c om*/
    return controllers;
}

From source file:org.onosproject.driver.XmlConfigParser.java

public static PortDescription parseWaveServerCienaOCHPorts(long portNumber, long oduPortSpeed,
        HierarchicalConfiguration config, SparseAnnotations annotations) {
    final List<String> tunableType = Lists.newArrayList("Performance-Optimized", "Accelerated");
    final String transmitterPath = "ptp-config.transmitter-state";
    final String tunablePath = "ptp-config.adv-config.tx-tuning-mode";
    final String gridTypePath = "ptp-config.adv-config.wl-spacing";
    final String frequencyPath = "ptp-config.adv-config.frequency";

    boolean isEnabled = config.getString(transmitterPath).equals("enabled");
    boolean isTunable = tunableType.contains(config.getString(tunablePath));

    //FIXME change when all optical types have two way information methods, see jira tickets
    final int speed100GbpsinMbps = 100000;
    OduSignalType oduSignalType = oduPortSpeed == speed100GbpsinMbps ? OduSignalType.ODU4 : null;
    GridType gridType = config.getString(gridTypePath).equals("FlexGrid") ? GridType.FLEX : null;
    ChannelSpacing chSpacing = gridType == GridType.FLEX ? ChannelSpacing.CHL_6P25GHZ : null;

    //Working in Ghz //(Nominal central frequency - 193.1)/channelSpacing = spacingMultiplier
    final int baseFrequency = 193100;
    int spacingMult = (int) (toGbps((Integer.parseInt(config.getString(frequencyPath)) - baseFrequency))
            / toGbpsFromHz(chSpacing.frequency().asHz())); //FIXME is there a better way ?

    return new OchPortDescription(PortNumber.portNumber(portNumber), isEnabled, oduSignalType, isTunable,
            new OchSignal(gridType, chSpacing, spacingMult, 1), annotations);
}

From source file:org.onosproject.drivers.ciena.CienaWaveserverDeviceDescription.java

public static PortDescription parseWaveServerCienaOchPorts(long portNumber, long oduPortSpeed,
        HierarchicalConfiguration config, SparseAnnotations annotations) {
    final List<String> tunableType = Lists.newArrayList("Performance-Optimized", "Accelerated");
    final String transmitterPath = "ptp-config.transmitter-state";
    final String tunablePath = "ptp-config.adv-config.tx-tuning-mode";
    final String gridTypePath = "ptp-config.adv-config.wl-spacing";
    final String frequencyPath = "ptp-config.adv-config.frequency";

    boolean isEnabled = config.getString(transmitterPath).equals("enabled");
    boolean isTunable = tunableType.contains(config.getString(tunablePath));

    //FIXME change when all optical types have two way information methods, see jira tickets
    final int speed100GbpsinMbps = 100000;
    OduSignalType oduSignalType = oduPortSpeed == speed100GbpsinMbps ? OduSignalType.ODU4 : null;
    GridType gridType = config.getString(gridTypePath).equals("FlexGrid") ? GridType.FLEX : null;
    ChannelSpacing chSpacing = gridType == GridType.FLEX ? ChannelSpacing.CHL_6P25GHZ : null;

    //Working in Ghz //(Nominal central frequency - 193.1)/channelSpacing = spacingMultiplier
    final int baseFrequency = 193100;
    int spacingMult = (int) (toGbps((Integer.parseInt(config.getString(frequencyPath)) - baseFrequency))
            / toGbpsFromHz(chSpacing.frequency().asHz())); //FIXME is there a better way ?

    return ochPortDescription(PortNumber.portNumber(portNumber), isEnabled, oduSignalType, isTunable,
            new OchSignal(gridType, chSpacing, spacingMult, 1), annotations);
}

From source file:org.onosproject.drivers.ciena.waveserver.rest.CienaWaveserverDeviceDescription.java

public static PortDescription parseWaveServerCienaOchPorts(long portNumber, HierarchicalConfiguration config,
        SparseAnnotations annotations) {
    final List<String> tunableType = Lists.newArrayList("performance-optimized", "accelerated");
    final String flexGrid = "flex-grid";
    final String state = "properties.transmitter.state";
    final String tunable = "properties.modem.tx-tuning-mode";
    final String spacing = "properties.line-system.wavelength-spacing";
    final String frequency = "properties.transmitter.frequency.value";

    boolean isEnabled = config.getString(state).equals(ENABLED);
    boolean isTunable = tunableType.contains(config.getString(tunable));

    GridType gridType = config.getString(spacing).equals(flexGrid) ? GridType.FLEX : null;
    ChannelSpacing chSpacing = gridType == GridType.FLEX ? ChannelSpacing.CHL_6P25GHZ : null;

    //Working in Ghz //(Nominal central frequency - 193.1)/channelSpacing = spacingMultiplier
    final int baseFrequency = 193100;
    long spacingFrequency = chSpacing == null ? baseFrequency : chSpacing.frequency().asHz();
    int spacingMult = ((int) (toGbps(((int) config.getDouble(frequency) - baseFrequency))
            / toGbpsFromHz(spacingFrequency))); //FIXME is there a better way ?

    return ochPortDescription(PortNumber.portNumber(portNumber), isEnabled, OduSignalType.ODU4, isTunable,
            new OchSignal(gridType, chSpacing, spacingMult, 1), annotations);
}

From source file:org.onosproject.drivers.cisco.XmlParserCisco.java

private static String getInterfaceName(HierarchicalConfiguration intfConfig) {
    return intfConfig.getString("Param");
}

From source file:org.onosproject.drivers.cisco.XmlParserCisco.java

private static VlanId getVlanForAccess(HierarchicalConfiguration intfConfig) {
    if (intfConfig.containsKey(ACCESS_KEY)) {
        return VlanId.vlanId(intfConfig.getString(ACCESS_KEY));
    }/*ww w. j  a  va2  s.  com*/
    return null;
}

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

/**
 * Parses a configuration and returns a set of ports for the fujitsu T100.
 *
 * @param cfg a hierarchical configuration
 * @return a list of port descriptions//  ww  w .ja v a 2  s.  c  o m
 */
private static List<PortDescription> parseFujitsuT100Ports(HierarchicalConfiguration cfg) {
    AtomicInteger counter = new AtomicInteger(1);
    List<PortDescription> portDescriptions = Lists.newArrayList();
    List<HierarchicalConfiguration> subtrees = cfg.configurationsAt("data.interfaces.interface");
    for (HierarchicalConfiguration portConfig : subtrees) {
        if (!portConfig.getString("name").contains("LCN") && !portConfig.getString("name").contains("LMP")
                && portConfig.getString("type").equals("ianaift:ethernetCsmacd")) {
            portDescriptions.add(parseT100OduPort(portConfig, counter.getAndIncrement()));
        } else if (portConfig.getString("type").equals("ianaift:otnOtu")) {
            portDescriptions.add(parseT100OchPort(portConfig, counter.getAndIncrement()));
        }
    }
    return portDescriptions;
}

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

private static PortDescription parseT100OchPort(HierarchicalConfiguration cfg, long count) {
    PortNumber portNumber = PortNumber.portNumber(count);
    HierarchicalConfiguration otuConfig = cfg.configurationAt("otu");
    boolean enabled = otuConfig.getString("administrative-state").equals("up");
    OduSignalType signalType = otuConfig.getString("rate").equals("OTU4") ? OduSignalType.ODU4 : null;
    //Unsure how to retreive, outside knowledge it is tunable.
    boolean isTunable = true;
    OchSignal lambda = new OchSignal(GridType.DWDM, ChannelSpacing.CHL_50GHZ, 0, 4);
    DefaultAnnotations annotations = DefaultAnnotations.builder()
            .set(AnnotationKeys.PORT_NAME, cfg.getString("name")).build();
    return ochPortDescription(portNumber, enabled, signalType, isTunable, lambda, annotations);
}

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

private static PortDescription parseT100OduPort(HierarchicalConfiguration cfg, long count) {
    PortNumber portNumber = PortNumber.portNumber(count);
    HierarchicalConfiguration ethernetConfig = cfg.configurationAt("ethernet");
    boolean enabled = ethernetConfig.getString("administrative-state").equals("up");
    //Rate is in kbps
    CltSignalType signalType = ethernetConfig.getString("rate").equals("100000000") ? CltSignalType.CLT_100GBE
            : null;//from  w  w  w. j  a  v a  2  s.c  o m
    DefaultAnnotations annotations = DefaultAnnotations.builder()
            .set(AnnotationKeys.PORT_NAME, cfg.getString("name")).build();
    return oduCltPortDescription(portNumber, enabled, signalType, annotations);
}

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

/**
 * Parses XML string to get controller information.
 *
 * @param cfg a hierarchical configuration
 * @return a list of alarms/* www.ja  v a2s.com*/
 */
private List<Alarm> parseVoltActiveAlerts(HierarchicalConfiguration cfg) {
    List<Alarm> alarms = new ArrayList<>();
    List<HierarchicalConfiguration> fields = cfg.configurationsAt(OLT_ACTIVE_ALERTS_KEY);

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

        for (HierarchicalConfiguration child : childFields) {
            try {
                int seqNum = Integer.parseInt(child.getString(ALERT_SEQNUM));
                boolean cleared = Boolean.parseBoolean(child.getString(ALERT_CLEAR));
                String alertType = child.getString(ALERT_TYPE);
                String severity = child.getString(SEVERITY);

                List<HierarchicalConfiguration> idFields = child.configurationsAt(RESOURCE_ID);
                if (idFields.isEmpty()) {
                    log.error("{} does not exsit: SQ={}, TYPE={}, SEV={}, CLEARED={}", RESOURCE_ID, seqNum,
                            alertType, severity, cleared);
                    continue;
                }
                String alarmSrc = formAlarmSource(idFields);
                if (alarmSrc == null) {
                    log.error("Cannot build description: SQ={}, TYPE={}, SEV={}, CLEARED={}", seqNum, alertType,
                            severity, cleared);
                    continue;
                }
                long timeRaised = getTimeRaised(child);
                log.debug("VOLT: ACTIVE ALERT: SQ={}, TYPE={}, SEV={}, CLEARED={}, TIME={}", seqNum, alertType,
                        severity, cleared, timeRaised);

                SeverityLevel alarmLevel = AlertSeverity.convertToAlarmSeverityLevel(severity);
                if (alarmLevel.equals(SeverityLevel.INDETERMINATE)) {
                    log.warn("Unknown severity: {}", severity);
                }
                DefaultAlarm.Builder alarmBuilder = new DefaultAlarm.Builder(ncDeviceId,
                        alertType.toUpperCase(), alarmLevel, timeRaised)
                                .forSource(AlarmEntityId.alarmEntityId(alarmSrc));
                alarms.add(alarmBuilder.build());
            } catch (NumberFormatException e) {
                log.error("Non-number exception {}", e);
            } catch (Exception e) {
                log.error("Exception {}", e);
            }
        }
    }
    return alarms;
}