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:org.topology.bgp_ls.config.nodes.impl.CapabilitiesParser.java

public Capabilities parseConfig(HierarchicalConfiguration hierarchicalConfiguration)
        throws ConfigurationException {
    CapabilitiesList caps = new CapabilitiesList();

    int as4Number = hierarchicalConfiguration.getInt("LargeAutonomousSystem[@local]", -1);

    if (as4Number > 0) {
        if (hierarchicalConfiguration.getBoolean("LargeAutonomousSystem[@optional]", false))
            caps.addOptionalCapability(new AutonomousSystem4Capability(as4Number));
        else/*from  w  ww  . j  a v a2s.co m*/
            caps.addRequiredCapability(new AutonomousSystem4Capability(as4Number));
    }

    if (hierarchicalConfiguration.containsKey("RouteRefresh")) {
        if (hierarchicalConfiguration.getBoolean("RouteRefresh[@optional]", false))
            caps.addOptionalCapability(new RouteRefreshCapability());
        else
            caps.addRequiredCapability(new RouteRefreshCapability());
    }
    parseMultiprotocolCapabilities(hierarchicalConfiguration.configurationsAt("MultiProtocol"), caps);
    parseOutboundRouteFilteringCapabilities(
            hierarchicalConfiguration.configurationsAt("OutboundRouteFiltering"), caps);

    return caps;
}

From source file:org.topology.bgp_ls.config.nodes.impl.CapabilitiesParser.java

private void parseOutboundRouteFilteringCapabilities(List<HierarchicalConfiguration> capabilityConfigs,
        CapabilitiesList caps) throws ConfigurationException {
    for (HierarchicalConfiguration config : capabilityConfigs) {
        try {//from  www  . j  ava2  s . c  o  m
            Map<ORFType, ORFSendReceive> filters = new HashMap<ORFType, ORFSendReceive>();

            for (HierarchicalConfiguration entryConfig : config.configurationsAt("Entry")) {
                filters.put(ORFType.fromString(entryConfig.getString("[@type]")),
                        ORFSendReceive.fromString(entryConfig.getString("[@direction]")));
            }

            if (filters.size() == 0)
                throw new ConfigurationException("filter type/direction pair required");

            OutboundRouteFilteringCapability orfc = new OutboundRouteFilteringCapability(
                    AddressFamily.fromString(config.getString("[@addressFamily]")),
                    SubsequentAddressFamily.fromString(config.getString("[@subsequentAddressFamily]")),
                    filters);

            if (config.getBoolean("[@optional]", false))
                caps.addOptionalCapability(orfc);
            else
                caps.addRequiredCapability(orfc);
        } catch (IllegalArgumentException e) {
            throw new ConfigurationException(e);
        }
    }
}

From source file:org.topology.bgp_ls.config.nodes.impl.HttpServerConfigurationParser.java

public ServerConfiguration parseConfig(HierarchicalConfiguration config) throws ConfigurationException {
    HttpServerConfigurationImpl result = new HttpServerConfigurationImpl();
    List<HierarchicalConfiguration> serverConfig = config.configurationsAt("Server");

    if (serverConfig.size() == 1)
        result.setServerConfiguration(super.parseConfig(serverConfig.get(0)));
    else if (serverConfig.size() > 1)
        throw new ConfigurationException("duplicate <Server/> element");
    else//  ww w.  j ava 2  s  .co m
        result.setServerConfiguration(new ServerConfigurationImpl());

    return result;
}

From source file:org.topology.bgp_ls.config.nodes.impl.PeerConfigurationParser.java

