Example usage for org.apache.commons.configuration2 HierarchicalConfiguration childConfigurationsAt

List of usage examples for org.apache.commons.configuration2 HierarchicalConfiguration childConfigurationsAt

Introduction

In this page you can find the example usage for org.apache.commons.configuration2 HierarchicalConfiguration childConfigurationsAt.

Prototype

List<HierarchicalConfiguration<T>> childConfigurationsAt(String key);

Source Link

Document

Returns a list with sub configurations for all child nodes of the node selected by the given key.

Usage

From source file:nl.minvenj.pef.stream.LiveCapture.java

private static void testPseudonymizationSettings(final XMLConfiguration config)
        throws ConfigurationException, IllegalArgumentException, ClassNotFoundException {
    List<HierarchicalConfiguration<ImmutableNode>> fields = config.configurationsAt("fields.field");
    for (HierarchicalConfiguration field : fields) {
        // Test the name of the field.
        final String constraint = field.getString("constraint");
        final String fieldName = field.getString("name");
        final String algorithmName = field.getString("algorithm.name");
        if ((fieldName == null) || (constraint == null) || (algorithmName == null))
            throw new NoSuchElementException(
                    "Name of the field, constraint and algoritm needs to be set for each field.");
        // Test the constraint.
        if (!Constraints.CONSTRAINT_MAP.containsKey(field.getString("constraint"))) {
            throw new ConfigurationException(
                    field.getString("constraint") + "should be defined in constraints list (Constraints.java)");
        }/*from  w  w  w .  ja  v a  2s.c om*/
        // TODO PEF-78: Test if the fieldName matches with the context.
        // TODO PEF-79: No expression support.
        // Test if the algorithm is part of the configured algorithms.
        List<HierarchicalConfiguration> parameters = field.childConfigurationsAt("algorithm.params");
        List<AlgorithmParameter> parameterList = new ArrayList<>();

        //TODO PEF-81: Create here a specific parameter type.
        for (HierarchicalConfiguration parameter : parameters) {
            parameterList.add(new AlgorithmParameter(parameter.getString("name"), parameter.getString("value"),
                    Class.forName(parameter.getString("type"))));
        }
        final StringBuilder buffer = new StringBuilder();
        if (!testParseValueTransformerConfiguration(TransformerId.valueOf(algorithmName), parameterList,
                buffer)) {
            throw new ConfigurationException(
                    "Error in configuration for algorithm " + algorithmName + " " + buffer.toString());
        }
    }
}

From source file:nl.minvenj.pef.stream.LiveCapture.java

private static FramePseudonymizer initMetalPseudonymizerWith(final XMLConfiguration config)
        throws InvalidKeyException, ClassNotFoundException {
    Processor processor = new Processor();

    List<HierarchicalConfiguration<ImmutableNode>> fields = config.configurationsAt("fields.field");

    for (HierarchicalConfiguration field : fields) {
        List<HierarchicalConfiguration> parameters = field.childConfigurationsAt("algorithm.params");
        List<AlgorithmParameter> parameterList = new ArrayList<>();
        for (HierarchicalConfiguration parameter : parameters) {
            parameterList.add(new AlgorithmParameter(parameter.getString("name"), parameter.getString("value"),
                    Class.forName(parameter.getString("type"))));
        }//from ww  w .jav a2 s  .  c  om
        // Add the transformers
        processor.addTransformer(Constraints.CONSTRAINT_MAP.get(field.getString("constraint")),
                field.getString("name"),
                getParseValueTransformer(
                        ParseValueTransformerFactory.TransformerId.valueOf(field.getString("algorithm.name")),
                        parameterList));
        logger.info("Packets containing " + field.getString("name")
                + " will be pseudonymized based on this constraint: " + field.getString("constraint")
                + ", with this algorithm " + field.getString("algorithm.name"));
    }
    // TODO PEF-43:  Move and change functionality.
    if (config.getBoolean("checksum_reset")) {
        processor.addTransformer(Constraints.IPV4_UDP_DNS, "udpchecksum", new IPv4UDPChecksumCalculator())
                .addTransformer(Constraints.IPV6_UDP_DNS, "udpchecksum", new IPv6UDPChecksumCalculator())
                .addTransformer(Constraints.IPV4_UDP_DNS, "headerchecksum", new IPv4ChecksumCalculator())
                .addTransformer(Constraints.ICMP_DNS, "icmpchecksum", new IPv6UDPChecksumCalculator());
    }
    return new FramePseudonymizer(processor);
}

