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

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

Introduction

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

Prototype

public List configurationsAt(String key) 

Source Link

Document

Returns a list of sub configurations for all configuration nodes selected by the given key.

Usage

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

/**
 *
 * @param hc//from  ww w  .j av a2 s.co  m
 * @param empiConfig
 * @throws EMPIException
 */
public void load(HierarchicalConfiguration hc, EMPIConfig empiConfig) throws EMPIException {
    this.name = hc.getString(FIELD_NAME);
    this.sourceObjectPath = hc.getString(SOURCE_OBJECT_PATH);
    this.matchDatabaseColumn = hc.getString(MATCH_DB_COLUMN);
    this.supersedesField = hc.getString(SUPERSEDES_FIELD);
    this.storeField = hc.getBoolean(STORE_FIELD, true);

    // Link up transforms.
    List transformFunctions = hc.configurationsAt(TRANSFORM_FUNCTIONS);
    for (Iterator it = transformFunctions.iterator(); it.hasNext();) {
        HierarchicalConfiguration hcTransformFunction = (HierarchicalConfiguration) it.next();
        String transformFunctionName = hcTransformFunction.getString(TRANSFORM_FUNCTION_NAME);
        TransformFunctionConfig transformFunctionConfig = this.getTransformFunctionConfig(empiConfig,
                hcTransformFunction, transformFunctionName);
        transformFunctionConfigs.add(transformFunctionConfig);
    }
}

From source file:com.intuit.tank.vm.settings.VmManagerConfig.java

/**
 * /*from www  .ja  v  a 2s. c  o m*/
 * @param config
 */
@SuppressWarnings("unchecked")
public VmManagerConfig(@Nonnull HierarchicalConfiguration config) {
    this.config = config;
    if (this.config != null) {
        List<HierarchicalConfiguration> creds = config.configurationsAt("credentials");
        if (creds != null) {
            for (HierarchicalConfiguration credentialsConfig : creds) {
                CloudCredentials cloudCredentials = new CloudCredentials(credentialsConfig);
                credentialsMap.put(cloudCredentials.getType(), cloudCredentials);
            }
        }

        List<HierarchicalConfiguration> tags = config.configurationsAt("tags/tag");
        if (tags != null) {
            for (HierarchicalConfiguration tagsConfig : tags) {
                InstanceTag tag = new InstanceTag(tagsConfig.getString("@name"), tagsConfig.getString(""));
                if (tag.isValid()) {
                    tagList.add(tag);
                }
            }
        }

        HierarchicalConfiguration defaultInstance = config.configurationAt("default-instance-description");
        List<HierarchicalConfiguration> regionConfigs = config.configurationsAt("instance-descriptions");
        if (regionConfigs != null) {
            for (HierarchicalConfiguration regionConfig : regionConfigs) {
                VMRegion region = VMRegion.valueOf(regionConfig.getString("@region"));
                Map<VMImageType, InstanceDescription> instanceMap = new HashMap<VMImageType, InstanceDescription>();
                regionMap.put(region, instanceMap);
                List<HierarchicalConfiguration> instanceConfigs = regionConfig
                        .configurationsAt("instance-descripion");
                for (HierarchicalConfiguration instanceConfig : instanceConfigs) {
                    InstanceDescription description = new InstanceDescription(instanceConfig, defaultInstance);
                    instanceMap.put(description.getType(), description);
                }

            }
        }

        // get reserved elastic ips
        List<HierarchicalConfiguration> eipConfig = config.configurationsAt("reserved-elastic-ips/eip");
        if (eipConfig != null) {
            for (HierarchicalConfiguration eip : eipConfig) {
                reservedElasticIps.add(eip.getString(""));
            }
        }
        // get instance type definitions
        List<HierarchicalConfiguration> instanceTypesConfig = config.configurationsAt("instance-types/type");
        instanceTypes = new ArrayList<VmInstanceType>();
        if (instanceTypesConfig != null) {
            for (HierarchicalConfiguration instanceTypeConfig : instanceTypesConfig) {
                // example: <type name="c3.large" cost=".105" users="500" cpus="2" ecus="7" mem="3.75" />
                VmInstanceType type = VmInstanceType.builder().withName(instanceTypeConfig.getString("@name"))
                        .withCost(instanceTypeConfig.getDouble("@cost", 0D))
                        .withMemory(instanceTypeConfig.getDouble("@mem", 0D))
                        .withJvmArgs(instanceTypeConfig.getString("@jvmArgs"))
                        .withEcus(instanceTypeConfig.getInt("@ecus", 0))
                        .withCpus(instanceTypeConfig.getInt("@cpus", 0))
                        .withDefault(instanceTypeConfig.getBoolean("@default", false))
                        .withUsers(instanceTypeConfig.getInt("@users", 0)).build();
                instanceTypes.add(type);

            }
        }
    }
}

