List of usage examples for org.apache.commons.configuration HierarchicalConfiguration getStringArray
public String[] getStringArray(String key)
From source file:edu.cwru.sepia.Main.java
private static Agent[] getAgents(HierarchicalConfiguration config) { String[] participatingAgents = config.getStringArray("agents.ParticipatingAgents"); Agent[] agents = new Agent[participatingAgents.length]; for (int i = 0; i < participatingAgents.length; i++) { String key = "agents." + participatingAgents[i]; HierarchicalConfiguration agentConfig = config.configurationAt(key); String className = agentConfig.getString("ClassName"); int playerId = agentConfig.getInt("PlayerId"); String[] arguments = agentConfig.getStringArray("ConstructorArguments"); try {//w w w .j a va2s . c o m Class<?> classDef = Class.forName(className); Agent agent = null; try { if (arguments != null && arguments.length != 0) agent = (Agent) classDef.getConstructor(int.class, String[].class).newInstance(playerId, arguments); } catch (Exception e) { } if (agent == null) { @SuppressWarnings("unchecked") Constructor<? extends Agent> constructor = (Constructor<? extends Agent>) classDef .getConstructor(int.class); agent = (Agent) constructor.newInstance(playerId); } agents[i] = agent; } catch (Exception ex) { String errorMessage = String.format("Unable to instantiate %s with playerId %d%s.", className, playerId, (arguments == null ? "" : " and additional arguments " + Arrays.toString(arguments))); logger.log(Level.SEVERE, errorMessage, ex); throw new RuntimeException(ex);//make sure the program fails and the error gets propagated } agents[i].setConfiguration(agentConfig); } return agents; }
From source file:com.vmware.qe.framework.datadriven.impl.supplier.XMLDataParser.java
/** * Segregate the data based on the namespace.<br> * /*w ww .j a v a 2 s .c o m*/ * @param dataFromFile HierarchicalConfiguration data loaded from file. * @param clazz the test class. * @return Map of namespace/test vs the testData. * @throws Exception */ private static Map<String, HierarchicalConfiguration> segregate(HierarchicalConfiguration dataFromFile, Class<?> clazz) throws Exception { Map<String, HierarchicalConfiguration> dataMap = new HashMap<String, HierarchicalConfiguration>(); log.debug("Data : " + ConfigurationUtils.toString(dataFromFile)); List<HierarchicalConfiguration> allNameSpaces = null; String[] classNames = null; allNameSpaces = dataFromFile.configurationsAt(TAG_NAMESPACE); log.debug(allNameSpaces.size() + " namespaces given."); for (int i = 0; i < allNameSpaces.size(); i++) { HierarchicalConfiguration aNameSpaceData = allNameSpaces.get(i); classNames = aNameSpaceData.getStringArray(TAG_CLASS_NAME); // data is added to individual testData in the same namespace is added // to the dataMap using testClassName as key for (String testClassName : classNames) { log.debug(" ** Namespace: " + i + " > " + testClassName); if (!dataMap.containsKey(testClassName)) { dataMap.put(testClassName, aNameSpaceData); } else { append(dataMap.get(testClassName), aNameSpaceData); } } } log.debug("Data keys: " + dataMap.keySet()); log.debug("Load size: " + dataMap.size()); return dataMap; }
From source file:de.unigoettingen.sub.search.opac.ConfigOpac.java
/** * The function getRestrictionsForCatalogue() returns the content of all * <kbd><restriction></kbd> elements from the * <kbd><catalogue></kbd> entry with the given <kbd>title</kbd> from * <kbd>kitodo_opac.xml</kbd>. * * <p>/*from w w w . j ava 2 s . com*/ * The function will return an empty list if there are no such entries for * the given catalogue. * </p> * * @param title * Title parameter of the <kbd><catalogue></kbd> entry to * examine * @return List */ public static List<String> getRestrictionsForCatalogue(String title) throws FileNotFoundException { List<String> result = new LinkedList<>(); List<HierarchicalConfiguration> catalogues = getConfig().configurationsAt(CATALOGUE); for (HierarchicalConfiguration catalogue : catalogues) { if (title.equals(catalogue.getString("[@title]"))) { result.addAll(Arrays.asList(catalogue.getStringArray("restriction"))); break; } } return result; }
From source file:com.vangent.hieos.hl7v2util.acceptor.config.ListenerConfig.java
/** * * @param hc// www . j av a 2 s .com * @throws HL7v2UtilException */ private void loadCipherSuites(HierarchicalConfiguration hc) throws HL7v2UtilException { cipherSuites = hc.getStringArray(CIPHER_SUITES); if (cipherSuites == null || cipherSuites.length == 0) { throw new HL7v2UtilException("Must specify " + CIPHER_SUITES + " in configuration."); } }
From source file:com.vmware.qe.framework.datadriven.impl.filter.DataFilterBasedOnTestId.java
@Override public boolean canRun(String className, HierarchicalConfiguration dataToFilter, HierarchicalConfiguration context) { String testIdKey = className + "-testids"; String testIdArray[];//from w w w . j a v a 2 s. co m testIdArray = context.getStringArray(testIdKey); testIdArray = testIdArray == null ? DDConfig.getSingleton().getData().getStringArray(testIdKey) : testIdArray; List<String> testIds = Arrays.asList(testIdArray); if (testIds.isEmpty()) { return true; } String testId = dataToFilter.getString(TAG_TESTID_ATTR, ""); boolean canRun = false; // Ignoring testIds if they are not in the selected test-ids to run if (testIds != null && !testIds.isEmpty()) { canRun = testIds.contains(testId); } log.debug("CanRun: {}", canRun); return canRun; }
From source file:com.vmware.qe.framework.datadriven.impl.filter.DataFilterBasedOnProperty.java
/** * filters test based on given filterKey/filterValue. If the any of the filter key/value pairs * found from data object, then returns true. * // w w w . j a v a2s . com * @param data test data * @return true if test is selected after applying filter, false otherwise */ private boolean checkAgainstFilterProperties(HierarchicalConfiguration data, HierarchicalConfiguration context) { boolean included = true; String filterKeys[] = null; String filterValues[] = null; if (context.containsKey(ARG_FILTER_KEY) && !context.getString(ARG_FILTER_KEY).trim().equals("")) { filterKeys = context.getStringArray(ARG_FILTER_KEY); filterValues = context.getStringArray(ARG_FILTER_VALUE); } else if (DDConfig.getSingleton().getData().containsKey(ARG_FILTER_KEY) && !DDConfig.getSingleton().getData().getString(ARG_FILTER_KEY).trim().equals("")) { filterKeys = DDConfig.getSingleton().getData().getStringArray(ARG_FILTER_KEY); filterValues = DDConfig.getSingleton().getData().getStringArray(ARG_FILTER_VALUE); } if (filterKeys != null && filterValues != null) { included = false; for (int index = 0; index < filterKeys.length; index++) { String filterKey = filterKeys[index]; String filterValue = null; if (index >= filterValues.length) { filterValue = ""; } else { filterValue = filterValues[index]; } if (data.containsKey(filterKey) && data.getString(filterKey, "").equals(filterValue)) { included = true; break; } } } return included; }
From source file:com.epam.cme.mdp3.core.cfg.Configuration.java
/** * Loads and parse CME MDP Configuration. * * @param uri URI to CME MDP Configuration (config.xml, usually available on CME FTP) * @throws ConfigurationException if failed to parse configuration file * @throws MalformedURLException if URI to Configuration is malformed *//*from w ww . j a v a 2 s. co m*/ private void load(final URI uri) throws ConfigurationException, MalformedURLException { // todo: if to implement the same via standard JAXB then dep to apache commons configuration will be not required final XMLConfiguration configuration = new XMLConfiguration(); configuration.setDelimiterParsingDisabled(true); configuration.load(uri.toURL()); for (final HierarchicalConfiguration channelCfg : configuration.configurationsAt("channel")) { final ChannelCfg channel = new ChannelCfg(channelCfg.getString("[@id]"), channelCfg.getString("[@label]")); for (final HierarchicalConfiguration connCfg : channelCfg.configurationsAt("connections.connection")) { final String id = connCfg.getString("[@id]"); final FeedType type = FeedType.valueOf(connCfg.getString("type[@feed-type]")); final TransportProtocol protocol = TransportProtocol .valueOf(connCfg.getString("protocol").substring(0, 3)); final Feed feed = Feed.valueOf(connCfg.getString("feed")); final String ip = connCfg.getString("ip"); final int port = connCfg.getInt("port"); final List<String> hostIPs = Arrays.asList(connCfg.getStringArray("host-ip")); final ConnectionCfg connection = new ConnectionCfg(feed, id, type, protocol, ip, hostIPs, port); channel.addConnection(connection); connCfgs.put(connection.getId(), connection); } channelCfgs.put(channel.getId(), channel); } }
From source file:at.ac.tuwien.auto.iotsys.gateway.connectors.knx.KNXDeviceLoaderETSImpl.java
private void parseEntites(KNXConnector knxConnector, ObjectBroker objectBroker, Hashtable<String, EntityImpl> entityById, Hashtable<String, DatapointImpl> datapointById, NetworkImpl n, Hashtable<String, String> resourceById, Hashtable<String, String> groupAddressByDatapointID, boolean enableGroupComm, boolean enableHistories) { for (int entityIdx = 0; entityIdx < sizeOfConfiguration( devicesConfig.getProperty("entities.entity[@id]")); entityIdx++) { // Entity HierarchicalConfiguration entityConfig = devicesConfig .configurationAt("entities.entity(" + entityIdx + ")"); String entityId = entityConfig.getString("[@id]"); String entityName = arrayToString(entityConfig.getStringArray("[@name]")); String entityDescription = arrayToString(entityConfig.getStringArray("[@description]")); String entityOrderNumber = entityConfig.getString("[@orderNumber]"); String entityManufacturerId = entityConfig.getString("[@manufacturerId]"); EntityImpl entity = new EntityImpl(entityId, entityName, entityDescription, resourceById.get(entityManufacturerId), entityOrderNumber); entityById.put(entityId, entity); n.getEntities().addEntity(entity); objectBroker.addObj(entity, true); // Translations for (int transIdx = 0; transIdx < sizeOfConfiguration( entityConfig.getProperty("translations.translation[@language]")); transIdx++) { HierarchicalConfiguration transConfig = entityConfig .configurationAt("translations.translation(" + transIdx + ")"); String language = transConfig.getString("[@language]"); String attribute = transConfig.getString("[@attribute]"); String value = arrayToString(transConfig.getStringArray("[@value]")); try { entity.addTranslation(language, attribute, value); } catch (Exception e) { log.warning(e.getMessage()); }// ww w. j a v a 2s . c om } // DPs for (int datapointIdx = 0; datapointIdx < sizeOfConfiguration( entityConfig.getProperty("datapoints.datapoint[@id]")); datapointIdx++) { HierarchicalConfiguration datapointConfig = entityConfig .configurationAt("datapoints.datapoint(" + datapointIdx + ")"); String dataPointName = arrayToString(datapointConfig.getStringArray("[@name]")); String dataPointTypeIds = datapointConfig.getString("[@datapointTypeIds]"); String dataPointId = datapointConfig.getString("[@id]"); String dataPointDescription = arrayToString(datapointConfig.getStringArray("[@description]")); String dataPointWriteFlag = datapointConfig.getString("[@writeFlag]"); String dataPointReadFlag = datapointConfig.getString("[@readFlag]"); // String dataPointPriority = datapointConfig.getString("[@priority]"); // String dataPointCommunicationFlag = datapointConfig.getString("[@communicationFlag]"); // String dataPointReadOnInitFlag = datapointConfig.getString("[@readOnInitFlag]"); // String dataPointTransmitFlag = datapointConfig.getString("[@transmitFlag]"); // String updateFlag = datapointConfig.getString("[@updateFlag]"); // use only the first DPTS if (dataPointTypeIds.indexOf(" ") >= 0) { dataPointTypeIds = dataPointTypeIds.substring(0, dataPointTypeIds.indexOf(" ")); } log.info("Found data point type id: " + dataPointTypeIds); String clazzName = "at.ac.tuwien.auto.iotsys.gateway.obix.objects.knx.datapoint.impl." + dataPointTypeIds.replace('-', '_') + "_ImplKnx"; Class<?> clazz = null; try { log.info("Loading: " + clazzName); clazz = Class.forName(clazzName); } catch (ClassNotFoundException e) { log.warning(clazzName + " not found. Cannot instantiate according sub data point type. Trying fallback to generic main type."); int firstIndexOf = dataPointTypeIds.indexOf('-'); int secondIndexOf = dataPointTypeIds.indexOf('-', firstIndexOf + 1); clazzName = "at.ac.tuwien.auto.iotsys.gateway.obix.objects.knx.datapoint.impl." + "DPT_" + dataPointTypeIds.substring(firstIndexOf + 1, secondIndexOf) + "_ImplKnx"; // try { log.info("Loading: " + clazzName); clazz = Class.forName(clazzName); } catch (ClassNotFoundException e1) { e1.printStackTrace(); log.warning(clazzName + " not found. Cannot instantiate according main data point type."); } } try { if (clazz != null) { Constructor<?> constructor = clazz.getConstructor(KNXConnector.class, DataPointInit.class); Object[] object = new Object[2]; object[0] = knxConnector; DataPointInit dptInit = new DataPointInit(); dptInit.setDisplay(dataPointDescription); dptInit.setDisplayName(dataPointName); dptInit.setReadable( EnumsImpl.getInstance().getEnum(EnumEnabled.HREF).getBool(dataPointReadFlag)); dptInit.setName(dataPointId); dptInit.setGroupAddress( new GroupAddress(Integer.parseInt(groupAddressByDatapointID.get(dataPointId)))); dptInit.setWritable( EnumsImpl.getInstance().getEnum(EnumEnabled.HREF).getBool(dataPointWriteFlag)); object[1] = dptInit; DatapointImpl dataPoint = (DatapointImpl) constructor.newInstance(object); datapointById.put(dataPointId, dataPoint); entity.addDatapoint(dataPoint); if (enableGroupComm) objectBroker.enableGroupComm(dataPoint); if (enableHistories) objectBroker.addHistoryToDatapoints(dataPoint); objectBroker.addObj(dataPoint, true); // Search for child "value" Obj dpValue = dataPoint.get("value"); if (dpValue != null) { dpValue.setDisplayName(dataPointDescription); } // Translations (DP) for (int transIdx = 0; transIdx < sizeOfConfiguration( datapointConfig.getProperty("translations.translation[@language]")); transIdx++) { HierarchicalConfiguration transConfig = datapointConfig .configurationAt("translations.translation(" + transIdx + ")"); String language = transConfig.getString("[@language]"); String attribute = transConfig.getString("[@attribute]"); String value = arrayToString(transConfig.getStringArray("[@value]")); try { dataPoint.addTranslation(language, attribute, value); // translation for DisplayName of value if (attribute.toLowerCase().trim().equals("description") && dpValue != null) { dpValue.addTranslation(language, TranslationAttribute.displayName, value); } } catch (Exception e) { log.warning(e.getMessage()); } } } } catch (NoSuchMethodException e) { log.warning(clazzName + " no such method. Cannot instantiate according datapoint."); } catch (SecurityException e) { log.warning(clazzName + " security exception. Cannot instantiate according datapoint."); } catch (InstantiationException e) { log.warning(clazzName + " instantiation exception. Cannot instantiate according datapoint."); } catch (IllegalAccessException e) { log.warning(clazzName + " illegal access exception. Cannot instantiate according datapoint."); } catch (IllegalArgumentException e) { log.warning(clazzName + " illegal argument exception. Cannot instantiate according datapoint."); e.printStackTrace(); } catch (InvocationTargetException e) { log.warning( clazzName + " invocation target exception. Cannot instantiate according datapoint."); e.printStackTrace(); } } } }
From source file:at.ac.tuwien.auto.iotsys.gateway.connectors.knx.KNXDeviceLoaderETSImpl.java
private void parseBuildingView(HierarchicalConfiguration partConfig, Obj parent, Network n, ObjectBroker objectBroker, Hashtable<String, EntityImpl> entityById) { for (int partsIdx = 0; partsIdx < sizeOfConfiguration(partConfig.getProperty("part.[@id]")); partsIdx++) { String partId = partConfig.getString("part(" + partsIdx + ").[@id]"); String partName = arrayToString(partConfig.getStringArray("part(" + partsIdx + ").[@name]")); String partDescription = arrayToString( partConfig.getStringArray("part(" + partsIdx + ").[@description]")); String partType = partConfig.getString("part(" + partsIdx + ").[@type]"); PartImpl part = new PartImpl(partId, partName, partDescription, partType); // add part to parent part if (parent instanceof ViewBuildingImpl) ((ViewBuildingImpl) parent).addPart(part); else if (parent instanceof PartImpl) ((PartImpl) parent).addPart(part); else/*from www . j a v a2s . c o m*/ parent.add(part); objectBroker.addObj(part, true); // add instances to part HierarchicalConfiguration concretePart = partConfig.configurationAt("part(" + partsIdx + ")"); for (int instanceIdx = 0; instanceIdx < sizeOfConfiguration( concretePart.getProperty("instance.[@id]")); instanceIdx++) { String instanceId = concretePart.getString("instance(" + instanceIdx + ").[@id]"); Obj instance = part.addInstance(entityById.get(instanceId)); objectBroker.addObj(instance); } // recursively add more parts parseBuildingView(concretePart, part, n, objectBroker, entityById); } }
From source file:at.ac.tuwien.auto.iotsys.gateway.connectors.knx.KNXDeviceLoaderETSImpl.java
private void parseDomainView(HierarchicalConfiguration domainConfig, Obj parent, Network n, ObjectBroker objectBroker, Hashtable<String, EntityImpl> entityById, Hashtable<String, DatapointImpl> datapointById) { for (int domainIdx = 0; domainIdx < sizeOfConfiguration( domainConfig.getProperty("domain.[@id]")); domainIdx++) { String domainId = domainConfig.getString("domain(" + domainIdx + ").[@id]"); String domainName = arrayToString(domainConfig.getStringArray("domain(" + domainIdx + ").[@name]")); String domainDescription = arrayToString( domainConfig.getStringArray("domain(" + domainIdx + ").[@description]")); DomainImpl domain = new DomainImpl(domainId, domainName, domainDescription); // add part to parent part if (parent instanceof ViewDomainsImpl) ((ViewDomainsImpl) parent).addDomain(domain); else if (parent instanceof DomainImpl) ((DomainImpl) parent).addDomain(domain); else/*from w w w . j a va 2s .c o m*/ parent.add(domain); objectBroker.addObj(domain, true); // add instances to part HierarchicalConfiguration concreteDomain = domainConfig.configurationAt("domain(" + domainIdx + ")"); for (int instanceIdx = 0; instanceIdx < sizeOfConfiguration( concreteDomain.getProperty("instance.[@id]")); instanceIdx++) { String instanceId = concreteDomain.getString("instance(" + instanceIdx + ").[@id]"); Obj addInstance = domain.addInstance(entityById.get(instanceId)); objectBroker.addObj(addInstance, true); } // recursively add more domains parseDomainView(concreteDomain, domain, n, objectBroker, entityById, datapointById); } }