From source file:org.mobicents.media.server.bootstrap.configuration.XmlConfigurationLoader.java

private static void configureController(HierarchicalConfiguration<ImmutableNode> src,
        MgcpControllerConfiguration dst) {
    // Basic Controller configuration
    dst.setAddress(src.getString("address", MgcpControllerConfiguration.ADDRESS));
    dst.setPort(src.getInt("port", MgcpControllerConfiguration.PORT));
    dst.setPoolSize(src.getInt("poolSize", MgcpControllerConfiguration.POOL_SIZE));
    dst.setConfiguration(src.getString("configuration", MgcpControllerConfiguration.CONFIGURATION));

    // Iterate over endpoint configuration
    List<HierarchicalConfiguration<ImmutableNode>> endpoints = src.childConfigurationsAt("endpoints");
    for (HierarchicalConfiguration<ImmutableNode> endpoint : endpoints) {
        MgcpEndpointConfiguration endpointConfig = new MgcpEndpointConfiguration();
        endpointConfig.setName(endpoint.getString("[@name]"));
        endpointConfig.setClassName(endpoint.getString("[@class]"));
        endpointConfig.setPoolSize(endpoint.getInt("[@poolSize]", MgcpEndpointConfiguration.POOL_SIZE));
        dst.addEndpoint(endpointConfig);
    }//from  w w  w .  j ava 2s .  c  o m
}

From source file:org.mobicents.media.server.bootstrap.configuration.XmlConfigurationLoader.java

private static void configureMedia(HierarchicalConfiguration<ImmutableNode> src, MediaConfiguration dst) {
    // Basic Media configuration
    dst.setTimeout(src.getInt("timeout", MediaConfiguration.TIMEOUT));
    dst.setLowPort(src.getInt("lowPort", MediaConfiguration.LOW_PORT));
    dst.setHighPort(src.getInt("highPort", MediaConfiguration.HIGH_PORT));
    dst.setJitterBufferSize(src.getInt("jitterBuffer[@size]", MediaConfiguration.JITTER_BUFFER_SIZE));

    // Iterate over codec configuration
    List<HierarchicalConfiguration<ImmutableNode>> codecs = src.childConfigurationsAt("codecs");
    for (HierarchicalConfiguration<ImmutableNode> codec : codecs) {
        dst.addCodec(codec.getString("[@name]"));
    }//  w  w w .  jav a2 s  .c o m
}

From source file:org.restcomm.media.bootstrap.configuration.XmlConfigurationLoader.java

private static void configureController(HierarchicalConfiguration<ImmutableNode> src,
        MgcpControllerConfiguration dst) {
    // Basic Controller configuration
    dst.setAddress(src.getString("address", MgcpControllerConfiguration.ADDRESS));
    dst.setPort(src.getInt("port", MgcpControllerConfiguration.PORT));

    // Iterate over endpoint configuration
    List<HierarchicalConfiguration<ImmutableNode>> endpoints = src.childConfigurationsAt("endpoints");
    for (HierarchicalConfiguration<ImmutableNode> endpoint : endpoints) {
        MgcpEndpointConfiguration endpointConfig = new MgcpEndpointConfiguration();
        endpointConfig.setName(endpoint.getString("[@name]"));
        endpointConfig.setRelayType(endpoint.getString("[@relay]", "mixer"));
        dst.addEndpoint(endpointConfig);
    }/* w  w  w. j  a  v a  2 s .com*/
}

From source file:org.restcomm.media.bootstrap.configuration.XmlConfigurationLoader.java

private static void configureMedia(HierarchicalConfiguration<ImmutableNode> src, MediaConfiguration dst) {
    // Basic Media configuration
    dst.setMaxDuration(src.getInt("maxDuration", MediaConfiguration.MAX_DURATION));
    dst.setTimeout(src.getInt("timeout", MediaConfiguration.TIMEOUT));
    dst.setLowPort(src.getInt("lowPort", MediaConfiguration.LOW_PORT));
    dst.setHighPort(src.getInt("highPort", MediaConfiguration.HIGH_PORT));
    dst.setJitterBufferSize(src.getInt("jitterBuffer[@size]", MediaConfiguration.JITTER_BUFFER_SIZE));

    // Iterate over codec configuration
    List<HierarchicalConfiguration<ImmutableNode>> codecs = src.childConfigurationsAt("codecs");
    for (HierarchicalConfiguration<ImmutableNode> codec : codecs) {
        dst.addCodec(codec.getString("[@name]"));
    }/*from w w  w  .  j  a v a  2s  .  c o m*/
}