From source file:com.sonicle.webtop.core.app.DataSourcesConfig.java

public void parseConfiguration(File file) throws ConfigurationException {
    HikariConfigMap sources = null;/*w ww . j  av  a  2s .c om*/
    String serviceId = null, sourceName = null;

    XMLConfiguration config = new XMLConfiguration(file);
    List<HierarchicalConfiguration> elServices = config.configurationsAt("service");
    for (HierarchicalConfiguration elService : elServices) {
        serviceId = elService.getString("[@id]", null);
        if (serviceId == null) {
            logger.warn("Missing attribute [id] in [{}]", elService.toString());
            continue;
        }

        // Iterates over service' sources
        sources = new HikariConfigMap();
        List<HierarchicalConfiguration> elSources = elService.configurationsAt("dataSource");
        for (HierarchicalConfiguration elSource : elSources) {
            sourceName = elSource.getString("[@name]", ConnectionManager.DEFAULT_DATASOURCE);
            logger.trace("name: {}", sourceName);
            try {
                sources.put(sourceName, parseDataSource(elSource));
            } catch (ParseException ex) {
                logger.warn("Error parsing dataSource definition [{}]", ex, elSource.toString());
            }
        }

        hm.put(serviceId, sources);
    }
}

From source file:com.norconex.collector.core.crawler.CrawlerConfigLoader.java

public ICrawlerConfig[] loadCrawlerConfigs(HierarchicalConfiguration xml) {
    try {/*from   w w  w . j  a  v  a  2  s  .  co  m*/
        XMLConfiguration defaults = ConfigurationUtil.getXmlAt(xml, "crawlerDefaults");

        ICrawlerConfig defaultConfig = crawlerConfigClass.newInstance();

        if (defaults != null) {
            loadCrawlerConfig(defaultConfig, defaults);
            if (LOG.isDebugEnabled()) {
                LOG.debug("Crawler defaults loaded.");
            }
        }

        List<HierarchicalConfiguration> nodes = xml.configurationsAt("crawlers.crawler");
        List<ICrawlerConfig> configs = new ArrayList<>();
        for (HierarchicalConfiguration node : nodes) {
            ICrawlerConfig config = defaultConfig.clone();
            loadCrawlerConfig(config, ConfigurationUtil.newXMLConfiguration(node));
            configs.add(config);
            if (LOG.isDebugEnabled()) {
                LOG.debug("Crawler configuration loaded: " + config.getId());
            }
        }
        return configs.toArray(new ICrawlerConfig[] {});
    } catch (Exception e) {
        throw new CollectorException("Cannot load crawler configurations.", e);
    }
}

From source file:com.legstar.config.commons.LegStarConfigCommons.java

/**
 * Loads an XML configuration from file.
 * //from ww  w  .  ja v a 2 s  .  c o m
 * @param configFileName the configuration file name
 * @return the in-memory XML configuration
 * @throws LegStarConfigurationException if configuration failed to load
 */
protected HierarchicalConfiguration loadGeneralConfig(final String configFileName)
        throws LegStarConfigurationException {
    try {
        if (_log.isDebugEnabled()) {
            _log.debug("Loading configuration file: " + configFileName);
        }
        /* First try as if it is a single configuration file */
        HierarchicalConfiguration generalConfig = new XMLConfiguration(configFileName);
        /*
         * If the first tag is additional, then this is a combined
         * configuration
         * that needs to be loaded in a specific way.
         */
        if (generalConfig.configurationsAt("additional").size() > 0) {
            DefaultConfigurationBuilder dcb = new DefaultConfigurationBuilder();
            dcb.setFileName(configFileName);
            generalConfig = (HierarchicalConfiguration) dcb.getConfiguration(true)
                    .getConfiguration(DefaultConfigurationBuilder.ADDITIONAL_NAME);
        }
        generalConfig.setExpressionEngine(new XPathExpressionEngine());
        return generalConfig;
    } catch (ConfigurationException e) {
        throw new LegStarConfigurationException(e);
    }
}

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