public PeerConfiguration parseConfiguration(HierarchicalConfiguration config) throws ConfigurationException {
    PeerConfigurationImpl peerConfig = new PeerConfigurationImpl();
    List<HierarchicalConfiguration> clientConfigs = config.configurationsAt("Client");
    List<HierarchicalConfiguration> capabilityConfigs = config.configurationsAt("Capabilities");

    try {//from   w  w w . j  a  v  a  2s . com
        peerConfig.setPeerName(config.getString("[@name]"));
    } catch (NoSuchElementException e) {
        throw new ConfigurationException("peer name not set", e);
    }

    if (clientConfigs.size() > 1) {
        throw new ConfigurationException("duplicate <Client/> element");
    } else if (clientConfigs.size() == 0) {
        throw new ConfigurationException("missing <Client/> element");
    } else
        peerConfig.setClientConfig(clientConfigurationParser.parseConfig(clientConfigs.get(0)));

    if (capabilityConfigs.size() > 1) {
        throw new ConfigurationException("duplicate <Capabilities/> element");
    } else if (capabilityConfigs.size() == 1)
        peerConfig.setCapabilities(capabilityParser.parseConfig(capabilityConfigs.get(0)));

    try {
        peerConfig.setLocalAS(config.getInt("AutonomousSystem[@local]"));
    } catch (NoSuchElementException e) {
        throw new ConfigurationException("local AS number not given", e);
    }
    try {
        peerConfig.setRemoteAS(config.getInt("AutonomousSystem[@remote]"));
    } catch (NoSuchElementException e) {
        throw new ConfigurationException("remote AS number not given", e);
    }

    try {
        long identifier = config.getLong("BgpIdentifier[@local]");

        if (!isValidBgpIdentifier(identifier))
            throw new ConfigurationException("Invalid local BGP identifier: " + identifier);

        peerConfig.setLocalBgpIdentifier(identifier);
    } catch (NoSuchElementException e) {
        throw new ConfigurationException("local BGP identifier not given", e);
    }
    try {
        long identifier;
        String idString = config.getString("BgpIdentifier[@remote]");
        try {
            InetAddress addr = Inet4Address.getByName(idString);
            byte[] idArray = addr.getAddress();
            identifier = ((long) idArray[3] & 0xFF) | (((long) idArray[2] & 0xFF) << 8)
                    | (((long) idArray[1] & 0xFF) << 16) | (((long) idArray[0] & 0xFF) << 24);

        } catch (Exception e) {
            identifier = Long.parseLong(idString);
        }

        if (!isValidBgpIdentifier(identifier))
            throw new ConfigurationException("Invalid remote BGP identifier: " + identifier);

        peerConfig.setRemoteBgpIdentifier(identifier);
    } catch (NoSuchElementException e) {
        throw new ConfigurationException("remote BGP identifier not given", e);
    }
    peerConfig.setHoldTime(config.getInt("Timers[@holdTime]", 0));
    peerConfig.setIdleHoldTime(config.getInt("Timers[@idleHoldTime]", 0));
    peerConfig.setDelayOpenTime(config.getInt("Timers[@delayOpenTime]", 0));
    peerConfig.setConnectRetryTime(config.getInt("Timers[@connectRetryTime]", 0));
    peerConfig.setAutomaticStartInterval(config.getInt("Timers[@automaticStartInterval]", 0));

    peerConfig.setAllowAutomaticStart(config.getBoolean("Options[@allowAutomaticStart]", true));
    peerConfig.setAllowAutomaticStop(config.getBoolean("Options[@allowAutomaticStop]", false));
    peerConfig.setDampPeerOscillation(config.getBoolean("Options[@dampPeerOscillation]", false));
    peerConfig.setCollisionDetectEstablishedState(
            config.getBoolean("Options[@collisionDetectEstablishedState]", false));
    peerConfig.setDelayOpen(config.getBoolean("Options[@delayOpen]", false));
    peerConfig.setPassiveTcpEstablishment(config.getBoolean("Options[@passiveTcpEstablishment]", false));
    peerConfig.setHoldTimerDisabled(config.getBoolean("Options[@holdTimerDisabled]", false));

    return peerConfig;
}

From source file:org.topology.bgp_ls.config.nodes.impl.RoutingFilterConfigurationParser.java

RoutingFilterConfiguration parseConfiguration(HierarchicalConfiguration config) throws ConfigurationException {
    List<HierarchicalConfiguration> prefixList = config.configurationsAt("Prefixes");
    RoutingFilterConfigurationImpl rfc = null;

    if (prefixList.size() > 1)
        throw new ConfigurationException("more then one subnode specified");

    if (prefixList.size() == 1)
        rfc = parsePrefixFilter(prefixList.get(0));

    if (rfc == null)
        throw new ConfigurationException("no filter type specified");

    rfc.setName(config.getString("[@name]", ""));

    return rfc;//from  www .ja v  a  2  s  .  c  o  m
}

From source file:org.topology.bgp_ls.config.nodes.impl.RoutingFilterConfigurationParser.java

private RoutingFilterConfigurationImpl parsePrefixFilter(HierarchicalConfiguration config)
        throws ConfigurationException {
    PrefixRoutingFilterConfigurationImpl prfc = new PrefixRoutingFilterConfigurationImpl();

    for (HierarchicalConfiguration subConfig : config.configurationsAt("Prefix")) {
        String rep = subConfig.getString("[@value]");

        if (StringUtils.isBlank(rep))
            throw new ConfigurationException("empty prefix specified");

        prfc.getFilterPrefixes().add(nlriParser.parseNlri(rep));
    }//from  w ww  .  j a  va2s. c  o m

    return prfc;
}

From source file:org.zaproxy.zap.control.BaseZapAddOnXmlData.java

