Removing old YangTools based on ODL parser

Change-Id: I92cf989b58340d9b9f9a9268262c4e05b2fa5717
diff --git a/tools/package/yangtools/pom.xml b/tools/package/yangtools/pom.xml
deleted file mode 100644
index 2ee7b26..0000000
--- a/tools/package/yangtools/pom.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.onosproject</groupId>
-    <artifactId>yangloader</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <dependencies>
-        <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-            <version>1.10</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.4</version>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>19.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onlab-misc</artifactId>
-            <version>1.5.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.2.2</version>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-jdk14</artifactId>
-            <version>1.7.13</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <!-- TODO: update once following issue is fixed. -->
-                <!-- https://jira.codehaus.org/browse/MCOMPILER-205 -->
-                <version>2.5.1</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>2.4.2</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <transformers>
-                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                                    <mainClass>org.onosproject.yangtool.YangLoaderMain</mainClass>
-                                </transformer>
-                            </transformers>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/tools/package/yangtools/src/main/java/org/onosproject/yangtool/YangLoader.java b/tools/package/yangtools/src/main/java/org/onosproject/yangtool/YangLoader.java
deleted file mode 100644
index 1c515f0..0000000
--- a/tools/package/yangtools/src/main/java/org/onosproject/yangtool/YangLoader.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.onosproject.yangtool;
-
-import com.google.common.io.Files;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.XMLConfiguration;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.onlab.util.Tools;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Class that takes in input two paths, one to the yang file and one where
- * to generate the interface, and a yang container name, generates the sources
- * through OpenDaylight code generator plugin from yang, and modifies
- * them accordingly to the needs of the ONOS behavior system.
- */
-public class YangLoader {
-    /**
-     * Public method to take a yang file from the input folder and generate classes
-     * to the output folder.
-     * @param inputFolder forlder with the yang files
-     * @param completeOuputFolder folder where to put the desired classes
-     * @throws IOException
-     * @throws ConfigurationException
-     * @throws InterruptedException
-     */
-    public void generateBehaviourInterface(String inputFolder,
-                                           String completeOuputFolder)
-            throws IOException, ConfigurationException, InterruptedException {
-        File projectDir = createTemporaryProject(inputFolder);
-        List<String> containerNames = findContainerName(
-                                new File(projectDir.getAbsolutePath() + "/src"));
-        System.out.println("Containers " + containerNames);
-        generateJava(projectDir);
-        //modifyClasses(containerName, projectDir, completeInterfaceOuputFolder);
-        copyFiles(new File(projectDir.getAbsolutePath() + "/dst"),
-                  new File(completeOuputFolder));
-        //System.out.println("Sources in " + completeOuputFolder);
-
-    }
-
-    private List<String> findContainerName(File scrDir) {
-        List<String> allContainers = new ArrayList<>();
-        Arrays.asList(scrDir.listFiles()).stream().forEach(f -> {
-            try {
-                FileUtils.readLines(f).stream()
-                        .filter(line -> line.matches("(.*)container(.*)\\{"))
-                        .collect(Collectors.toList()).forEach(s -> {
-                    s = s.replace("container", "");
-                    s = s.replace("{", "");
-                    allContainers.add(s.trim());
-                });
-
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-        });
-        return allContainers;
-    }
-
-    private File createTemporaryProject(String inputFolder) throws IOException,
-            ConfigurationException {
-        File tempDir = Files.createTempDir();
-        File scrDir = new File(tempDir, "src");
-        scrDir.mkdir();
-        copyFiles(new File(inputFolder), scrDir);
-        createPomFile(tempDir, scrDir);
-        return tempDir;
-
-    }
-
-    private void copyFiles(File inputFolder, File scrDir) throws IOException {
-        Tools.copyDirectory(inputFolder, scrDir);
-    }
-
-    private void createPomFile(File tempDir, File scrDir) throws ConfigurationException {
-        File pom = new File(tempDir, "pom.xml");
-        File dstDir = new File(tempDir, "dst");
-        dstDir.mkdir();
-        XMLConfiguration cfg = new XMLConfiguration();
-        cfg.load(getClass().getResourceAsStream("/pom-template.xml"));
-        cfg.setProperty("build.plugins.plugin.executions.execution." +
-                                "configuration.yangFilesRootDir", scrDir.getPath());
-        cfg.setProperty("build.plugins.plugin.executions." +
-                                "execution.configuration.codeGenerators." +
-                                "generator.outputBaseDir", dstDir.getPath());
-        cfg.save(pom);
-    }
-
-    private void generateJava(File projectDir)
-            throws IOException, InterruptedException {
-        Runtime rt = Runtime.getRuntime();
-        Process pr = rt.exec("mvn generate-sources", null, projectDir);
-        String s = IOUtils.toString(pr.getInputStream(), "UTF-8");
-        if (pr.waitFor() == 0) {
-            if (s.contains("[WARNING]")) {
-                System.out.println("Sources not generated, warning log: \n" + s);
-            } else {
-                System.out.println("Sources generated");
-            }
-        } else {
-            System.out.println("Sources not generated. " + s +
-                                       " \nError " + pr.getInputStream().read());
-        }
-    }
-
-    //parsing classes part, for now is not used.
-    private void modifyClasses(String containerName, File projectDir,
-                               String pathToNewInterface) throws IOException {
-        String odlInterfacepath = getPathWithFileName(containerName, projectDir.getPath());
-        odlInterfacepath = odlInterfacepath + "/";
-        parseClass(odlInterfacepath, pathToNewInterface, containerName);
-        System.out.println("ONOS behaviour interface generated " +
-                                   "correctly at " + pathToNewInterface);
-    }
-
-    private String getPathWithFileName(String filename, String pathToGenerated) {
-        File[] directories = new File(pathToGenerated).listFiles(File::isDirectory);
-        while (directories.length != 0) {
-            pathToGenerated = pathToGenerated + "/" + directories[0].getName();
-            directories = new File(pathToGenerated).listFiles(File::isDirectory);
-        }
-        File dir = new File(pathToGenerated);
-        File behaviour = (File) Arrays.asList(dir.listFiles()).stream()
-                .filter(f -> f.getName().equals(filename)).toArray()[0];
-        return behaviour.getParentFile().getAbsolutePath();
-    }
-
-    private void parseClass(String filePath, String pathToNewInterface,
-                            String filename) throws IOException {
-        InputStream fis = null;
-        String newFile = "package org.onosproject.net.behaviour;\n" +
-                "import org.onosproject.net.driver.HandlerBehaviour;\n";
-        fis = new FileInputStream(filePath + filename);
-        InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-8"));
-        BufferedReader br = new BufferedReader(isr);
-        String line;
-        while ((line = br.readLine()) != null) {
-            if (!line.contains("org.opendaylight.")) {
-                if (line.contains("ChildOf")) {
-                    newFile = newFile + "HandlerBehaviour\n";
-                } else {
-                    newFile = newFile + line + "\n";
-                }
-            }
-        }
-        PrintWriter out = new PrintWriter(pathToNewInterface +
-                                                  filename.replace(".java", "")
-                                                  + "Interface.java");
-        out.print(newFile);
-        out.flush();
-    }
-
-
-}
diff --git a/tools/package/yangtools/src/main/java/org/onosproject/yangtool/YangLoaderMain.java b/tools/package/yangtools/src/main/java/org/onosproject/yangtool/YangLoaderMain.java
deleted file mode 100644
index 11fa495..0000000
--- a/tools/package/yangtools/src/main/java/org/onosproject/yangtool/YangLoaderMain.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.onosproject.yangtool;
-
-import org.apache.commons.configuration.ConfigurationException;
-
-import java.io.IOException;
-
-/**
- * Main of the uangloader tool in order to be called through command line.
- */
-public class YangLoaderMain {
-    public static void main (String args []) throws IOException,
-            ConfigurationException, InterruptedException {
-        YangLoader yl = new YangLoader();
-        yl.generateBehaviourInterface(args[0], args[1]);
-    }
-}
diff --git a/tools/package/yangtools/src/main/resources/pom-template.xml b/tools/package/yangtools/src/main/resources/pom-template.xml
deleted file mode 100644
index 5280e21..0000000
--- a/tools/package/yangtools/src/main/resources/pom-template.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>groupId</groupId>
-    <artifactId>yangloader</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <pluginRepositories>
-        <pluginRepository>
-            <id>opendaylight-release</id>
-            <name>opendaylight-release</name>
-            <url>
-                http://nexus.opendaylight.org/content/repositories/opendaylight.release/
-            </url>
-        </pluginRepository>
-        <pluginRepository>
-            <id>opendaylight-snapshot</id>
-            <name>opendaylight-snapshot</name>
-            <url>
-                http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/
-            </url>
-        </pluginRepository>
-    </pluginRepositories>
-    <repositories>
-        <repository>
-            <id>opendaylight-release</id>
-            <name>opendaylight-release</name>
-            <url>
-                http://nexus.opendaylight.org/content/repositories/opendaylight.release/
-            </url>
-        </repository>
-        <repository>
-            <id>opendaylight-snapshot</id>
-            <name>opendaylight-snapshot</name>
-            <url>
-                http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/
-            </url>
-        </repository>
-    </repositories>
-    <dependencies>
-        <dependency>
-            <groupId>org.opendaylight.yangtools</groupId>
-            <artifactId>yang-binding</artifactId>
-            <version>0.7.2-Lithium-SR2</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.opendaylight.yangtools</groupId>
-                <artifactId>yang-maven-plugin</artifactId>
-                <version>0.7.2-Lithium-SR2</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>generate-sources</goal>
-                        </goals>
-                        <configuration>
-                            <!-- directory containing yang files to parse and generate code -->
-                            <yangFilesRootDir>INPUTDIR</yangFilesRootDir>
-                            <codeGenerators>
-                                <generator>
-                                    <codeGeneratorClass>
-                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
-                                    </codeGeneratorClass>
-                                    <!-- directory into which generated files will be placed -->
-                                    <outputBaseDir>OUTPUTDIR</outputBaseDir>
-                                </generator>
-                            </codeGenerators>
-                            <inspectDependencies>false</inspectDependencies>
-                        </configuration>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.opendaylight.yangtools</groupId>
-                        <artifactId>maven-sal-api-gen-plugin</artifactId>
-                        <version>0.7.2-Lithium-SR2</version>
-                        <type>jar</type>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>