/**
 * /*w  w w. j  a v  a2  s.  c o m*/
 * @param hc
 * @throws EMPIException
 */
private void loadFieldConfigs(HierarchicalConfiguration hc) throws EMPIException {
    // Get field configurations.
    List fields = hc.configurationsAt(FIELDS);
    for (Iterator it = fields.iterator(); it.hasNext();) {
        HierarchicalConfiguration hcField = (HierarchicalConfiguration) it.next();
        FieldConfig fieldConfig = new FieldConfig();
        fieldConfig.load(hcField, this);
        // Keep track of field configurations (in hash map).
        fieldConfigs.put(fieldConfig.getName(), fieldConfig);
    }
}

From source file:net.datenwerke.sandbox.util.SandboxParser.java

protected void configurePermissions(SandboxContext set, HierarchicalConfiguration rs) {
    for (HierarchicalConfiguration perm : rs.configurationsAt("permission.whitelist.entry")) {
        String type = perm.getString("type");
        String pName = perm.getString("name");
        String actions = perm.getString("actions");

        Collection<StackEntry> entries = new HashSet<StackEntry>();

        for (HierarchicalConfiguration stack : perm.configurationsAt("stack.check")) {
            StackEntry entry = getStackEntry(stack);
            entries.add(entry);/*from w  w w.j a  v  a 2s  .c  o  m*/
        }

        SecurityPermission wp = new SecurityPermission(type, pName, actions, entries);

        set.addSecurityPermission(AccessType.PERMIT, wp);
    }

    for (HierarchicalConfiguration perm : rs.configurationsAt("permission.blacklist.entry")) {
        String type = perm.getString("type");
        String pName = perm.getString("name", null);
        String actions = perm.getString("actions", null);

        Collection<StackEntry> entries = new HashSet<StackEntry>();

        for (HierarchicalConfiguration stack : perm.configurationsAt("stack.check")) {
            StackEntry entry = getStackEntry(stack);
            entries.add(entry);
        }

        SecurityPermission wp = new SecurityPermission(type,
                null != pName && "".equals(pName.trim()) ? null : pName,
                null != actions && "".equals(actions.trim()) ? null : actions, entries);

        set.addSecurityPermission(AccessType.DENY, wp);
    }
}

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

/**
 *
 * @param hc//from ww  w.j  a  v  a 2 s  .c o  m
 * @throws EMPIException
 */
private void loadIdentitySources(HierarchicalConfiguration hc) throws EMPIException {

    // Get identity source(s) configurations.
    List identitySources = hc.configurationsAt(IDENTITY_SOURCE_CONFIGS);
    for (Iterator it = identitySources.iterator(); it.hasNext();) {
        HierarchicalConfiguration hcIdentitySource = (HierarchicalConfiguration) it.next();
        IdentitySourceConfig identitySourceConfig = new IdentitySourceConfig();
        identitySourceConfig.load(hcIdentitySource, this);
        identitySourceConfigs.put(identitySourceConfig.getDeviceId(), identitySourceConfig);
    }
}

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

/**
 *
 * @param hc/*from ww  w . j av a  2  s . c  o m*/
 */
