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

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

Introduction

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

Prototype

public SubnodeConfiguration configurationAt(String key) 

Source Link

Document

Returns a hierarchical subnode configuration for the node specified by the given key.

Usage

From source file:com.aol.advertising.qiao.util.XmlConfigUtil.java

public static Map<String, Object> parseSingleNodeAttributes(HierarchicalConfiguration config, String key) {
    Map<String, Object> result = null;

    // get a subnode configuration for the node specified by the given key
    SubnodeConfiguration c = config.configurationAt(key);
    if (c != null) {
        Node root = c.getRoot();//from w ww .ja v a2s .  c o  m
        result = new HashMap<String, Object>(root.getAttributeCount());

        List<?> attrs = root.getAttributes();
        for (Object attr : attrs) {
            ConfigurationNode nd = (ConfigurationNode) attr;
            result.put(nd.getName(), nd.getValue());
        }
    }

    return result;
}

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 {/*from  w  w  w.ja v a2  s .  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:edu.cwru.sepia.Main.java

private static Runner getRunner(HierarchicalConfiguration globalConfig, StateCreator stateCreator,
        Agent[] agents) throws ClassNotFoundException, IllegalArgumentException, SecurityException,
        InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
    Class<?> runnerClass = Class.forName(globalConfig.getString("runner.ClassName"));
    CombinedConfiguration config = new CombinedConfiguration();
    config.addConfiguration(globalConfig.configurationAt("model"), "model", "model");
    config.addConfiguration(globalConfig.configurationAt("runner.properties"), "runner.properties",
            "runner.properties");
    return (edu.cwru.sepia.runner.Runner) runnerClass
            .getConstructor(Configuration.class, StateCreator.class, Agent[].class)
            .newInstance(config, stateCreator, agents);
}

From source file:elaborate.editor.config.Configuration.java

private static void processConfiguration(HierarchicalConfiguration h_config) {
    renditions = Maps.newTreeMap();/*from www .ja v  a2 s  .com*/
    HierarchicalConfiguration config = configurationAt(h_config, "renditions");
    if (config != null) {
        extractRenditions(config);
    }
    messages = Maps.newTreeMap();
    config = configurationAt(h_config, "messages");
    if (config != null) {
        int n = config.getMaxIndex("group");
        for (int i = 0; i <= n; i++) {
            String groupId = config.getString("group(" + i + ")[@id]");
            if (groupId != null) {
                HierarchicalConfiguration group = config.configurationAt("group(" + i + ")");
                extractMessages(groupId, group);
            }
        }
    }
}

From source file:com.servioticy.queueclient.QueueClient.java

