[ONOS-4839] update file priority for translator and OP param file impl defect fix
Change-Id: Ieaef43f915996ed0a34dfa17c338ab612716b2bc
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
index 32ce235..0b9c440 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
@@ -18,7 +18,6 @@
import java.io.IOException;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -43,6 +42,7 @@
import static org.apache.maven.plugins.annotations.LifecyclePhase.GENERATE_SOURCES;
import static org.apache.maven.plugins.annotations.ResolutionScope.COMPILE;
+import static org.onosproject.yangutils.linker.impl.YangLinkerUtils.updateFilePriority;
import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.addToCompilationRoot;
import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.copyYangFilesToTarget;
import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.resolveInterJarDependencies;
@@ -67,17 +67,14 @@
public class YangUtilManager
extends AbstractMojo {
+ private static final String DEFAULT_PKG = SLASH + getPackageDirPathFromJavaJPackage(DEFAULT_BASE_PKG);
private YangNode rootNode;
// YANG file information set.
private Set<YangFileInfo> yangFileInfoSet = new HashSet<>();
private YangUtilsParser yangUtilsParser = new YangUtilsParserManager();
private YangLinker yangLinker = new YangLinkerManager();
private YangFileInfo curYangFileInfo = new YangFileInfo();
-
private Set<YangNode> yangNodeSet = new HashSet<>();
-
- private static final String DEFAULT_PKG = SLASH + getPackageDirPathFromJavaJPackage(DEFAULT_BASE_PKG);
-
/**
* Source directory for YANG files.
*/
@@ -144,9 +141,15 @@
@Component
private BuildContext context;
+ /**
+ * Local maven repository.
+ */
@Parameter(readonly = true, defaultValue = "${localRepository}")
private ArtifactRepository localRepository;
+ /**
+ * Remote maven repositories.
+ */
@Parameter(readonly = true, defaultValue = "${project.remoteArtifactRepositories}")
private List<ArtifactRepository> remoteRepository;
@@ -196,7 +199,7 @@
return;
}
// Resolve inter jar dependency.
- resolveInterJardependency();
+ resolveInterJarDependency();
// Carry out the parsing for all the YANG files.
parseYangFileInfoSet();
@@ -205,7 +208,7 @@
resolveDependenciesUsingLinker();
// Perform translation to JAVA.
- translateToJava(getYangFileInfoSet(), yangPlugin);
+ translateToJava(yangPlugin);
// Serialize data model.
serializeDataModel(getDirectory(baseDir, outputDirectory), getYangFileInfoSet(), project, true);
@@ -237,7 +240,7 @@
*
* @return YANG node set
*/
- public Set<YangNode> getYangNodeSet() {
+ Set<YangNode> getYangNodeSet() {
return yangNodeSet;
}
@@ -246,12 +249,13 @@
*
* @throws IOException when fails to do IO operations
*/
- public void resolveInterJardependency() throws IOException {
+ private void resolveInterJarDependency() throws IOException {
try {
List<YangNode> interJarResolvedNodes = resolveInterJarDependencies(project, localRepository,
remoteRepository, getDirectory(baseDir, outputDirectory));
for (YangNode node : interJarResolvedNodes) {
YangFileInfo dependentFileInfo = new YangFileInfo();
+ node.setToTranslate(false);
dependentFileInfo.setRootNode(node);
dependentFileInfo.setForTranslator(false);
dependentFileInfo.setYangFileName(node.getName());
@@ -281,7 +285,7 @@
/**
* Creates YANG nodes set.
*/
- public void createYangNodeSet() {
+ void createYangNodeSet() {
for (YangFileInfo yangFileInfo : getYangFileInfoSet()) {
getYangNodeSet().add(yangFileInfo.getRootNode());
}
@@ -339,19 +343,15 @@
/**
* Translates to java code corresponding to the YANG schema.
*
- * @param yangFileInfoSet YANG file information
- * @param yangPlugin YANG plugin config
- * @throws IOException when fails to generate java code file the current
- * node
+ * @param yangPlugin YANG plugin config
+ * @throws IOException when fails to generate java code file the current node
*/
- public void translateToJava(Set<YangFileInfo> yangFileInfoSet, YangPluginConfig yangPlugin)
+ public void translateToJava(YangPluginConfig yangPlugin)
throws IOException {
- Iterator<YangFileInfo> yangFileIterator = yangFileInfoSet.iterator();
- while (yangFileIterator.hasNext()) {
- YangFileInfo yangFileInfo = yangFileIterator.next();
- setCurYangFileInfo(yangFileInfo);
- if (yangFileInfo.isForTranslator()) {
- generateJavaCode(yangFileInfo.getRootNode(), yangPlugin);
+ updateFilePriority(getYangNodeSet());
+ for (YangNode node : getYangNodeSet()) {
+ if (node.isToTranslate()) {
+ generateJavaCode(node, yangPlugin);
}
}
}
@@ -383,7 +383,7 @@
*
* @param yangFileInfoSet the YANG file info set
*/
- public void setYangFileInfoSet(Set<YangFileInfo> yangFileInfoSet) {
+ void setYangFileInfoSet(Set<YangFileInfo> yangFileInfoSet) {
this.yangFileInfoSet = yangFileInfoSet;
}
@@ -392,7 +392,7 @@
*
* @return the yangFileInfo
*/
- public YangFileInfo getCurYangFileInfo() {
+ private YangFileInfo getCurYangFileInfo() {
return curYangFileInfo;
}
@@ -401,7 +401,7 @@
*
* @param yangFileInfo the yangFileInfo to set
*/
- public void setCurYangFileInfo(YangFileInfo yangFileInfo) {
+ private void setCurYangFileInfo(YangFileInfo yangFileInfo) {
curYangFileInfo = yangFileInfo;
}
}