private void loadFunctionConfigs(HierarchicalConfiguration hc) {

    // Get transform function configurations.
    List transformFunctions = hc.configurationsAt(TRANSFORM_FUNCTIONS);
    for (Iterator it = transformFunctions.iterator(); it.hasNext();) {
        HierarchicalConfiguration hcTransformFunction = (HierarchicalConfiguration) it.next();
        TransformFunctionConfig transformFunctionConfig = new TransformFunctionConfig();
        try {
            transformFunctionConfig.load(hcTransformFunction, this);
            // Keep track of transform function configurations (in hash map).
            transformFunctionConfigs.put(transformFunctionConfig.getName(), transformFunctionConfig);
        } catch (EMPIException ex) {
            // FIXME? Keep processing
        }
    }

    // Get distance function configurations.
    List distanceFunctions = hc.configurationsAt(DISTANCE_FUNCTIONS);
    for (Iterator it = distanceFunctions.iterator(); it.hasNext();) {
        HierarchicalConfiguration hcDistanceFunction = (HierarchicalConfiguration) it.next();
        DistanceFunctionConfig distanceFunctionConfig = new DistanceFunctionConfig();
        try {
            distanceFunctionConfig.load(hcDistanceFunction, this);
            // Keep track of distance function configurations (in hash map).
            distanceFunctionConfigs.put(distanceFunctionConfig.getName(), distanceFunctionConfig);
        } catch (EMPIException ex) {
            // FIXME? Keep processing
        }
    }
}

From source file:com.graphhopper.jsprit.core.algorithm.io.VehicleRoutingAlgorithms.java