private static QueueClient createInstance(String configPath, String type, String baseAddress,
        String relativeAddress) throws QueueClientException {

    QueueClient instance;//from   ww w .  j a  v a2 s .c  om

    try {
        File f = new File(configPath);
        if (!f.exists()) {
            if (Thread.currentThread().getContextClassLoader().getResource(configPath) == null) {
                KestrelMemcachedClient kInstance = new KestrelMemcachedClient();
                kInstance.setBaseAddress(baseAddress);
                kInstance.setRelativeAddress(relativeAddress);
                kInstance.setExpire(0);
                return kInstance;
            }
        }
        String className;
        HierarchicalConfiguration config, queueConfig;

        config = new XMLConfiguration(configPath);
        config.setExpressionEngine(new XPathExpressionEngine());

        className = config.getString("queue[type='" + type + "']/className");
        instance = (QueueClient) Class.forName(className).newInstance();
        instance.setBaseAddress(baseAddress);
        instance.setRelativeAddress(relativeAddress);
        queueConfig = (HierarchicalConfiguration) config
                .configurationAt("queue[type='" + type + "']/concreteConf");
        instance.init(queueConfig);

    } catch (InstantiationException e) {
        String errMsg = "Unable to instantiate the queue class (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    } catch (IllegalAccessException e) {
        String errMsg = "Unable to load the queue class (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    } catch (ClassNotFoundException e) {
        String errMsg = "The queue class does not exist (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    } catch (ConfigurationException e) {
        String errMsg = "'" + configPath + "' configuration file is malformed (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    }

    return instance;
}

From source file:com.cedarsoft.configuration.xml.XmlConfigurationManager.java

/**
 * Returns the configuration for the given moduleType
 *
 * @param moduleType the moduleType/*ww w. ja  v a 2  s  .co  m*/
 * @return the configuration for the given  moduleType
 */
@Nonnull
public HierarchicalConfiguration getModuleConfiguration(@Nonnull Class<?> moduleType) {
    String moduleTypeName = moduleType.getName().replaceAll("\\$", ".");
    HierarchicalConfiguration modulesConfiguration = getModulesConfiguration();
    try {
        return modulesConfiguration.configurationAt(moduleTypeName);
    } catch (IllegalArgumentException ignore) {
        modulesConfiguration.addProperty(moduleTypeName, "");
        return modulesConfiguration.configurationAt(moduleTypeName);
    }
}

From source file:com.wrmsr.neurosis.util.Configs.java

public static Map<String, String> stripSubconfig(Map<String, String> properties, String prefix) {
    HierarchicalConfiguration hierarchicalProperties = toHierarchical(properties);
    Configuration subconfig;//ww  w . j  av  a 2s . c o  m
    try {
        subconfig = hierarchicalProperties.configurationAt(prefix);
    } catch (IllegalArgumentException e) {
        return ImmutableMap.of();
    }

    Map<String, String> subproperties = new ConfigurationMap(subconfig).entrySet().stream()
            .collect(ImmutableCollectors.toImmutableMap(e -> checkNotNull(e.getKey()).toString(),
                    e -> checkNotNull(e.getValue()).toString()));

    hierarchicalProperties.clearTree(prefix);
    for (String key : Sets.newHashSet(properties.keySet())) {
        if (!hierarchicalProperties.containsKey(key)) {
            properties.remove(key);
        }
    }

    return subproperties;
}

From source file:com.eyeq.pivot4j.ui.condition.NotCondition.java

/**
 * @see com.eyeq.pivot4j.state.Configurable#restoreSettings(org.apache.commons.configuration.HierarchicalConfiguration)
 *//*from  www  .  j  a va 2s.co  m*/
@Override
public void restoreSettings(HierarchicalConfiguration configuration) {
    this.subCondition = null;

    try {
        HierarchicalConfiguration subConfig = configuration.configurationAt("condition");

        String name = subConfig.getString("[@name]");

        if (name != null) {
            this.subCondition = getConditionFactory().createCondition(name);
            this.subCondition.restoreSettings(subConfig);
        }
    } catch (IllegalArgumentException e) {
    }
}

From source file:com.vangent.hieos.empi.config.MatchConfig.java

/**
 * /*from  w w  w. j a v  a 2s  . com*/
 * @param hc
 * @param empiConfig
 * @throws EMPIException
 */
public void load(HierarchicalConfiguration hc, EMPIConfig empiConfig) throws EMPIException {

    // Load blocking configuration.
    blockingConfig = new BlockingConfig();
    blockingConfig.load(hc.configurationAt(BLOCKING_CONFIG), empiConfig);

    this.acceptThreshold = hc.getDouble(ACCEPT_THRESHOLD);
    this.rejectThreshold = hc.getDouble(REJECT_THRESHOLD);

    // Get the field-level configuration.
    List matchFields = hc.configurationsAt(MATCH_FIELDS);
    for (Iterator it = matchFields.iterator(); it.hasNext();) {
        HierarchicalConfiguration hcMatchField = (HierarchicalConfiguration) it.next();
        MatchFieldConfig matchFieldConfig = new MatchFieldConfig();
        matchFieldConfig.load(hcMatchField, empiConfig);
        // FIXME: Put in map?
        matchFieldConfigs.add(matchFieldConfig);
    }

}

From source file:com.wrmsr.neurosis.util.Configs.java

public static List<String> getAllStrings(HierarchicalConfiguration hc, String key) {
    List<String> values = hc.getList(key).stream().filter(o -> o != null).map(Object::toString)
            .collect(Collectors.toList());
    try {/* w  ww .  ja v  a2 s. c o m*/
        HierarchicalConfiguration subhc = hc.configurationAt(key);
        for (String subkey : Lists.newArrayList(subhc.getKeys())) {
            if (!isNullOrEmpty(subkey)) {
                String subvalue = subhc.getString(subkey);
                if (subvalue != null) {
                    values.add(subvalue);
                }
            }
        }
    } catch (IllegalArgumentException e) {
        // pass
    }
    return values;
}