List of usage examples for org.apache.commons.configuration HierarchicalConfiguration configurationsAt
public List configurationsAt(String key)
From source file:org.nnsoft.t2t.configuration.ConfigurationManager.java
private Rule getRule(HierarchicalConfiguration rule) { HierarchicalConfiguration match = rule.configurationAt("match"); String pattern = match.getString("pattern"); StatementPattern matchStatementPattern = parsePattern(pattern); Set<StatementPattern> applyStatementPatterns = new HashSet<StatementPattern>(); HierarchicalConfiguration apply = rule.configurationAt("apply"); @SuppressWarnings("unchecked") List<HierarchicalConfiguration> patterns = apply.configurationsAt("patterns"); for (HierarchicalConfiguration applyPattern : patterns) { applyStatementPatterns.add(parsePattern(applyPattern.getString("pattern"))); }/*w ww . ja v a 2 s . co m*/ return new Rule(matchStatementPattern, applyStatementPatterns); }
From source file:org.onlab.stc.Compiler.java
/** * Recursively elaborates this definition to produce a final process flow graph. * * @param cfg hierarchical definition * @param namespace optional namespace * @param parentGroup optional parent group *//*from w w w . j a va2s. c om*/ private void compile(HierarchicalConfiguration cfg, String namespace, Group parentGroup) { String opfx = pfx; pfx = pfx + ">"; print("pfx=%s namespace=%s", pfx, namespace); // Scan all imports cfg.configurationsAt(IMPORT).forEach(c -> processImport(c, namespace, parentGroup)); // Scan all steps cfg.configurationsAt(STEP).forEach(c -> processStep(c, namespace, parentGroup)); // Scan all groups cfg.configurationsAt(GROUP).forEach(c -> processGroup(c, namespace, parentGroup)); // Scan all parallel groups cfg.configurationsAt(PARALLEL).forEach(c -> processParallelGroup(c, namespace, parentGroup)); // Scan all dependencies cfg.configurationsAt(DEPENDENCY).forEach(c -> processDependency(c, namespace)); pfx = opfx; }
From source file:org.onosproject.driver.netconf.XmlConfigParser.java
protected 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"))); }//from w ww. j av a2 s . co m return controllers; }
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 .ja v a 2s . co m*/ return controllers; }
From source file:org.onosproject.driver.XmlConfigParser.java
public static List<HierarchicalConfiguration> parseWaveServerCienaPorts(HierarchicalConfiguration cfg) { return cfg.configurationsAt("ws-ports.port-interface"); }
From source file:org.onosproject.drivers.ciena.waveserver.rest.CienaWaveserverDeviceDescription.java
public static List<HierarchicalConfiguration> parseWaveServerCienaPorts(HierarchicalConfiguration cfg) { return cfg.configurationsAt(PORTS); }
From source file:org.onosproject.drivers.cisco.XmlParserCisco.java
/** * Parses device configuration and returns the descriptions of the device * interfaces./*w ww. j a va 2 s.c o m*/ * * @param cfg an hierarchical configuration * @return list of interface descriptions for the device */ public static List<DeviceInterfaceDescription> getInterfacesFromConfig(HierarchicalConfiguration cfg) { List<DeviceInterfaceDescription> intfs = Lists.newArrayList(); List<HierarchicalConfiguration> subtrees = cfg .configurationsAt("data.xml-config-data.Device-Configuration.interface"); for (HierarchicalConfiguration intfConfig : subtrees) { String intfName = getInterfaceName(intfConfig); DeviceInterfaceDescription.Mode intfMode = getInterfaceMode(intfConfig); List<VlanId> intfVlans = getInterfaceVlans(intfConfig, intfMode); short intfLimit = getInterfaceLimit(intfConfig); boolean intfLimited = (intfLimit == NO_LIMIT ? false : true); DeviceInterfaceDescription intf = new DefaultDeviceInterfaceDescription(intfName, intfMode, intfVlans, intfLimited, intfLimit); intfs.add(intf); } return intfs; }
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/*from www . j a 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.FujitsuVoltAlarmConsumer.java
/** * Parses XML string to get controller information. * * @param cfg a hierarchical configuration * @return a list of alarms// www . ja v a 2 s . c o m */ 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; }
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 w ww .j av a 2s . com*/ 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(); }