private static VehicleRoutingAlgorithm readAndCreateAlgorithm(final VehicleRoutingProblem vrp,
        XMLConfiguration config, int nuOfThreads, final SolutionCostCalculator solutionCostCalculator,
        final StateManager stateManager, ConstraintManager constraintManager,
        boolean addDefaultCostCalculators) {
    // map to store constructed modules
    TypedMap definedClasses = new TypedMap();

    // algorithm listeners
    Set<PrioritizedVRAListener> algorithmListeners = new HashSet<PrioritizedVRAListener>();

    // insertion listeners
    List<InsertionListener> insertionListeners = new ArrayList<InsertionListener>();

    //threading//from  w w w . java2  s . co  m
    final ExecutorService executorService;
    if (nuOfThreads > 0) {
        log.debug("setup executor-service with " + nuOfThreads + " threads");
        executorService = Executors.newFixedThreadPool(nuOfThreads);
        algorithmListeners.add(new PrioritizedVRAListener(Priority.LOW, new AlgorithmEndsListener() {

            @Override
            public void informAlgorithmEnds(VehicleRoutingProblem problem,
                    Collection<VehicleRoutingProblemSolution> solutions) {
                log.debug("shutdown executor-service");
                executorService.shutdown();
            }
        }));
        Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {

            @Override
            public void uncaughtException(Thread arg0, Throwable arg1) {
                System.err.println(arg1.toString());
            }
        });
        Runtime.getRuntime().addShutdownHook(new Thread() {
            public void run() {
                if (!executorService.isShutdown()) {
                    System.err.println("shutdowHook shuts down executorService");
                    executorService.shutdown();
                }
            }
        });
    } else
        executorService = null;

    //create fleetmanager
    final VehicleFleetManager vehicleFleetManager = createFleetManager(vrp);

    String switchString = config.getString("construction.insertion.allowVehicleSwitch");
    final boolean switchAllowed;
    if (switchString != null) {
        switchAllowed = Boolean.parseBoolean(switchString);
    } else
        switchAllowed = true;
    ActivityTimeTracker.ActivityPolicy activityPolicy;
    if (stateManager.timeWindowUpdateIsActivated()) {
        UpdateVehicleDependentPracticalTimeWindows timeWindowUpdater = new UpdateVehicleDependentPracticalTimeWindows(
                stateManager, vrp.getTransportCosts(), vrp.getActivityCosts());
        timeWindowUpdater
                .setVehiclesToUpdate(new UpdateVehicleDependentPracticalTimeWindows.VehiclesToUpdate() {
                    Map<VehicleTypeKey, Vehicle> uniqueTypes = new HashMap<VehicleTypeKey, Vehicle>();

                    @Override
                    public Collection<Vehicle> get(VehicleRoute vehicleRoute) {
                        if (uniqueTypes.isEmpty()) {
                            for (Vehicle v : vrp.getVehicles()) {
                                if (!uniqueTypes.containsKey(v.getVehicleTypeIdentifier())) {
                                    uniqueTypes.put(v.getVehicleTypeIdentifier(), v);
                                }
                            }
                        }
                        Collection<Vehicle> vehicles = new ArrayList<Vehicle>();
                        vehicles.addAll(uniqueTypes.values());
                        return vehicles;
                    }
                });
        stateManager.addStateUpdater(timeWindowUpdater);
        activityPolicy = ActivityTimeTracker.ActivityPolicy.AS_SOON_AS_TIME_WINDOW_OPENS;
    } else {
        activityPolicy = ActivityTimeTracker.ActivityPolicy.AS_SOON_AS_ARRIVED;
    }
    stateManager.addStateUpdater(
            new UpdateActivityTimes(vrp.getTransportCosts(), activityPolicy, vrp.getActivityCosts()));
    stateManager.addStateUpdater(new UpdateVariableCosts(vrp.getActivityCosts(), vrp.getTransportCosts(),
            stateManager, activityPolicy));

    final SolutionCostCalculator costCalculator;
    if (solutionCostCalculator == null)
        costCalculator = getDefaultCostCalculator(stateManager);
    else
        costCalculator = solutionCostCalculator;

    PrettyAlgorithmBuilder prettyAlgorithmBuilder = PrettyAlgorithmBuilder.newInstance(vrp, vehicleFleetManager,
            stateManager, constraintManager);
    //construct initial solution creator
    final InsertionStrategy initialInsertionStrategy = createInitialSolution(config, vrp, vehicleFleetManager,
            stateManager, algorithmListeners, definedClasses, executorService, nuOfThreads, costCalculator,
            constraintManager, addDefaultCostCalculators);
    if (initialInsertionStrategy != null)
        prettyAlgorithmBuilder.constructInitialSolutionWith(initialInsertionStrategy, costCalculator);

    //construct algorithm, i.e. search-strategies and its modules
    int solutionMemory = config.getInt("strategy.memory");
    List<HierarchicalConfiguration> strategyConfigs = config
            .configurationsAt("strategy.searchStrategies.searchStrategy");
    for (HierarchicalConfiguration strategyConfig : strategyConfigs) {
        String name = getName(strategyConfig);
        SolutionAcceptor acceptor = getAcceptor(strategyConfig, vrp, algorithmListeners, definedClasses,
                solutionMemory);
        SolutionSelector selector = getSelector(strategyConfig, vrp, algorithmListeners, definedClasses);

        SearchStrategy strategy = new SearchStrategy(name, selector, acceptor, costCalculator);
        strategy.setName(name);
        List<HierarchicalConfiguration> modulesConfig = strategyConfig.configurationsAt("modules.module");
        for (HierarchicalConfiguration moduleConfig : modulesConfig) {
            SearchStrategyModule module = buildModule(moduleConfig, vrp, vehicleFleetManager, stateManager,
                    algorithmListeners, definedClasses, executorService, nuOfThreads, constraintManager,
                    addDefaultCostCalculators);
            strategy.addModule(module);
        }
        prettyAlgorithmBuilder.withStrategy(strategy, strategyConfig.getDouble("probability"));
    }

    //construct algorithm
    VehicleRoutingAlgorithm metaAlgorithm = prettyAlgorithmBuilder.build();
    int maxIterations = getMaxIterations(config);
    if (maxIterations > -1)
        metaAlgorithm.setMaxIterations(maxIterations);

    //define prematureBreak
    PrematureAlgorithmTermination prematureAlgorithmTermination = getPrematureTermination(config,
            algorithmListeners);
    if (prematureAlgorithmTermination != null)
        metaAlgorithm.setPrematureAlgorithmTermination(prematureAlgorithmTermination);
    else {
        List<HierarchicalConfiguration> terminationCriteria = config
                .configurationsAt("terminationCriteria.termination");
        for (HierarchicalConfiguration terminationConfig : terminationCriteria) {
            PrematureAlgorithmTermination termination = getTerminationCriterion(terminationConfig,
                    algorithmListeners);
            if (termination != null)
                metaAlgorithm.addTerminationCriterion(termination);
        }
    }
    for (PrioritizedVRAListener l : algorithmListeners) {
        metaAlgorithm.getAlgorithmListeners().add(l);
    }
    return metaAlgorithm;
}