List of usage examples for org.apache.commons.configuration HierarchicalConfiguration getString
public String getString(String key)
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; }