[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/translator/tojava/javamodel/YangJavaAugment.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugment.java
index a890ec2..9986351 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugment.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaAugment.java
@@ -16,23 +16,17 @@
package org.onosproject.yangutils.translator.tojava.javamodel;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
import org.onosproject.yangutils.datamodel.YangAugment;
-import org.onosproject.yangutils.datamodel.YangNodeIdentifier;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
import org.onosproject.yangutils.translator.tojava.JavaFileInfo;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo;
import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfAugmentableNode;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
/**
* Represents augment information extended to support java code generation.
@@ -44,23 +38,12 @@
private static final long serialVersionUID = 806201632L;
/**
- * Prefix to be added to generated java file for augment node.
- */
- private static final String AUGMENTED = "Augmented";
-
- /**
* Contains the information of the java file being generated.
*/
private JavaFileInfo javaFileInfo;
/**
- * TargetNodes java qualified info.
- */
- private List<JavaQualifiedTypeInfo> extendedClassInfo;
-
- /**
- * File handle to maintain temporary java code fragments as per the code
- * snippet types.
+ * File handle to maintain temporary java code fragments as per the code snippet types.
*/
private transient TempJavaCodeFragmentFiles tempFileHandle;
@@ -70,7 +53,6 @@
public YangJavaAugment() {
super();
setJavaFileInfo(new JavaFileInfo());
- setExtendedClassInfo(new ArrayList<>());
getJavaFileInfo().setGeneratedFileTypes(GENERATE_INTERFACE_WITH_BUILDER);
}
@@ -119,8 +101,7 @@
}
/**
- * Prepare the information for java code generation corresponding to YANG
- * augment info.
+ * Prepare the information for java code generation corresponding to YANG augment info.
*
* @param yangPlugin YANG plugin config
* @throws TranslatorException translator operation fail
@@ -148,46 +129,4 @@
}
}
- /**
- * Returns augment class name.
- *
- * @return augment class name
- */
- public String getAugmentClassName() {
- YangNodeIdentifier nodeId = getTargetNode().get(getTargetNode().size() - 1).getNodeIdentifier();
- String name = getCapitalCase(getCamelCase(nodeId.getName(), null));
- if (nodeId.getPrefix() != null) {
- return AUGMENTED + getCapitalCase(nodeId.getPrefix()) + name;
- } else {
- return AUGMENTED + name;
- }
- }
-
- /**
- * Returns extended class info.
- *
- * @return extended class info
- */
- public List<JavaQualifiedTypeInfo> getExtendedClassInfo() {
- return extendedClassInfo;
- }
-
- /**
- * Sets extended class info.
- *
- * @param augmentedInfo extended class info
- */
- private void setExtendedClassInfo(List<JavaQualifiedTypeInfo> augmentedInfo) {
- extendedClassInfo = augmentedInfo;
- }
-
- /**
- * Adds to extended class info list.
- *
- * @param augmentedInfo extended class info
- */
- public void addToExtendedClassInfo(JavaQualifiedTypeInfo augmentedInfo) {
- getExtendedClassInfo().add(augmentedInfo);
- }
-
}
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentity.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentity.java
index 6ae672b..45c9af7 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentity.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaIdentity.java
@@ -15,6 +15,10 @@
*/
package org.onosproject.yangutils.translator.tojava.javamodel;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
import org.onosproject.yangutils.datamodel.YangIdentity;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
@@ -25,12 +29,8 @@
import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_IDENTITY_CLASS;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.updatePackageInfo;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.initiateJavaFileGeneration;
@@ -145,7 +145,7 @@
}
}
- File file = getFileObject(path, className, JAVA_FILE_EXTENSION, getJavaFileInfo());
+ File file = getFileObject(path, className, JAVA_FILE_EXTENSION, getJavaFileInfo().getBaseCodeGenPath());
initiateJavaFileGeneration(file, GENERATE_IDENTITY_CLASS, imports, this, className);
closeFile(file, false);
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModule.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModule.java
index dd08265..5dae614 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModule.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModule.java
@@ -29,14 +29,12 @@
import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ALL_EVENT_CLASS_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfRootNode;
-import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.isManagerCodeGenRequired;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.isGenerationOfCodeReq;
+import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.isManagerCodeGenRequired;
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.searchAndDeleteTempDir;
import static org.onosproject.yangutils.utils.UtilConstants.SBI;
@@ -56,8 +54,7 @@
private JavaFileInfo javaFileInfo;
/**
- * File handle to maintain temporary java code fragments as per the code
- * snippet types.
+ * File handle to maintain temporary java code fragments as per the code snippet types.
*/
private transient TempJavaCodeFragmentFiles tempFileHandle;
@@ -73,12 +70,7 @@
super();
setJavaFileInfo(new JavaFileInfo());
setNotificationNodes(new ArrayList<>());
- int gentype = GENERATE_SERVICE_AND_MANAGER | GENERATE_INTERFACE_WITH_BUILDER;
- if (isNotificationChildNodePresent(this)) {
- gentype = GENERATE_SERVICE_AND_MANAGER | GENERATE_EVENT_SUBJECT_CLASS | GENERATE_EVENT_CLASS
- | GENERATE_EVENT_LISTENER_INTERFACE;
- }
- getJavaFileInfo().setGeneratedFileTypes(gentype);
+ getJavaFileInfo().setGeneratedFileTypes(GENERATE_SERVICE_AND_MANAGER | GENERATE_INTERFACE_WITH_BUILDER);
}
@@ -135,6 +127,11 @@
public void generateCodeEntry(YangPluginConfig yangPlugin) throws TranslatorException {
String modulePkg = getRootPackage(getVersion(), getNameSpace().getUri(), getRevision().getRevDate(),
yangPlugin.getConflictResolver());
+
+ if (isNotificationChildNodePresent(this)) {
+ getJavaFileInfo().setGeneratedFileTypes(getJavaFileInfo().getGeneratedFileTypes()
+ | GENERATE_ALL_EVENT_CLASS_MASK);
+ }
try {
generateCodeOfRootNode(this, yangPlugin, modulePkg);
} catch (IOException e) {
@@ -157,17 +154,22 @@
*
* The manager class needs to extend the "ListenerRegistry".
*/
-
try {
- if (isManagerCodeGenRequired(this) && isGenerationOfCodeReq(getJavaFileInfo())) {
- if ((getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi() == null) ||
- (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
- getTempJavaCodeFragmentFiles()
- .generateJavaFile(GENERATE_INTERFACE_WITH_BUILDER, this);
- getTempJavaCodeFragmentFiles()
- .generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
+ if ((getJavaFileInfo().getGeneratedFileTypes() & GENERATE_ALL_EVENT_CLASS_MASK) != 0) {
+ getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_ALL_EVENT_CLASS_MASK, this);
+ }
+ getTempJavaCodeFragmentFiles()
+ .generateJavaFile(GENERATE_INTERFACE_WITH_BUILDER, this);
+ if (isManagerCodeGenRequired(this)) {
+ if (isGenerationOfCodeReq(getJavaFileInfo())) {
+ if ((getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi() == null)
+ || (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
+ getTempJavaCodeFragmentFiles().getServiceTempFiles().setManagerNeedToBeGenerated(true);
+ }
}
}
+ getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
+
searchAndDeleteTempDir(getJavaFileInfo().getBaseCodeGenPath() +
getJavaFileInfo().getPackageFilePath());
searchAndDeleteTempDir(getJavaFileInfo().getPluginConfig().getCodeGenDir() +
diff --git a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModule.java b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModule.java
index e029ecd..4de196c 100644
--- a/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModule.java
+++ b/utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModule.java
@@ -31,14 +31,12 @@
import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
import org.onosproject.yangutils.utils.io.impl.YangPluginConfig;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ALL_EVENT_CLASS_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.generateCodeOfRootNode;
-import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.isManagerCodeGenRequired;
import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.isGenerationOfCodeReq;
+import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.isManagerCodeGenRequired;
import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage;
import static org.onosproject.yangutils.utils.UtilConstants.SBI;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.searchAndDeleteTempDir;
@@ -58,8 +56,7 @@
private JavaFileInfo javaFileInfo;
/**
- * File handle to maintain temporary java code fragments as per the code
- * snippet types.
+ * File handle to maintain temporary java code fragments as per the code snippet types.
*/
private transient TempJavaCodeFragmentFiles tempFileHandle;
@@ -76,8 +73,7 @@
setJavaFileInfo(new JavaFileInfo());
int gentype = GENERATE_SERVICE_AND_MANAGER | GENERATE_INTERFACE_WITH_BUILDER;
if (isNotificationChildNodePresent(this)) {
- gentype = GENERATE_SERVICE_AND_MANAGER | GENERATE_EVENT_SUBJECT_CLASS | GENERATE_EVENT_CLASS
- | GENERATE_EVENT_LISTENER_INTERFACE;
+ gentype = GENERATE_SERVICE_AND_MANAGER | GENERATE_ALL_EVENT_CLASS_MASK;
}
getJavaFileInfo().setGeneratedFileTypes(gentype);
}
@@ -145,6 +141,11 @@
public void generateCodeEntry(YangPluginConfig yangPlugin) throws TranslatorException {
String subModulePkg = getRootPackage(getVersion(), getNameSpaceFromModule(getBelongsTo()),
getRevision().getRevDate(), yangPlugin.getConflictResolver());
+
+ if (isNotificationChildNodePresent(this)) {
+ getJavaFileInfo().setGeneratedFileTypes(getJavaFileInfo().getGeneratedFileTypes()
+ | GENERATE_ALL_EVENT_CLASS_MASK);
+ }
try {
generateCodeOfRootNode(this, yangPlugin, subModulePkg);
} catch (IOException e) {
@@ -169,13 +170,21 @@
* The manager class needs to extend the "ListenerRegistry".
*/
try {
- if (isManagerCodeGenRequired(this) && isGenerationOfCodeReq(getJavaFileInfo())) {
- if ((getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi() == null) ||
- (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
- getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_INTERFACE_WITH_BUILDER, this);
- getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
+ if ((getJavaFileInfo().getGeneratedFileTypes() & GENERATE_ALL_EVENT_CLASS_MASK) != 0) {
+ getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_ALL_EVENT_CLASS_MASK, this);
+ }
+ getTempJavaCodeFragmentFiles()
+ .generateJavaFile(GENERATE_INTERFACE_WITH_BUILDER, this);
+ if (isManagerCodeGenRequired(this)) {
+ if (isGenerationOfCodeReq(getJavaFileInfo())) {
+ if ((getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi() == null)
+ || (!getJavaFileInfo().getPluginConfig().getCodeGenerateForsbi().equals(SBI))) {
+ getTempJavaCodeFragmentFiles().getServiceTempFiles().setManagerNeedToBeGenerated(true);
+ }
}
}
+ getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
+
searchAndDeleteTempDir(getJavaFileInfo().getBaseCodeGenPath() +
getJavaFileInfo().getPackageFilePath());
searchAndDeleteTempDir(getJavaFileInfo().getPluginConfig().getCodeGenDir() +
@@ -185,6 +194,7 @@
}
}
+
/**
* Returns notifications node list.
*