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

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

Introduction

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

Prototype

public void addNodes(String key, Collection nodes) 

Source Link

Document

Adds a collection of nodes at the specified position of the configuration tree.

Usage

From source file:com.vmware.qe.framework.datadriven.impl.supplier.CSVDataSupplier.java

public HierarchicalConfiguration getData(final String className, HierarchicalConfiguration context) {
    HierarchicalConfiguration testData = null;
    try {//w ww. j  a  v  a  2s  . co  m
        Class<?> clazz = Class.forName(className);
        String dataFilePath = null;
        URL dataFileURL = null;
        String dataFileName = context.getString("supplier.dataFile", null);
        log.debug("Checking the data file in argument...");
        if (dataFileName == null || dataFileName.equals("")) {
            log.debug("Data file not given in argument..Using DataFileFinder..");
            dataFilePath = DDUtils.findDataFile(className, ".csv", context);
        } else {
            log.debug("Got data file in argument");
            dataFilePath = dataFileName;
        }
        log.debug("Data file path: " + dataFilePath);
        if (dataFilePath == null) {
            return null;// No data found, hence it's a normal test case.
        }
        dataFileURL = clazz.getResource(dataFilePath);
        CsvMapReader reader = new CsvMapReader(new InputStreamReader(dataFileURL.openStream()),
                CsvPreference.STANDARD_PREFERENCE);
        String list[] = reader.getHeader(true);
        Map<String, String> map = null;
        testData = new HierarchicalConfiguration();
        int i = 0;
        while ((map = reader.read(list)) != null) {
            String testId = null;
            HierarchicalConfiguration newData = new HierarchicalConfiguration();
            Set<Map.Entry<String, String>> entrySet = map.entrySet();
            for (Map.Entry<String, String> entry : entrySet) {
                if (entry.getKey().equals("test-id")) {
                    newData.addProperty("[@test-id]", entry.getValue());
                    testId = entry.getValue();
                    continue;
                }
                newData.addProperty(entry.getKey(), entry.getValue());
            }
            testData.addNodes("data(" + i + ")", newData.getRootNode().getChildren());
            if (testId != null) {
                testData.addProperty("data(" + i + ")[@test-id]", testId);
            }
            i++;
        }
        reader.close();
    } catch (Exception ex) {
        throw new DDException("Error in loading data file", ex);
    }
    return testData;
}

From source file:org.midonet.brain.BrainTestUtils.java

/**
 * Fills the configuration with some default values for tests. Allows a
 * zkRoot to be defined by the user./*from  ww  w  . jav  a2s  .c o  m*/
 */
public static void fillTestConfig(HierarchicalConfiguration cfg) {
    cfg.setProperty("midolman.midolman_root_key", zkRoot);
    cfg.setProperty("cassandra.servers", "localhost:9171");
    cfg.addNodes(ZookeeperConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("midolman_root_key", zkRoot)));
}

From source file:org.midonet.cluster.data.l4lb.PoolHealthMonitorMappingsTest.java

HierarchicalConfiguration fillConfig(HierarchicalConfiguration config) {
    config.addNodes(ZookeeperConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("midolman_root_key", zkRoot)));
    return config;
}

From source file:org.midonet.cluster.LocalClientImplTest.java

HierarchicalConfiguration fillConfig(HierarchicalConfiguration config) {
    config.addNodes(ZookeeperConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("midolman_root_key", zkRoot)));
    return config;

}

From source file:org.midonet.config.TestHostIdGenerator.java

@Before
public void setUp() throws Exception {
    final HierarchicalConfiguration fakeConfiguration = new HierarchicalConfiguration();
    fakeConfiguration.addNodes(HostConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("properties_file", localPropertiesFile)));
    final HierarchicalConfiguration configuration = new HierarchicalConfiguration();

    // this configuration will use the default hostid properties location.
    configuration.addNodes(HostConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node(uuidPropertyName, hostId1)));
    propFile = new File(localPropertiesFile);
    config = ConfigProvider.providerForIniConfig(configuration).getConfig(HostConfig.class);
    configFake = ConfigProvider.providerForIniConfig(fakeConfiguration).getConfig(HostConfig.class);

    Properties properties = new Properties();
    properties.setProperty(uuidPropertyName, hostId2);
    properties.store(new FileOutputStream(localPropertiesFile), null);
}

