YANG sub module linking + unsupported yang construct + defect fix
Change-Id: I224c8c14ee2111f6844278cb540c48651544f59b
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java
index 7c451e1..7fa99b7 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangFileScanner.java
@@ -21,6 +21,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Stack;
+import org.onosproject.yangutils.plugin.manager.YangFileInfo;
/**
* Represents utility for searching the files in a directory.
@@ -51,17 +52,23 @@
}
/**
- * Returns the list of YANG files.
+ * Returns the list of YANG file information.
*
* @param root specified directory
- * @return list of YANG files
+ * @return list of YANG file information
* @throws NullPointerException when no files are there
* @throws IOException when files get deleted while performing the
* operations
*/
- public static List<String> getYangFiles(String root) throws IOException {
-
- return getFiles(root, YANG_FILE_EXTENTION);
+ public static List<YangFileInfo> getYangFiles(String root) throws IOException {
+ List<String> yangFiles = getFiles(root, YANG_FILE_EXTENTION);
+ List<YangFileInfo> fileInfo = new LinkedList<>();
+ for (String yangFile : yangFiles) {
+ YangFileInfo yangFileInfo = new YangFileInfo();
+ yangFileInfo.setYangFileName(yangFile);
+ fileInfo.add(yangFileInfo);
+ }
+ return fileInfo;
}
/**
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
index bf166f0..d8f7e53 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
@@ -24,6 +24,7 @@
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.LinkedList;
+import java.util.Iterator;
import java.util.List;
import java.util.Stack;
@@ -33,6 +34,7 @@
import org.slf4j.Logger;
import org.sonatype.plexus.build.incremental.BuildContext;
+import org.onosproject.yangutils.plugin.manager.YangFileInfo;
import static org.onosproject.yangutils.utils.UtilConstants.COMMA;
import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
@@ -245,15 +247,15 @@
/**
* Copies YANG files to the current project's output directory.
*
- * @param yangFiles list of YANG files
+ * @param yangFileInfo list of YANG files
* @param outputDir project's output directory
* @param project maven project
* @throws IOException when fails to copy files to destination resource directory
*/
- public static void copyYangFilesToTarget(List<String> yangFiles, String outputDir, MavenProject project)
+ public static void copyYangFilesToTarget(List<YangFileInfo> yangFileInfo, String outputDir, MavenProject project)
throws IOException {
- List<File> files = getListOfFile(yangFiles);
+ List<File> files = getListOfFile(yangFileInfo);
String path = outputDir + TARGET_RESOURCE_PATH;
File targetDir = new File(path);
@@ -272,13 +274,15 @@
/**
* Provides a list of files from list of strings.
*
- * @param strings list of strings
+ * @param yangFileInfo list of yang file information
* @return list of files
*/
- private static List<File> getListOfFile(List<String> strings) {
+ private static List<File> getListOfFile(List<YangFileInfo> yangFileInfo) {
List<File> files = new ArrayList<>();
- for (String file : strings) {
- files.add(new File(file));
+ Iterator<YangFileInfo> yangFileIterator = yangFileInfo.iterator();
+ while (yangFileIterator.hasNext()) {
+ YangFileInfo yangFile = yangFileIterator.next();
+ files.add(new File(yangFile.getYangFileName()));
}
return files;
}