private Dependencies readDependencies(HierarchicalConfiguration currentNode, String element) {
    List<HierarchicalConfiguration> dependencies = currentNode.configurationsAt(DEPENDENCIES_ELEMENT);
    if (dependencies.isEmpty()) {
        return null;
    }//from w ww .  j  a v  a2 s.  co  m

    if (dependencies.size() > 1) {
        malformedFile("expected at most one \"dependencies\" element for \"" + element + "\" element, found "
                + dependencies.size() + ".");
    }

    HierarchicalConfiguration node = dependencies.get(0);
    String javaVersion = node.getString(DEPENDENCIES_JAVA_VERSION_ELEMENT, "");
    List<HierarchicalConfiguration> fields = node.configurationsAt(DEPENDENCIES_ADDONS_ALL_ELEMENTS);
    if (fields.isEmpty()) {
        return new Dependencies(javaVersion, Collections.<AddOnDep>emptyList());
    }

    List<AddOnDep> addOns = readAddOnDependencies(fields);
    return new Dependencies(javaVersion, addOns);
}

From source file:org.zaproxy.zap.control.BaseZapAddOnXmlData.java

private List<ExtensionWithDeps> readExtensionsWithDeps(HierarchicalConfiguration currentNode) {
    List<HierarchicalConfiguration> extensions = currentNode.configurationsAt(EXTENSIONS_V1_ALL_ELEMENTS);
    if (extensions.isEmpty()) {
        return Collections.emptyList();
    }/*  www  .j  av  a  2s  . c  o  m*/

    List<ExtensionWithDeps> extensionsWithDeps = new ArrayList<>(extensions.size());
    for (HierarchicalConfiguration extensionNode : extensions) {
        String classname = extensionNode.getString(EXTENSION_CLASS_NAME, "");
        if (classname.isEmpty()) {
            malformedFile("a v1 extension has empty \"" + EXTENSION_CLASS_NAME + "\".");
        }

        List<HierarchicalConfiguration> fields = extensionNode.configurationsAt(EXTENSION_DEPENDENCIES);
        if (fields.isEmpty()) {
            // Extension v1 without dependencies, handle as normal extension.
            if (this.extensions.isEmpty()) {
                // Empty thus Collections.emptyList(), create and use a mutable list.
                this.extensions = new ArrayList<>(5);
            }
            this.extensions.add(classname);
            continue;
        }

        List<AddOnDep> addOnDeps = readAddOnDependencies(fields);
        AddOnClassnames classnames = readAddOnClassnames(extensionNode);
        extensionsWithDeps.add(new ExtensionWithDeps(classname, addOnDeps, classnames));
    }

    return extensionsWithDeps;
}

From source file:uk.ac.ebi.arrayexpress.components.DbConnectionPool.java

public void initialize() throws Exception {
    HierarchicalConfiguration connsConf = (HierarchicalConfiguration) getPreferences()
            .getConfSubset("bs.db.connections");
    if (null != connsConf) {
        List conns = connsConf.configurationsAt("connection");
        for (Object conn : conns) {
            HierarchicalConfiguration connConf = (HierarchicalConfiguration) conn;
            String connName = connConf.getString("name");
            logger.debug("Configuring pool for connection [{}]", connName);
            try {
                Class.forName(connConf.getString("driver"));
            } catch (ClassNotFoundException x) {
                logger.error("Unable to load driver [{}] for connection [{}]", connConf.getString("driver"),
                        connName);/*  w w  w  .  j  a v  a2s.  c  om*/
            }

            BoneCPConfig cpConf = new BoneCPConfig();
            cpConf.setJdbcUrl(connConf.getString("url"));
            cpConf.setUsername(connConf.getString("username"));
            cpConf.setPassword(connConf.getString("password"));
            cpConf.setConnectionTestStatement(connConf.getString("testStatement"));
            cpConf.setMinConnectionsPerPartition(connConf.getInt("minConnections"));
            cpConf.setMaxConnectionsPerPartition(connConf.getInt("maxConnections"));
            cpConf.setPartitionCount(1);
            this.configs.put(connName, cpConf);
        }
    }
}

From source file:uk.ac.ebi.arrayexpress.utils.saxon.search.Configuration.java

private void readConfiguration(HierarchicalConfiguration config) {
    List indexList = config.configurationsAt("index");

    for (Object conf : indexList) {
        HierarchicalConfiguration indexConfig = (HierarchicalConfiguration) conf;
        String indexId = indexConfig.getString("[@id]");
        this.indicesConfig.put(indexId, indexConfig);
    }/*  w  w w  .j a va2 s .c  om*/
}