From source file:org.midonet.midolman.host.updater.DefaultInterfaceDataUpdaterTest.java

@Before
public void setUp() throws Exception {

    final Directory cleanDirectory = new MockDirectory();
    pathManager = new ZkPathManager("");
    cleanDirectory.add("/hosts", null, CreateMode.PERSISTENT);
    cleanDirectory.add(pathManager.getWriteVersionPath(), DataWriteVersion.CURRENT.getBytes(),
            CreateMode.PERSISTENT);/*from   w w  w  .j  ava  2  s. c o m*/

    final HierarchicalConfiguration configuration = new HierarchicalConfiguration();
    configuration.addNodes(ZookeeperConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("midolman_root_key", "")));

    Injector injector = Guice.createInjector(new VersionModule(), new SerializationModule(),
            new ConfigProviderModule(configuration), new MockFlowStateStorageModule(), new MockDatapathModule(),
            new MockZookeeperConnectionModule(), new HostModule(), new ClusterClientModule(),
            new MockMidolmanModule(),
            new TestableMidolmanActorsModule(JavaConversions.mapAsScalaMap(new HashMap<String, TestKit>()),
                    JavaConversions.mapAsScalaMap(new HashMap<String, TestActorRef<Actor>>()),
                    Clock.defaultClock()),
            new ResourceProtectionModule(), new InterfaceScannerModule());

    directory = injector.getInstance(Directory.class);
    directory.add("/hosts", null, CreateMode.PERSISTENT);
    directory.add(pathManager.getWriteVersionPath(), DataWriteVersion.CURRENT.getBytes(),
            CreateMode.PERSISTENT);

    updater = injector.getInstance(InterfaceDataUpdater.class);
    hostManager = injector.getInstance(HostZkManager.class);

    hostID = UUID.randomUUID();
    metadata = new HostDirectory.Metadata();

    metadata.setName("test");
    metadata.setAddresses(new InetAddress[] {});

    hostManager.createHost(hostID, new HostDirectory.Metadata());
}

From source file:org.midonet.midolman.state.ZookeeperTest.java

private static HierarchicalConfiguration getConfig(String zkRoot) {
    HierarchicalConfiguration config = new HierarchicalConfiguration();
    config.addNodes(ZookeeperConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("curator_enabled", true)));
    config.addNodes(ZookeeperConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("midolman_root_key", zkRoot)));
    config.addNodes(ZookeeperConfig.GROUP_NAME,
            Arrays.asList(new HierarchicalConfiguration.Node("zookeeper_hosts", "127.0.0.1:" + ZK_PORT)));

    return config;
}

From source file:org.onosproject.driver.netconf.XmlConfigParser.java

protected static String createControllersConfig(HierarchicalConfiguration cfg,
        HierarchicalConfiguration actualCfg, String target, String netconfOperation, String controllerOperation,
        List<ControllerInfo> controllers) {
    //cfg.getKeys().forEachRemaining(key -> System.out.println(key));
    cfg.setProperty("edit-config.target", target);
    cfg.setProperty("edit-config.default-operation", netconfOperation);
    cfg.setProperty("edit-config.config.capable-switch.id", parseCapableSwitchId(actualCfg));
    cfg.setProperty("edit-config.config.capable-switch." + "logical-switches.switch.id",
            parseSwitchId(actualCfg));//from   w ww .  java 2  s .co  m
    List<ConfigurationNode> newControllers = new ArrayList<>();
    for (ControllerInfo ci : controllers) {
        XMLConfiguration controller = new XMLConfiguration();
        controller.setRoot(new HierarchicalConfiguration.Node("controller"));
        String id = ci.type() + ":" + ci.ip() + ":" + ci.port();
        controller.setProperty("id", id);
        controller.setProperty("ip-address", ci.ip());
        controller.setProperty("port", ci.port());
        controller.setProperty("protocol", ci.type());
        newControllers.add(controller.getRootNode());
    }
    cfg.addNodes("edit-config.config.capable-switch.logical-switches." + "switch.controllers", newControllers);
    XMLConfiguration editcfg = (XMLConfiguration) cfg;
    StringWriter stringWriter = new StringWriter();
    try {
        editcfg.save(stringWriter);
    } catch (ConfigurationException e) {
        e.printStackTrace();
    }
    String s = stringWriter.toString().replaceAll("<controller>",
            "<controller nc:operation=\"" + controllerOperation + "\">");
    s = s.replace("<target>" + target + "</target>", "<target><" + target + "/></target>");
    return s;

}

