aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/drivers/src/main/java/org/onosproject/driver/netconf/XmlConfigParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/drivers/src/main/java/org/onosproject/driver/netconf/XmlConfigParser.java')
-rw-r--r--framework/src/onos/drivers/src/main/java/org/onosproject/driver/netconf/XmlConfigParser.java126
1 files changed, 0 insertions, 126 deletions
diff --git a/framework/src/onos/drivers/src/main/java/org/onosproject/driver/netconf/XmlConfigParser.java b/framework/src/onos/drivers/src/main/java/org/onosproject/driver/netconf/XmlConfigParser.java
deleted file mode 100644
index 55826a25..00000000
--- a/framework/src/onos/drivers/src/main/java/org/onosproject/driver/netconf/XmlConfigParser.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.driver.netconf;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
-import org.apache.commons.configuration.tree.ConfigurationNode;
-import org.onlab.packet.IpAddress;
-import org.onosproject.net.behaviour.ControllerInfo;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Parser for Netconf XML configurations and replys.
- */
-final class XmlConfigParser {
- public static final Logger log = LoggerFactory
- .getLogger(XmlConfigParser.class);
-
- private XmlConfigParser() {
- //not called, preventing any allocation
- }
-
-
- protected static HierarchicalConfiguration loadXml(InputStream xmlStream) {
- XMLConfiguration cfg = new XMLConfiguration();
- try {
- cfg.load(xmlStream);
- return cfg;
- } catch (ConfigurationException e) {
- throw new IllegalArgumentException("Cannot load xml from Stream", e);
- }
- }
-
- protected static List<ControllerInfo> parseStreamControllers(HierarchicalConfiguration cfg) {
- List<ControllerInfo> controllers = new ArrayList<>();
- List<HierarchicalConfiguration> fields =
- cfg.configurationsAt("data.capable-switch." +
- "logical-switches." +
- "switch.controllers.controller");
- for (HierarchicalConfiguration sub : fields) {
- controllers.add(new ControllerInfo(
- IpAddress.valueOf(sub.getString("ip-address")),
- Integer.parseInt(sub.getString("port")),
- sub.getString("protocol")));
- }
- return controllers;
- }
-
- protected static String parseSwitchId(HierarchicalConfiguration cfg) {
- HierarchicalConfiguration field =
- cfg.configurationAt("data.capable-switch." +
- "logical-switches." +
- "switch");
- return field.getProperty("id").toString();
- }
-
- protected static String parseCapableSwitchId(HierarchicalConfiguration cfg) {
- HierarchicalConfiguration field =
- cfg.configurationAt("data.capable-switch");
- return field.getProperty("id").toString();
- }
-
- 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));
- 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;
-
- }
-
- //TODO implement mor methods for parsing configuration when you need them
-}