From source file:org.onosproject.driver.XmlConfigParser.java

public static String createControllersConfig(HierarchicalConfiguration cfg, HierarchicalConfiguration actualCfg,
        String target, String netconfOperation, String controllerOperation, List<ControllerInfo> controllers) {
    //cfg.getKeys().forEachRemaining(key -> System.out.println(key));
    cfg.setProperty("edit-config.target", target);
    cfg.setProperty("edit-config.default-operation", netconfOperation);
    cfg.setProperty("edit-config.config.capable-switch.id", parseCapableSwitchId(actualCfg));
    cfg.setProperty("edit-config.config.capable-switch." + "logical-switches.switch.id",
            parseSwitchId(actualCfg));/*from  w ww. ja  va  2  s  .c  o m*/
    List<ConfigurationNode> newControllers = new ArrayList<>();
    for (ControllerInfo ci : controllers) {
        XMLConfiguration controller = new XMLConfiguration();
        controller.setRoot(new HierarchicalConfiguration.Node("controller"));
        String id = ci.type() + ":" + ci.ip() + ":" + ci.port();
        controller.setProperty("id", id);
        controller.setProperty("ip-address", ci.ip());
        controller.setProperty("port", ci.port());
        controller.setProperty("protocol", ci.type());
        newControllers.add(controller.getRootNode());
    }
    cfg.addNodes("edit-config.config.capable-switch.logical-switches." + "switch.controllers", newControllers);
    XMLConfiguration editcfg = (XMLConfiguration) cfg;
    StringWriter stringWriter = new StringWriter();
    try {
        editcfg.save(stringWriter);
    } catch (ConfigurationException e) {
        log.error("createControllersConfig()", e);
    }
    String s = stringWriter.toString().replaceAll("<controller>",
            "<controller nc:operation=\"" + controllerOperation + "\">");
    s = s.replace("<target>" + target + "</target>", "<target><" + target + "/></target>");
    return s;

}

From source file:org.onosproject.drivers.fujitsu.FujitsuVoltControllerConfig.java

/**
 * Forms XML string to change controller information.
 *
 * @param cfg a hierarchical configuration
 * @param target the type of configuration
 * @param netconfOperation operation type
 * @param controllers list of controllers
 * @return XML string/*from  w ww . ja v a  2 s  . co m*/
 */
private String createVoltControllersConfig(HierarchicalConfiguration cfg, String target,
        String netconfOperation, List<ControllerInfo> controllers) {
    XMLConfiguration editcfg = null;

    cfg.setProperty(EDIT_CONFIG_TG, target);
    cfg.setProperty(EDIT_CONFIG_DO, netconfOperation);

    List<ConfigurationNode> newControllers = new ArrayList<>();
    for (ControllerInfo ci : controllers) {
        XMLConfiguration controller = new XMLConfiguration();
        controller.setRoot(new HierarchicalConfiguration.Node(OF_CONTROLLER));
        controller.setProperty(OFCONFIG_ID, ci.annotations().value(OFCONFIG_ID));
        controller.setProperty(CONTROLLER_INFO_ID, ci.annotations().value(OFCONFIG_ID));
        controller.setProperty(CONTROLLER_INFO_IP, ci.ip());
        controller.setProperty(CONTROLLER_INFO_PORT, ci.port());
        controller.setProperty(CONTROLLER_INFO_PROTOCOL, ci.type());
        newControllers.add(controller.getRootNode());
    }
    cfg.addNodes(VOLT_EDITCONFIG, newControllers);

    try {
        editcfg = (XMLConfiguration) cfg;
    } catch (ClassCastException e) {
        e.printStackTrace();
    }
    StringWriter stringWriter = new StringWriter();
    try {
        editcfg.save(stringWriter);
    } catch (ConfigurationException e) {
        e.printStackTrace();
    }
    String s = stringWriter.toString();
    String fromStr = buildStartTag(TARGET, false) + target + buildEndTag(TARGET, false);
    String toStr = buildStartTag(TARGET, false) + buildEmptyTag(target, false) + buildEndTag(TARGET, false);
    s = s.replace(fromStr, toStr);
    return s;
}