Merge "Resourse Identifier builder"
diff --git a/compiler/base/datamodel/src/main/java/org/onosproject/yang/compiler/datamodel/utils/DataModelUtils.java b/compiler/base/datamodel/src/main/java/org/onosproject/yang/compiler/datamodel/utils/DataModelUtils.java
index 0ce482a..9ff2b15 100644
--- a/compiler/base/datamodel/src/main/java/org/onosproject/yang/compiler/datamodel/utils/DataModelUtils.java
+++ b/compiler/base/datamodel/src/main/java/org/onosproject/yang/compiler/datamodel/utils/DataModelUtils.java
@@ -45,6 +45,7 @@
import org.onosproject.yang.compiler.datamodel.YangMust;
import org.onosproject.yang.compiler.datamodel.YangMustHolder;
import org.onosproject.yang.compiler.datamodel.YangNode;
+import org.onosproject.yang.compiler.datamodel.YangNotification;
import org.onosproject.yang.compiler.datamodel.YangReferenceResolver;
import org.onosproject.yang.compiler.datamodel.YangResolutionInfo;
import org.onosproject.yang.compiler.datamodel.YangRpc;
@@ -310,6 +311,25 @@
}
/**
+ * Checks if there is any rpc/notification defined in the module or
+ * sub-module.
+ *
+ * @param rootNode root node of the data model
+ * @return status of rpc/notification existence
+ */
+ public static boolean isRpcNotificationPresent(YangNode rootNode) {
+ YangNode childNode = rootNode.getChild();
+ while (childNode != null) {
+ if (childNode instanceof YangRpc ||
+ childNode instanceof YangNotification) {
+ return true;
+ }
+ childNode = childNode.getNextSibling();
+ }
+ return false;
+ }
+
+ /**
* Returns referred node in a given set.
*
* @param yangNodeSet YANG node set
diff --git a/compiler/base/tool/src/main/java/org/onosproject/yang/compiler/base/tool/YangToolManager.java b/compiler/base/tool/src/main/java/org/onosproject/yang/compiler/base/tool/YangToolManager.java
index 548511d..d4992cb 100644
--- a/compiler/base/tool/src/main/java/org/onosproject/yang/compiler/base/tool/YangToolManager.java
+++ b/compiler/base/tool/src/main/java/org/onosproject/yang/compiler/base/tool/YangToolManager.java
@@ -303,8 +303,8 @@
yangNodeSortedList.addAll(yangNodeSet);
sort(yangNodeSortedList);
for (YangNode node : yangNodeSortedList) {
- if (node.isToTranslate() && !(!((YangDeviationHolder) node)
- .isModuleForDeviation())) {
+ if (node.isToTranslate() && !((YangDeviationHolder) node)
+ .isModuleForDeviation()) {
generateJavaCode(node, pluginConfig);
}
}
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/GeneratedTempFileType.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/GeneratedTempFileType.java
index ad410a1..cc0f4e3 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/GeneratedTempFileType.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/GeneratedTempFileType.java
@@ -137,21 +137,6 @@
public static final int LEAF_IDENTIFIER_ENUM_ATTRIBUTES_MASK = 1 << 22;
/**
- * Is filter content match for leaves class.
- */
- public static final int FILTER_CONTENT_MATCH_FOR_LEAF_MASK = 1 << 23;
-
- /**
- * Is filter content match for leaf lists class.
- */
- public static final int FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK = 1 << 24;
-
- /**
- * Is filter content match for nodes class.
- */
- public static final int FILTER_CONTENT_MATCH_FOR_NODES_MASK = 1 << 25;
-
- /**
* Edit config class content for class.
*/
public static final int EDIT_CONTENT_MASK = 1 << 26;
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/TempJavaFragmentFiles.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/TempJavaFragmentFiles.java
index 7b47f96..426806a 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/TempJavaFragmentFiles.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/TempJavaFragmentFiles.java
@@ -18,7 +18,6 @@
import org.onosproject.yang.compiler.datamodel.RpcNotificationContainer;
import org.onosproject.yang.compiler.datamodel.YangAugment;
import org.onosproject.yang.compiler.datamodel.YangCase;
-import org.onosproject.yang.compiler.datamodel.YangChoice;
import org.onosproject.yang.compiler.datamodel.YangDataStructure;
import org.onosproject.yang.compiler.datamodel.YangLeaf;
import org.onosproject.yang.compiler.datamodel.YangLeafList;
@@ -57,9 +56,6 @@
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.ATTRIBUTES_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.EDIT_CONTENT_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.EQUALS_IMPL_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_LEAF_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_NODES_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FROM_STRING_IMPL_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.GETTER_FOR_CLASS_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.GETTER_FOR_INTERFACE_MASK;
@@ -98,22 +94,16 @@
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.parseBuilderInterfaceBuildMethodString;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getImportString;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getOverRideString;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getSubtreeFilteringForLeaf;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getSubtreeFilteringForLeafList;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getSubtreeFilteringForNode;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorErrorType.INVALID_LEAF_HOLDER;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorErrorType.INVALID_NODE;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorErrorType.INVALID_PARENT_NODE;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorErrorType.MISSING_PARENT_NODE;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorUtils.getBeanFiles;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorUtils.getErrorMsg;
-import static org.onosproject.yang.compiler.utils.UtilConstants.AUGMENT_MAP_TYPE;
import static org.onosproject.yang.compiler.utils.UtilConstants.BIT_SET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BOOLEAN_DATA_TYPE;
import static org.onosproject.yang.compiler.utils.UtilConstants.BUILDER;
import static org.onosproject.yang.compiler.utils.UtilConstants.CLASS_STRING;
import static org.onosproject.yang.compiler.utils.UtilConstants.CLOSE_CURLY_BRACKET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.COLLECTION_IMPORTS;
import static org.onosproject.yang.compiler.utils.UtilConstants.DEFAULT;
import static org.onosproject.yang.compiler.utils.UtilConstants.DEFAULT_CAPS;
import static org.onosproject.yang.compiler.utils.UtilConstants.DIAMOND_CLOSE_BRACKET;
@@ -123,34 +113,27 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.FOUR_SPACE_INDENTATION;
import static org.onosproject.yang.compiler.utils.UtilConstants.GOOGLE_MORE_OBJECT_IMPORT_CLASS;
import static org.onosproject.yang.compiler.utils.UtilConstants.GOOGLE_MORE_OBJECT_IMPORT_PKG;
-import static org.onosproject.yang.compiler.utils.UtilConstants.HASH_MAP;
import static org.onosproject.yang.compiler.utils.UtilConstants.INTERFACE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.INVOCATION_TARGET_EXCEPTION;
import static org.onosproject.yang.compiler.utils.UtilConstants.JAVA_UTIL_OBJECTS_IMPORT_CLASS;
import static org.onosproject.yang.compiler.utils.UtilConstants.JAVA_UTIL_PKG;
import static org.onosproject.yang.compiler.utils.UtilConstants.KEYS;
import static org.onosproject.yang.compiler.utils.UtilConstants.MAP;
+import static org.onosproject.yang.compiler.utils.UtilConstants.MODEL_OBJECT;
+import static org.onosproject.yang.compiler.utils.UtilConstants.MODEL_OBJECT_PKG;
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW_LINE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OPERATION_TYPE_ATTRIBUTE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OPERATION_TYPE_CLASS;
import static org.onosproject.yang.compiler.utils.UtilConstants.OP_PARAM;
import static org.onosproject.yang.compiler.utils.UtilConstants.PERIOD;
import static org.onosproject.yang.compiler.utils.UtilConstants.PRIVATE;
import static org.onosproject.yang.compiler.utils.UtilConstants.PROTECTED;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUESTION_MARK;
-import static org.onosproject.yang.compiler.utils.UtilConstants.REFLECT_IMPORTS;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SELECT_LEAF;
import static org.onosproject.yang.compiler.utils.UtilConstants.SERVICE;
import static org.onosproject.yang.compiler.utils.UtilConstants.SLASH;
import static org.onosproject.yang.compiler.utils.UtilConstants.SPACE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SUBTREE_FILTERED;
import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_LEAF;
-import static org.onosproject.yang.compiler.utils.UtilConstants.YANG;
-import static org.onosproject.yang.compiler.utils.UtilConstants.YANG_AUGMENTED_INFO_MAP;
-import static org.onosproject.yang.compiler.utils.io.impl.FileSystemUtil.*;
+import static org.onosproject.yang.compiler.utils.io.impl.FileSystemUtil.closeFile;
+import static org.onosproject.yang.compiler.utils.io.impl.FileSystemUtil.readAppendFile;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.ADD_TO_LIST;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD;
-import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.SETTER_METHOD;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.getJavaDoc;
import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getAbsolutePackagePath;
import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getCamelCase;
@@ -159,9 +142,6 @@
import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.insertDataIntoJavaFile;
import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.mergeJavaFiles;
import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.validateLineLength;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BIT_SET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.JAVA_UTIL_PKG;
-import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_LEAF;
/**
* Represents implementation of java code fragments temporary implementations.
@@ -406,21 +386,6 @@
private File leafIdAttributeTempFileHandle;
/**
- * Temporary file handle for is content match method for leaf-list.
- */
- private File getSubtreeFilteringForListTempFileHandle;
-
- /**
- * Temporary file handle for is content match method for node.
- */
- private File getSubtreeFilteringForChildNodeTempFileHandle;
-
- /**
- * Temporary file handle for is content match method for leaf.
- */
- private File subtreeFilteringForLeafTempFileHandle;
-
- /**
* Temporary file handle for edit content file.
*/
private File editContentTempFileHandle;
@@ -465,6 +430,7 @@
*/
if (javaFlagSet(INTERFACE_MASK)) {
addGeneratedTempFile(GETTER_FOR_INTERFACE_MASK |
+ SETTER_FOR_INTERFACE_MASK |
ADD_TO_LIST_INTERFACE_MASK |
LEAF_IDENTIFIER_ENUM_ATTRIBUTES_MASK);
}
@@ -492,10 +458,7 @@
addGeneratedTempFile(
ATTRIBUTES_MASK | GETTER_FOR_CLASS_MASK |
HASH_CODE_IMPL_MASK | EQUALS_IMPL_MASK |
- TO_STRING_IMPL_MASK | ADD_TO_LIST_IMPL_MASK |
- FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK |
- FILTER_CONTENT_MATCH_FOR_LEAF_MASK |
- FILTER_CONTENT_MATCH_FOR_NODES_MASK);
+ TO_STRING_IMPL_MASK | ADD_TO_LIST_IMPL_MASK);
}
/*
* Initialize temp files to generate type class.
@@ -559,18 +522,6 @@
leafIdAttributeTempFileHandle =
getTemporaryFileHandle(LEAF_IDENTIFIER_ATTRIBUTES_FILE_NAME);
}
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_LEAF_MASK)) {
- subtreeFilteringForLeafTempFileHandle =
- getTemporaryFileHandle(FILTER_CONTENT_MATCH_LEAF_FILE_NAME);
- }
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK)) {
- getSubtreeFilteringForListTempFileHandle =
- getTemporaryFileHandle(FILTER_CONTENT_MATCH_LEAF_LIST_FILE_NAME);
- }
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_NODES_MASK)) {
- getSubtreeFilteringForChildNodeTempFileHandle =
- getTemporaryFileHandle(FILTER_CONTENT_MATCH_NODE_FILE_NAME);
- }
if (tempFlagSet(EDIT_CONTENT_MASK)) {
editContentTempFileHandle =
getTemporaryFileHandle(EDIT_CONTENT_FILE_NAME);
@@ -622,18 +573,6 @@
TempJavaBeanFragmentFiles tempFiles =
getBeanFiles((JavaCodeGeneratorInfo) parent);
tempFiles.setAttrNode(curNode);
- JavaFileInfoTranslator fileInfo = ((JavaCodeGeneratorInfo) parent)
- .getJavaFileInfo();
- if (curNode instanceof YangChoice && curNode.isOpTypeReq()) {
- JavaQualifiedTypeInfoTranslator info = new
- JavaQualifiedTypeInfoTranslator();
- info.setClassInfo(INVOCATION_TARGET_EXCEPTION);
- info.setPkgInfo(REFLECT_IMPORTS);
- info.setForInterface(false);
- tempFiles.getJavaImportData().addImportInfo(
- info, getCapitalCase(fileInfo.getJavaName()),
- fileInfo.getPackage());
- }
JavaAttributeInfo attr = getCurNodeAsAttributeInTarget(
curNode, parent, isList, tempFiles);
tempFiles.addJavaSnippetInfoToApplicableTempFiles(attr, config);
@@ -691,17 +630,6 @@
}
qualified = parentImportData.addImportInfo(typeInfo, className,
fileInfo.getPackage());
- if (!qualified && !(curNode instanceof YangChoice) &&
- targetNode.isOpTypeReq()) {
- String name = DEFAULT_CAPS + typeInfo.getClassInfo();
- JavaQualifiedTypeInfoTranslator qInfo =
- new JavaQualifiedTypeInfoTranslator();
- qInfo.setForInterface(false);
- qInfo.setPkgInfo(typeInfo.getPkgInfo());
- qInfo.setClassInfo(name);
- parentImportData.addImportInfo(qInfo, className,
- fileInfo.getPackage());
- }
}
boolean collectionSet = false;
if (curNode instanceof YangList) {
@@ -1065,43 +993,6 @@
}
/**
- * Adds is filter content match for leaf.
- *
- * @param attr java attribute
- * @throws IOException when fails to do IO operations
- */
- private void addSubTreeFilteringForLeaf(JavaAttributeInfo attr)
- throws IOException {
- appendToFile(subtreeFilteringForLeafTempFileHandle,
- getSubtreeFilteringForLeaf(attr, attr.getAttributeType()) +
- NEW_LINE);
- }
-
- /**
- * Adds is filter content match for leaf-list.
- *
- * @param attr java attribute
- * @throws IOException when fails to do IO operations
- */
- private void addSubtreeFilteringForLeafList(JavaAttributeInfo attr)
- throws IOException {
- appendToFile(getSubtreeFilteringForListTempFileHandle,
- getSubtreeFilteringForLeafList(attr) + NEW_LINE);
- }
-
- /**
- * Adds is filter content match for nodes.
- *
- * @param attr java attribute
- * @throws IOException when fails to do IO operations
- */
- private void addSubtreeFilteringForChildNode(JavaAttributeInfo attr)
- throws IOException {
- appendToFile(getSubtreeFilteringForChildNodeTempFileHandle,
- getSubtreeFilteringForNode(attr, attrNode) + NEW_LINE);
- }
-
- /**
* Adds attribute for class.
*
* @param attr attribute info
@@ -1149,10 +1040,6 @@
String setter = getSetterForClass(attr, getGeneratedJavaClassName(),
getGeneratedJavaFiles());
String javadoc = getOverRideString();
- if (attr.getAttributeName().equals(SUBTREE_FILTERED)) {
- javadoc = getJavaDoc(SETTER_METHOD, attr.getAttributeName(),
- false, null);
- }
appendToFile(setterImplTempFileHandle, javadoc + setter);
}
@@ -1172,10 +1059,6 @@
if (ds != null) {
annotation = ds.name();
}
- if (attr.getAttributeName().equals(SUBTREE_FILTERED)) {
- javadoc = getJavaDoc(GETTER_METHOD, attr.getAttributeName(),
- false, annotation);
- }
if (javaFlagSet(BUILDER_CLASS_MASK)) {
appendToFile(getterImplTempFileHandle, javadoc + getter);
} else {
@@ -1559,42 +1442,6 @@
}
}
- /**
- * Adds operation type to temp files.
- *
- * @param curNode current YANG node
- * @param config YANG plugin config
- * @throws IOException IO exception
- */
- protected void addOperationTypeToTempFiles(YangNode curNode,
- YangPluginConfig config)
- throws IOException {
- JavaQualifiedTypeInfoTranslator typeInfo =
- new JavaQualifiedTypeInfoTranslator();
- typeInfo.setClassInfo(OPERATION_TYPE_CLASS);
- JavaFileInfo curInfo = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
- JavaFileInfo info;
- if (curNode instanceof RpcNotificationContainer) {
- info = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
- } else {
- info = ((JavaFileInfoContainer) getModuleNode(curNode))
- .getJavaFileInfo();
- }
-
- typeInfo.setPkgInfo(info.getPackage().toLowerCase() + PERIOD +
- getCapitalCase(info.getJavaName()));
- String curNodeName = getCapitalCase(curInfo.getJavaName());
- boolean isQualified = false;
- if (!(curNode instanceof RpcNotificationContainer)) {
- isQualified = javaImportData.addImportInfo(typeInfo, curNodeName,
- curInfo.getPackage());
- }
- JavaAttributeInfo attributeInfo =
- getAttributeInfoForTheData(typeInfo, YANG + curNodeName +
- OPERATION_TYPE_ATTRIBUTE, null, isQualified, false);
- addJavaSnippetInfoToApplicableTempFiles(attributeInfo, config);
- }
-
private YangNode getModuleNode(YangNode curNode) {
YangNode tempNode = curNode.getParent();
while (!(tempNode instanceof RpcNotificationContainer)) {
@@ -1624,78 +1471,6 @@
addJavaSnippetInfoToApplicableTempFiles(attributeInfo, config);
}
- /**
- * Adds value leaf flag to temp files.
- *
- * @param config YANG plugin config
- * @throws IOException IO exception
- */
- protected void addSelectLeafFlag(YangPluginConfig config)
- throws IOException {
- JavaQualifiedTypeInfoTranslator typeInfo =
- new JavaQualifiedTypeInfoTranslator();
- typeInfo.setClassInfo(BIT_SET);
- typeInfo.setPkgInfo(JAVA_UTIL_PKG);
- JavaAttributeInfo attributeInfo =
- getAttributeInfoForTheData(typeInfo, SELECT_LEAF, null, false, false);
- addJavaSnippetInfoToApplicableTempFiles(attributeInfo, config);
- }
-
- /**
- * Adds sub tree filtering to temp files.
- *
- * @param config YANG plugin config
- * @throws IOException IO exception
- */
- protected void addIsSubTreeFilteredFlag(YangPluginConfig config)
- throws IOException {
- JavaQualifiedTypeInfoTranslator typeInfo =
- new JavaQualifiedTypeInfoTranslator();
- typeInfo.setClassInfo(BOOLEAN_DATA_TYPE);
- typeInfo.setPkgInfo(null);
- JavaAttributeInfo attributeInfo =
- getAttributeInfoForTheData(typeInfo, SUBTREE_FILTERED, null, false, false);
- addJavaSnippetInfoToApplicableTempFiles(attributeInfo, config);
- }
-
- /**
- * Adds value leaf flag to temp files.
- *
- * @param config YANG plugin config
- * @param curNode current yang node
- * @throws IOException IO exception
- */
- protected void addYangAugmentedMap(YangPluginConfig config, YangNode curNode)
- throws IOException {
- JavaFileInfoTranslator info = ((JavaCodeGeneratorInfo) curNode)
- .getJavaFileInfo();
- JavaQualifiedTypeInfoTranslator typeInfo =
- new JavaQualifiedTypeInfoTranslator();
- typeInfo.setClassInfo(AUGMENT_MAP_TYPE);
- //Fix for add yangAugmentedInfo in equals/hashcode/and to string method.
- typeInfo.setPkgInfo(null);
- typeInfo.setForInterface(false);
- JavaAttributeInfo attributeInfo =
- getAttributeInfoForTheData(typeInfo, YANG_AUGMENTED_INFO_MAP,
- null, false, false);
- //MAP
- addImportInfoOfNode(MAP, COLLECTION_IMPORTS,
- getCapitalCase(info.getJavaName()),
- info.getPackage(), true);
- //HASH map
- addImportInfoOfNode(HASH_MAP, COLLECTION_IMPORTS,
- getCapitalCase(info.getJavaName()),
- info.getPackage(), false);
-
- if (curNode.isOpTypeReq()) {
- //exception
- addImportInfoOfNode(INVOCATION_TARGET_EXCEPTION, REFLECT_IMPORTS,
- getCapitalCase(info.getJavaName()),
- info.getPackage(), false);
- }
- addJavaSnippetInfoToApplicableTempFiles(attributeInfo, config);
- }
-
private JavaQualifiedTypeInfoTranslator addImportInfoOfNode(
String cls, String pkg, String nodeName, String nodePkg,
boolean isForInterface) {
@@ -1722,27 +1497,20 @@
isAttributePresent = true;
String attrName = newAttrInfo.getAttributeName();
//Boolean flag for operation type attr info generation control.
- boolean required = !attrName.equals(VALUE_LEAF) &&
- !attrName.equals(SELECT_LEAF) &&
- !attrName.equals(YANG_AUGMENTED_INFO_MAP);
- //Boolean flag for subtree for nodes info generation control.
- boolean subTreeForChild =
- tempFlagSet(FILTER_CONTENT_MATCH_FOR_NODES_MASK) &&
- newAttrInfo.getAttributeType() == null &&
- !attrName.contains(OPERATION_TYPE_ATTRIBUTE) &&
- required && !attrName.equals(SUBTREE_FILTERED);
- ;
+ boolean required = !attrName.equals(VALUE_LEAF);
+
if (tempFlagSet(ATTRIBUTES_MASK)) {
addAttribute(newAttrInfo);
}
- if (tempFlagSet(GETTER_FOR_INTERFACE_MASK) &&
- !attrName.equals(SUBTREE_FILTERED)) {
+
+ if (tempFlagSet(GETTER_FOR_INTERFACE_MASK)) {
addGetterForInterface(newAttrInfo);
}
- if (tempFlagSet(SETTER_FOR_INTERFACE_MASK) && required &&
- !attrName.equals(SUBTREE_FILTERED)) {
+
+ if (tempFlagSet(SETTER_FOR_INTERFACE_MASK) && required) {
addSetterForInterface(newAttrInfo);
}
+
if (tempFlagSet(SETTER_FOR_CLASS_MASK) && required) {
addSetterImpl(newAttrInfo);
}
@@ -1766,17 +1534,7 @@
addAddToListInterface(newAttrInfo);
}
YangType attrType = newAttrInfo.getAttributeType();
- if (subTreeForChild) {
- addSubtreeFilteringForChildNode(newAttrInfo);
- }
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_LEAF_MASK) &&
- !listAttr && attrType != null) {
- addSubTreeFilteringForLeaf(newAttrInfo);
- }
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK) &&
- listAttr && attrType != null) {
- addSubtreeFilteringForLeafList(newAttrInfo);
- }
+
if (tempFlagSet(LEAF_IDENTIFIER_ENUM_ATTRIBUTES_MASK) &&
!listAttr && attrType != null) {
leafCount++;
@@ -1787,6 +1545,7 @@
if (tempFlagSet(GETTER_FOR_CLASS_MASK)) {
addGetterImpl(newAttrInfo);
}
+
if (tempFlagSet(FROM_STRING_IMPL_MASK)) {
JavaQualifiedTypeInfoTranslator typeInfo =
getQualifiedInfoOfFromString(newAttrInfo,
@@ -1847,10 +1606,15 @@
public void generateJavaFile(int fileType, YangNode curNode)
throws IOException {
- if (curNode.isOpTypeReq()) {
- addImportInfoOfNode(BIT_SET, JAVA_UTIL_PKG, getGeneratedJavaClassName(),
+ addImportInfoOfNode(MODEL_OBJECT, MODEL_OBJECT_PKG, getGeneratedJavaClassName(),
+ getJavaFileInfo().getPackage(), false);
+
+ if (curNode instanceof RpcNotificationContainer) {
+ addImportInfoOfNode(MAP, JAVA_UTIL_PKG,
+ getGeneratedJavaClassName(),
getJavaFileInfo().getPackage(), false);
}
+
if (isAttributePresent) {
//Object utils
addImportInfoOfNode(JAVA_UTIL_OBJECTS_IMPORT_CLASS, JAVA_UTIL_PKG,
@@ -1905,6 +1669,18 @@
removeCaseParentImport(curNode, imports);
}
+ if ((fileType & DEFAULT_CLASS_MASK) != 0) {
+ //add model object to extend list
+ JavaQualifiedTypeInfoTranslator typeInfo = new
+ JavaQualifiedTypeInfoTranslator();
+ typeInfo.setClassInfo(MODEL_OBJECT);
+ typeInfo.setForInterface(false);
+ typeInfo.setPkgInfo(MODEL_OBJECT_PKG);
+ typeInfo.setQualified(false);
+ getBeanFiles(curNode).getJavaExtendsListHolder()
+ .addToExtendsList(typeInfo, curNode, getBeanFiles(curNode));
+ }
+
if ((fileType & BUILDER_CLASS_MASK) != 0 ||
(fileType & DEFAULT_CLASS_MASK) != 0) {
@@ -1930,6 +1706,7 @@
mergeJavaFiles(builderClassJavaFileHandle,
implClassJavaFileHandle);
}
+
insertDataIntoJavaFile(implClassJavaFileHandle, CLOSE_CURLY_BRACKET);
validateLineLength(implClassJavaFileHandle);
}
@@ -1944,6 +1721,7 @@
getJavaFileHandle(getJavaClassName(
KEY_CLASS_FILE_NAME_SUFFIX));
generateKeyClassFile(keyClassJavaFileHandle, curNode);
+
}
}
//Close all the file handles.
@@ -2012,15 +1790,6 @@
if (tempFlagSet(LEAF_IDENTIFIER_ENUM_ATTRIBUTES_MASK)) {
closeFile(leafIdAttributeTempFileHandle);
}
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_LEAF_MASK)) {
- closeFile(subtreeFilteringForLeafTempFileHandle);
- }
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK)) {
- closeFile(getSubtreeFilteringForListTempFileHandle);
- }
- if (tempFlagSet(FILTER_CONTENT_MATCH_FOR_NODES_MASK)) {
- closeFile(getSubtreeFilteringForChildNodeTempFileHandle);
- }
if (tempFlagSet(EDIT_CONTENT_MASK)) {
closeFile(editContentTempFileHandle);
}
@@ -2078,15 +1847,6 @@
}
/**
- * Returns temp file for is content match.
- *
- * @return temp file for is content match
- */
- public File getSubtreeFilteringForLeafTempFileHandle() {
- return subtreeFilteringForLeafTempFileHandle;
- }
-
- /**
* Returns temp file for edit content file.
*
* @return temp file for edit content file
@@ -2096,24 +1856,6 @@
}
/**
- * Returns temp file for is content match.
- *
- * @return temp file for is content match
- */
- public File getGetSubtreeFilteringForListTempFileHandle() {
- return getSubtreeFilteringForListTempFileHandle;
- }
-
- /**
- * Returns temp file for is content match.
- *
- * @return temp file for is content match
- */
- public File getGetSubtreeFilteringForChildNodeTempFileHandle() {
- return getSubtreeFilteringForChildNodeTempFileHandle;
- }
-
- /**
* Checks if a given flag is set in generated java files.
* Returns true if ANY flag is set in a bitwise-ORed argument, e.g.
* <pre>
@@ -2146,4 +1888,5 @@
public void setAttrNode(YangNode attrNode) {
this.attrNode = attrNode;
}
+
}
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/YangJavaModelUtils.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/YangJavaModelUtils.java
index 4cc70c2..ddc83f2 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/YangJavaModelUtils.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/YangJavaModelUtils.java
@@ -51,7 +51,7 @@
import java.util.Map;
import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.getParentNodeInGenCode;
-import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.isRpcChildNodePresent;
+import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.isRpcNotificationPresent;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
import static org.onosproject.yang.compiler.translator.tojava.TempJavaFragmentFiles.addCurNodeInfoInParentTempFile;
@@ -263,16 +263,6 @@
if (isLeafPresent) {
bean.addValueLeafFlag(config, (YangNode) info);
}
- if (((YangNode) info).isOpTypeReq()) {
- // Add operation type as an attribute.
- bean.addOperationTypeToTempFiles((YangNode) info,
- config);
- bean.addIsSubTreeFilteredFlag(config);
- if (isLeafPresent) {
- //Add select leaf flag attribute to temp file.
- bean.addSelectLeafFlag(config);
- }
- }
} else if (info instanceof YangTypeHolder) {
/*
* Typedef
@@ -429,9 +419,6 @@
generateCodeOfNode(info, config);
TempJavaBeanFragmentFiles tempFiles = getBeanFiles(info);
- if (!(info instanceof YangChoice)) {
- tempFiles.addYangAugmentedMap(config, (YangNode) info);
- }
if (info instanceof YangCase) {
YangNode parent = ((YangCase) info).getParent();
JavaQualifiedTypeInfoTranslator typeInfo =
@@ -514,7 +501,7 @@
}
updatePackageInfo(info, config, rootPkg);
- if (isRpcChildNodePresent((YangNode) info)) {
+ if (isRpcNotificationPresent((YangNode) info)) {
info.getJavaFileInfo().addGeneratedFileTypes(GENERATE_SERVICE_AND_MANAGER);
}
generateTempFiles(info, config);
@@ -557,16 +544,6 @@
}
/**
- * Returns true if get/set method of root node are required.
- *
- * @param node root node
- * @return true if get/set method of root node are required
- */
- public static boolean isGetSetOfRootNodeRequired(YangNode node) {
- return isNodeCodeGenRequired(node, false);
- }
-
- /**
* Returns true if either get/set method of root node are required or root
* node contains any data node. This check is done depending on the
* boolean parameter indicating whether check to be performed for root
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaModuleTranslator.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaModuleTranslator.java
index dbc6803..51fb388 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaModuleTranslator.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaModuleTranslator.java
@@ -28,6 +28,8 @@
import java.io.IOException;
import java.util.ArrayList;
+import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.isRpcChildNodePresent;
+import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.isRpcNotificationPresent;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_ALL_EVENT_CLASS_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
@@ -133,7 +135,9 @@
try {
generateCodeOfRootNode(this, yangPlugin, modulePkg);
//Add augmented rpc name
- tempFileHandle.getServiceTempFiles().addAugmentedRpcMethod(this);
+ if (isRpcChildNodePresent(this)) {
+ tempFileHandle.getServiceTempFiles().addAugmentedRpcMethod(this);
+ }
} catch (IOException e) {
throw new TranslatorException(getErrorMsg(FAIL_AT_ENTRY, this,
e.getLocalizedMessage()));
@@ -173,8 +177,10 @@
.getCodeGenerateForSbi() == null ||
!getJavaFileInfo().getPluginConfig()
.getCodeGenerateForSbi().equals(SBI)) {
- getTempJavaCodeFragmentFiles()
- .generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
+ if (isRpcNotificationPresent(this)) {
+ getTempJavaCodeFragmentFiles()
+ .generateJavaFile(GENERATE_SERVICE_AND_MANAGER, this);
+ }
}
}
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaSubModuleTranslator.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
index 5cee773..76e3ff7 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
@@ -29,6 +29,8 @@
import java.io.IOException;
import java.util.ArrayList;
+import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.isRpcChildNodePresent;
+import static org.onosproject.yang.compiler.datamodel.utils.DataModelUtils.isRpcNotificationPresent;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_ALL_EVENT_CLASS_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
@@ -145,8 +147,10 @@
}
try {
generateCodeOfRootNode(this, yangPlugin, subModulePkg);
- tempFileHandle.getServiceTempFiles().addAugmentedRpcMethod(
- this);
+ if (isRpcChildNodePresent(this)) {
+ tempFileHandle.getServiceTempFiles().addAugmentedRpcMethod(
+ this);
+ }
} catch (IOException e) {
throw new TranslatorException(getErrorMsg(FAIL_AT_ENTRY, this,
e.getLocalizedMessage()));
@@ -183,8 +187,10 @@
.getCodeGenerateForSbi() == null ||
!getJavaFileInfo().getPluginConfig()
.getCodeGenerateForSbi().equals(SBI)) {
- getTempJavaCodeFragmentFiles().generateJavaFile(
- GENERATE_SERVICE_AND_MANAGER, this);
+ if (isRpcNotificationPresent(this)) {
+ getTempJavaCodeFragmentFiles().generateJavaFile(
+ GENERATE_SERVICE_AND_MANAGER, this);
+ }
}
}
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/ClassDefinitionGenerator.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/ClassDefinitionGenerator.java
index 115d220..896426a 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/ClassDefinitionGenerator.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/ClassDefinitionGenerator.java
@@ -71,6 +71,7 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.IMPLEMENTS;
import static org.onosproject.yang.compiler.utils.UtilConstants.INTERFACE;
import static org.onosproject.yang.compiler.utils.UtilConstants.LISTENER_SERVICE;
+import static org.onosproject.yang.compiler.utils.UtilConstants.MODEL_OBJECT;
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW_LINE;
import static org.onosproject.yang.compiler.utils.UtilConstants.OPEN_CURLY_BRACKET;
import static org.onosproject.yang.compiler.utils.UtilConstants.OP_PARAM;
@@ -239,16 +240,10 @@
*/
private static String getImplClassDefinition(String yangName,
YangNode curNode) {
- if (!(curNode instanceof YangCase)) {
- String clsDef = getClassDefinitionForWhenExtended(
- curNode, yangName, DEFAULT_CLASS_MASK);
- if (clsDef != null) {
- return clsDef;
- }
- }
- if (curNode instanceof RpcNotificationContainer) {
- return getDefaultDefinitionWithImpl(
- CLASS, getSuffixedName(yangName, OP_PARAM), PUBLIC, yangName);
+ String clsDef = getClassDefinitionForWhenExtended(
+ curNode, yangName, DEFAULT_CLASS_MASK);
+ if (clsDef != null) {
+ return clsDef;
}
return getDefaultDefinitionWithImpl(CLASS, getDefaultName(yangName),
PUBLIC, yangName);
@@ -416,16 +411,26 @@
def.toString(), holder));
break;
case BUILDER_CLASS_MASK:
+ boolean isModelObject = false;
+ for (JavaQualifiedTypeInfoTranslator info : holder.getExtendsList()) {
+ if (info.getClassInfo().equals(MODEL_OBJECT)) {
+ isModelObject = true;
+ }
+ }
def.append(STATIC).append(SPACE).append(CLASS)
- .append(SPACE).append(yangName).append(BUILDER)
- .append(SPACE).append(EXTEND).append(SPACE);
- def = new StringBuilder(getDefinitionString(def.toString(),
- holder));
+ .append(SPACE).append(yangName).append(BUILDER);
+ if (!isModelObject) {
+ def.append(SPACE).append(EXTEND).append(SPACE);
+ def = new StringBuilder(getDefinitionString(def.toString(),
+ holder));
+ }
def.append(SPACE).append(IMPLEMENTS).append(SPACE)
.append(yangName).append(PERIOD)
.append(yangName).append(BUILDER);
break;
case DEFAULT_CLASS_MASK:
+
+ // class defination
if (curNode instanceof RpcNotificationContainer) {
def.append(CLASS).append(SPACE).append(yangName)
.append(OP_PARAM).append(SPACE).append(EXTEND)
@@ -435,9 +440,18 @@
.append(yangName).append(SPACE).append(EXTEND)
.append(SPACE);
}
- def = new StringBuilder(getDefinitionString(def.toString(),
- holder));
- def.append(SPACE).append(IMPLEMENTS).append(SPACE)
+
+ // append with extendList
+ if (curNode instanceof YangCase) {
+ def = new StringBuilder(getDefinitionStringForCase(def.toString(),
+ holder));
+ } else {
+ def = new StringBuilder(getDefinitionString(def.toString(),
+ holder));
+ }
+
+ // append implements
+ def.append(IMPLEMENTS).append(SPACE)
.append(yangName);
break;
default:
@@ -472,4 +486,24 @@
def = builder.toString();
return trimAtLast(def, COMMA);
}
+
+ /**
+ * Returns updated class definition for case.
+ *
+ * @param def current definition
+ * @param holder extend list holder
+ * @return updated class definition
+ */
+ private static String getDefinitionStringForCase(String def,
+ JavaExtendsListHolder holder) {
+ StringBuilder builder = new StringBuilder(def);
+ for (JavaQualifiedTypeInfoTranslator info : holder.getExtendsList()) {
+ if (!info.getClassInfo().equals(MODEL_OBJECT)) {
+ continue;
+ }
+ builder.append(info.getClassInfo() + COMMA + SPACE);
+ }
+ def = builder.toString();
+ return trimAtLast(def, COMMA);
+ }
}
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaCodeSnippetGen.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaCodeSnippetGen.java
index 810123c..9cb4cca 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaCodeSnippetGen.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaCodeSnippetGen.java
@@ -43,7 +43,6 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.ENUM;
import static org.onosproject.yang.compiler.utils.UtilConstants.EQUAL;
import static org.onosproject.yang.compiler.utils.UtilConstants.FOUR_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.HASH_MAP;
import static org.onosproject.yang.compiler.utils.UtilConstants.INT;
import static org.onosproject.yang.compiler.utils.UtilConstants.INT_MAX_RANGE_ATTR;
import static org.onosproject.yang.compiler.utils.UtilConstants.INT_MIN_RANGE_ATTR;
@@ -55,14 +54,12 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW;
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW_LINE;
import static org.onosproject.yang.compiler.utils.UtilConstants.OPEN_CLOSE_BRACKET_STRING;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OPEN_CLOSE_DIAMOND_STRING;
import static org.onosproject.yang.compiler.utils.UtilConstants.PERIOD;
import static org.onosproject.yang.compiler.utils.UtilConstants.PRIVATE;
import static org.onosproject.yang.compiler.utils.UtilConstants.PUBLIC;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUEUE;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUOTES;
import static org.onosproject.yang.compiler.utils.UtilConstants.SCHEMA_NAME;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SELECT_LEAF;
import static org.onosproject.yang.compiler.utils.UtilConstants.SEMI_COLON;
import static org.onosproject.yang.compiler.utils.UtilConstants.SET;
import static org.onosproject.yang.compiler.utils.UtilConstants.SET_VALUE_PARA;
@@ -78,7 +75,6 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.ULONG_MAX_RANGE_ATTR;
import static org.onosproject.yang.compiler.utils.UtilConstants.ULONG_MIN_RANGE_ATTR;
import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_LEAF;
-import static org.onosproject.yang.compiler.utils.UtilConstants.YANG_AUGMENTED_INFO_MAP;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.ENUM_ATTRIBUTE;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.enumJavaDocForInnerClass;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.getJavaDoc;
@@ -147,15 +143,10 @@
attrDef.append(attrType).append(SPACE)
.append(attrName);
//Initialize select leaf/value leaf/ augment map attribute.
- if (attrName.equals(SELECT_LEAF) || attrName.equals(VALUE_LEAF)) {
+ if (attrName.equals(VALUE_LEAF)) {
attrDef.append(SPACE).append(EQUAL).append(SPACE).append(NEW)
.append(SPACE).append(BIT_SET)
.append(OPEN_CLOSE_BRACKET_STRING);
- } else if (attrName.equals(YANG_AUGMENTED_INFO_MAP)) {
- attrDef.append(SPACE).append(EQUAL).append(SPACE).append(NEW)
- .append(SPACE).append(HASH_MAP)
- .append(OPEN_CLOSE_DIAMOND_STRING)
- .append(OPEN_CLOSE_BRACKET_STRING);
}
attrDef.append(signatureClose());
@@ -405,38 +396,6 @@
}
/**
- * Returns operation type enum.
- *
- * @return operation type enum
- */
- static String getOperationTypeEnum() {
- return " /**\n" +
- " * Specify the node specific operation in protocols " +
- "like NETCONF.\n" +
- " * Applicable in protocol edit operation, not applicable" +
- " in query operation\n" +
- " */\n" +
- " public static enum OnosYangOpType {\n" +
- " MERGE,\n" +
- " REPLACE,\n" +
- " CREATE,\n" +
- " DELETE,\n" +
- " REMOVE,\n" +
- " NONE\n" +
- " }\n";
- }
-
- /**
- * Returns attribute in constructor for yang augmented info map.
- *
- * @return augment info map
- */
- static String getYangAugmentedMapObjectForConstruct() {
- return " this.yangAugmentedInfoMap = builderObject" +
- ".yangAugmentedInfoMap();\n";
- }
-
- /**
* Returns set value parameter for union class.
*
* @return set value parameter for union class.
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaExtendsListHolder.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaExtendsListHolder.java
index 2ae1905..ce22cda 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaExtendsListHolder.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaExtendsListHolder.java
@@ -74,13 +74,15 @@
*/
public void addToExtendsList(JavaQualifiedTypeInfoTranslator info, YangNode node,
TempJavaFragmentFiles tempJavaFragmentFiles) {
- JavaFileInfoTranslator fileInfo = ((JavaFileInfoContainer) node).getJavaFileInfo();
+
+ JavaFileInfoTranslator fileInfo = ((JavaFileInfoContainer) node)
+ .getJavaFileInfo();
JavaImportData importData = tempJavaFragmentFiles.getJavaImportData();
- boolean qualified = importData.addImportInfo(info,
- getCapitalCase(fileInfo.getJavaName()), fileInfo.getPackage());
-
- /*true means import should be added*/
+ boolean qualified = importData
+ .addImportInfo(info, getCapitalCase(fileInfo.getJavaName()),
+ fileInfo.getPackage());
+ /*true means import should be added*/
getExtendedClassStore().put(info, qualified);
addToExtendsList(info);
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGenerator.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGenerator.java
index 546ed05..b9c609e 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGenerator.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGenerator.java
@@ -17,8 +17,6 @@
package org.onosproject.yang.compiler.translator.tojava.utils;
import org.onosproject.yang.compiler.datamodel.RpcNotificationContainer;
-import org.onosproject.yang.compiler.datamodel.YangAugmentableNode;
-import org.onosproject.yang.compiler.datamodel.YangChoice;
import org.onosproject.yang.compiler.datamodel.YangEnumeration;
import org.onosproject.yang.compiler.datamodel.YangLeavesHolder;
import org.onosproject.yang.compiler.datamodel.YangNode;
@@ -78,9 +76,7 @@
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.SETTER_FOR_CLASS_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.SETTER_FOR_INTERFACE_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.TO_STRING_IMPL_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.TempJavaFragmentFiles.getCurNodeAsAttributeInTarget;
import static org.onosproject.yang.compiler.translator.tojava.TempJavaFragmentFiles.getListOfAttributesForKey;
-import static org.onosproject.yang.compiler.translator.tojava.YangJavaModelUtils.isGetSetOfRootNodeRequired;
import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.FOUR_SPACE;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaCodeSnippetGen.addStaticAttributeIntRange;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaCodeSnippetGen.addStaticAttributeLongRange;
@@ -88,17 +84,15 @@
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaCodeSnippetGen.getEnumsValueAttribute;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaCodeSnippetGen.getEventEnumTypeStart;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaCodeSnippetGen.getJavaAttributeDefinition;
-import static org.onosproject.yang.compiler.translator.tojava.utils.JavaCodeSnippetGen.getOperationTypeEnum;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaCodeSnippetGen.getSetValueParaForUnionClass;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaFileGeneratorUtils.getDataFromTempFileHandle;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaFileGeneratorUtils.initiateJavaFileGeneration;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodBodyTypes.ENUM_METHOD_INT_VALUE;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodBodyTypes.ENUM_METHOD_STRING_VALUE;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.builderMethod;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.generateBuildMethodForSubTree;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getAddAugmentInfoMethodImpl;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getAddAugmentInfoMethodInterface;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getAugmentsDataMethodForService;
+import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getAddAugmentationString;
+import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getAugmentationString;
+import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getAugmentationsString;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getBitSetEnumClassFromString;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getBitSetEnumClassToString;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getCompareToForKeyClass;
@@ -112,39 +106,24 @@
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getFromStringMethodSignature;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getGetter;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getGetterForClass;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getGetterString;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getHashCodeMethod;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getHashCodeMethodClose;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getHashCodeMethodOpen;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getInterfaceLeafIdEnumSignature;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getRangeValidatorMethodForUnion;
+import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getRemoveAugmentationString;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getSetterForClass;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getSetterForSelectLeaf;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getSetterString;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getToStringForEnumClass;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getToStringForType;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getToStringMethodClose;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getToStringMethodOpen;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getUnionToStringMethod;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getYangAugmentInfoImpl;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getYangAugmentInfoInterface;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.isLeafValueSetInterface;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.isSelectLeafSetInterface;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.setSelectLeafSetInterface;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getImportString;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getInterfaceLeafIdEnumMethods;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getIsSelectLeafSet;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getIsValueLeafSet;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.methodClose;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.signatureClose;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getAugmentableSubTreeFiltering;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessChildNodeSubtreeFiltering;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessLeafListSubtreeFiltering;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessLeafSubtreeFiltering;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessSubTreeFilteringEnd;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessSubTreeForChoiceInterface;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessSubtreeFilteringStart;
-import static org.onosproject.yang.compiler.translator.tojava.utils.SubtreeFilteringMethodsGenerator.getProcessSubtreeFunctionBody;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorUtils.addDefaultConstructor;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorUtils.getBeanFiles;
import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorUtils.getTypeFiles;
@@ -238,18 +217,8 @@
initiateJavaFileGeneration(file, INTERFACE_MASK, imports, curNode,
className);
- // Generate ENUM interface
- if (curNode instanceof RpcNotificationContainer) {
- insertDataIntoJavaFile(file, getOperationTypeEnum());
- }
List<String> methods = new ArrayList<>();
- //Add only for choice class
- if (curNode instanceof YangChoice) {
- insertDataIntoJavaFile(file, getProcessSubTreeForChoiceInterface(
- curNode));
- }
-
if (attrPresent) {
// Add getter methods to interface file.
try {
@@ -273,16 +242,8 @@
}
}
- if (curNode instanceof YangAugmentableNode &&
- !(curNode instanceof YangChoice)) {
- methods.add(getYangAugmentInfoInterface());
- }
-
if (leavesPresent) {
methods.add(isLeafValueSetInterface());
- if (curNode.isOpTypeReq()) {
- methods.add(isSelectLeafSetInterface());
- }
}
for (String method : methods) {
insertDataIntoJavaFile(file, method);
@@ -349,15 +310,6 @@
}
}
- if (curNode instanceof YangAugmentableNode &&
- !(curNode instanceof YangChoice)) {
- methods.add(getAddAugmentInfoMethodInterface(className + BUILDER));
- methods.add(getYangAugmentInfoInterface());
- }
-
- if (leavesPresent) {
- methods.add(setSelectLeafSetInterface(className));
- }
//Add build method to builder interface file.
methods.add(((TempJavaCodeFragmentFilesContainer) curNode)
.getTempJavaCodeFragmentFiles()
@@ -432,12 +384,6 @@
ADD_TO_LIST_IMPL_MASK, getBeanFiles(curNode), path));
insertDataIntoJavaFile(file, NEW_LINE);
-
- //Add operation attribute methods.
- if (leavesPresent && curNode.isOpTypeReq()) {
- insertDataIntoJavaFile(file, NEW_LINE);
- methods.add(getSetterForSelectLeaf(className));
- }
} catch (IOException e) {
throw new IOException(getErrorMsg(className, BUILDER_CLASS));
}
@@ -445,18 +391,11 @@
insertDataIntoJavaFile(file, NEW_LINE);
}
- if (curNode instanceof YangAugmentableNode) {
- methods.add(getAddAugmentInfoMethodImpl(className + BUILDER));
- methods.add(getYangAugmentInfoImpl());
- }
-
// Add default constructor and build method impl.
methods.add(((TempJavaCodeFragmentFilesContainer) curNode)
.getTempJavaCodeFragmentFiles()
.addBuildMethodImpl());
- if (curNode.isOpTypeReq()) {
- methods.add(generateBuildMethodForSubTree(curNode));
- }
+
methods.add(addDefaultConstructor(curNode, PUBLIC, BUILDER));
//Add methods in builder class.
@@ -618,9 +557,6 @@
insertDataIntoJavaFile(file, NEW_LINE);
}
- if (curNode instanceof YangAugmentableNode) {
- methods.add(getYangAugmentInfoImpl());
- }
try {
//Constructor.
String constructor = getConstructorStart(className, rootNode) +
@@ -628,35 +564,6 @@
CONSTRUCTOR_IMPL_MASK, getBeanFiles(curNode), path)
+ methodClose(FOUR_SPACE);
methods.add(constructor);
- if (curNode.isOpTypeReq()) {
- String augmentableSubTreeFiltering = EMPTY_STRING;
- if (curNode instanceof YangAugmentableNode) {
- // add is filter content match.
- augmentableSubTreeFiltering = getAugmentableSubTreeFiltering();
- }
- methods.add(getProcessSubtreeFilteringStart(curNode) +
- getProcessSubtreeFunctionBody(curNode) +
- augmentableSubTreeFiltering +
- getProcessSubTreeFilteringEnd(name));
-
- if (curNode instanceof YangLeavesHolder) {
- if (((YangLeavesHolder) curNode).getListOfLeaf() != null &&
- !((YangLeavesHolder) curNode).getListOfLeaf().isEmpty()) {
- methods.add(getProcessLeafSubtreeFiltering(curNode,
- path));
- }
- if (((YangLeavesHolder) curNode).getListOfLeafList() != null &&
- !((YangLeavesHolder) curNode).getListOfLeafList().isEmpty()) {
- methods.add(getProcessLeafListSubtreeFiltering(curNode,
- path));
- }
- }
-
- if (curNode.getChild() != null) {
- methods.add(getProcessChildNodeSubtreeFiltering(curNode,
- path));
- }
- }
} catch (IOException e) {
throw new IOException(getErrorMsg(className, IMPL_CLASS));
}
@@ -666,10 +573,15 @@
methods.add(builderMethod(className));
if (leavesPresent) {
methods.add(getIsValueLeafSet());
- if (curNode.isOpTypeReq()) {
- methods.add(getIsSelectLeafSet());
- }
}
+
+ if (curNode instanceof RpcNotificationContainer) {
+ methods.add(getAddAugmentationString());
+ methods.add(getRemoveAugmentationString());
+ methods.add(getAugmentationsString());
+ methods.add(getAugmentationString());
+ }
+
// Add methods in impl class.
for (String method : methods) {
insertDataIntoJavaFile(file, method);
@@ -1129,25 +1041,8 @@
curNode, className);
List<String> methods = new ArrayList<>();
- JavaAttributeInfo rootAttribute =
- getCurNodeAsAttributeInTarget(curNode, curNode, false,
- tempFiles);
try {
-
- if (isGetSetOfRootNodeRequired(curNode)) {
- //Getter methods.
- methods.add(getGetterString(rootAttribute,
- GENERATE_SERVICE_AND_MANAGER) +
- NEW_LINE);
- // Setter methods.
- methods.add(getSetterString(rootAttribute, className,
- GENERATE_SERVICE_AND_MANAGER) +
- NEW_LINE);
- }
-
- methods.add(getAugmentsDataMethodForService(curNode));
-
if (((JavaCodeGeneratorInfo) curNode).getTempJavaCodeFragmentFiles()
.getServiceTempFiles() != null) {
JavaCodeGeneratorInfo javaGenInfo =
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGeneratorUtils.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGeneratorUtils.java
index 81c7cb1..6c1ac6b 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGeneratorUtils.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/JavaFileGeneratorUtils.java
@@ -71,9 +71,6 @@
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.EVENT_SUBJECT_ATTRIBUTE_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.EVENT_SUBJECT_GETTER_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.EVENT_SUBJECT_SETTER_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_LEAF_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_NODES_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FROM_STRING_IMPL_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.GETTER_FOR_CLASS_MASK;
import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.GETTER_FOR_INTERFACE_MASK;
@@ -210,21 +207,6 @@
tempHandle.getAddToListImplTempFileHandle(),
path);
}
- if ((tempFiles & FILTER_CONTENT_MATCH_FOR_LEAF_MASK) != 0) {
- return tempHandle.getTemporaryDataFromFileHandle(
- tempHandle.getSubtreeFilteringForLeafTempFileHandle(),
- path);
- }
- if ((tempFiles & FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK) != 0) {
- return tempHandle.getTemporaryDataFromFileHandle(
- tempHandle.getGetSubtreeFilteringForListTempFileHandle(),
- path);
- }
- if ((tempFiles & FILTER_CONTENT_MATCH_FOR_NODES_MASK) != 0) {
- return tempHandle.getTemporaryDataFromFileHandle(
- tempHandle.getGetSubtreeFilteringForChildNodeTempFileHandle(),
- path);
- }
if ((tempFiles & EDIT_CONTENT_MASK) != 0) {
return tempHandle.getTemporaryDataFromFileHandle(
tempHandle.getEditContentTempFileHandle(),
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodBodyTypes.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodBodyTypes.java
index a5fcef3..2622809 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodBodyTypes.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodBodyTypes.java
@@ -48,15 +48,6 @@
//add to list method body.
ADD_TO_LIST,
- //Augment map getter for full map.
- AUGMENTED_MAP_GETTER,
-
- //Augment map getter for value.
- AUGMENTED_MAP_GET_VALUE,
-
- //Augment map add
- AUGMENTED_MAP_ADD,
-
//Manager methods
MANAGER_METHODS,
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodsGenerator.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodsGenerator.java
index 81e86a7..e25971f 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodsGenerator.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/MethodsGenerator.java
@@ -17,7 +17,6 @@
package org.onosproject.yang.compiler.translator.tojava.utils;
import org.onosproject.yang.compiler.datamodel.InvalidOpTypeHolder;
-import org.onosproject.yang.compiler.datamodel.RpcNotificationContainer;
import org.onosproject.yang.compiler.datamodel.YangAppDataStructure;
import org.onosproject.yang.compiler.datamodel.YangAtomicPath;
import org.onosproject.yang.compiler.datamodel.YangCompilerAnnotation;
@@ -52,8 +51,6 @@
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaFileGeneratorUtils.getCurNodeName;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaFileGeneratorUtils.getSetOfNodeIdentifiers;
import static org.onosproject.yang.compiler.translator.tojava.utils.JavaIdentifierSyntax.getEnumJavaAttribute;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodBodyTypes.AUGMENTED_MAP_ADD;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodBodyTypes.AUGMENTED_MAP_GET_VALUE;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodBodyTypes.GETTER;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodBodyTypes.MANAGER_METHODS;
import static org.onosproject.yang.compiler.translator.tojava.utils.MethodBodyTypes.SETTER;
@@ -96,10 +93,13 @@
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.multiAttrMethodSignature;
import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.signatureClose;
import static org.onosproject.yang.compiler.utils.UtilConstants.ADD;
+import static org.onosproject.yang.compiler.utils.UtilConstants.ADD_AUGMENTATION;
import static org.onosproject.yang.compiler.utils.UtilConstants.ADD_STRING;
import static org.onosproject.yang.compiler.utils.UtilConstants.AND;
import static org.onosproject.yang.compiler.utils.UtilConstants.APPEND;
import static org.onosproject.yang.compiler.utils.UtilConstants.ARRAY_LIST_INIT;
+import static org.onosproject.yang.compiler.utils.UtilConstants.AUGMENTATION;
+import static org.onosproject.yang.compiler.utils.UtilConstants.AUGMENTATIONS;
import static org.onosproject.yang.compiler.utils.UtilConstants.AUGMENTED;
import static org.onosproject.yang.compiler.utils.UtilConstants.BASE64;
import static org.onosproject.yang.compiler.utils.UtilConstants.BIG_INTEGER;
@@ -109,7 +109,7 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.BUILD;
import static org.onosproject.yang.compiler.utils.UtilConstants.BUILDER;
import static org.onosproject.yang.compiler.utils.UtilConstants.BUILDER_LOWER_CASE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BUILD_FOR_FILTER;
+import static org.onosproject.yang.compiler.utils.UtilConstants.CAMEL_CLASS;
import static org.onosproject.yang.compiler.utils.UtilConstants.CASE;
import static org.onosproject.yang.compiler.utils.UtilConstants.CLASS;
import static org.onosproject.yang.compiler.utils.UtilConstants.CLASS_STRING;
@@ -148,15 +148,17 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.INSTANCE_OF;
import static org.onosproject.yang.compiler.utils.UtilConstants.INT;
import static org.onosproject.yang.compiler.utils.UtilConstants.IS_EMPTY;
-import static org.onosproject.yang.compiler.utils.UtilConstants.IS_SELECT_LEAF;
import static org.onosproject.yang.compiler.utils.UtilConstants.KEYS;
import static org.onosproject.yang.compiler.utils.UtilConstants.LEAF;
import static org.onosproject.yang.compiler.utils.UtilConstants.LEAF_IDENTIFIER;
+import static org.onosproject.yang.compiler.utils.UtilConstants.LEFT_ANGULAR_BRACKET;
import static org.onosproject.yang.compiler.utils.UtilConstants.LINKED_HASH_MAP;
import static org.onosproject.yang.compiler.utils.UtilConstants.LINKED_HASH_SET;
import static org.onosproject.yang.compiler.utils.UtilConstants.LONG;
+import static org.onosproject.yang.compiler.utils.UtilConstants.MAP;
import static org.onosproject.yang.compiler.utils.UtilConstants.MAX_RANGE;
import static org.onosproject.yang.compiler.utils.UtilConstants.MIN_RANGE;
+import static org.onosproject.yang.compiler.utils.UtilConstants.MODEL_OBJECT;
import static org.onosproject.yang.compiler.utils.UtilConstants.NEG_ONE;
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW;
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW_LINE;
@@ -178,19 +180,18 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.PERIOD;
import static org.onosproject.yang.compiler.utils.UtilConstants.PRIORITY_QUEUE;
import static org.onosproject.yang.compiler.utils.UtilConstants.PRIVATE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PROCESS_SUBTREE_FILTERING;
import static org.onosproject.yang.compiler.utils.UtilConstants.PROTECTED;
import static org.onosproject.yang.compiler.utils.UtilConstants.PUBLIC;
import static org.onosproject.yang.compiler.utils.UtilConstants.PUT;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUESTION_MARK;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUOTES;
+import static org.onosproject.yang.compiler.utils.UtilConstants.REMOVE_AUGMENTATION;
import static org.onosproject.yang.compiler.utils.UtilConstants.RETURN;
+import static org.onosproject.yang.compiler.utils.UtilConstants.RIGHT_ANGULAR_BRACKET;
import static org.onosproject.yang.compiler.utils.UtilConstants.RPC_INPUT_VAR_NAME;
import static org.onosproject.yang.compiler.utils.UtilConstants.SCHEMA_NAME;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SELECT_ALL_CHILD;
import static org.onosproject.yang.compiler.utils.UtilConstants.SEMI_COLON;
import static org.onosproject.yang.compiler.utils.UtilConstants.SET_METHOD_PREFIX;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SET_SELECT_LEAF;
import static org.onosproject.yang.compiler.utils.UtilConstants.SET_VALUE_PARA;
import static org.onosproject.yang.compiler.utils.UtilConstants.SIXTEEN_SPACE_INDENTATION;
import static org.onosproject.yang.compiler.utils.UtilConstants.SPACE;
@@ -199,9 +200,9 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.STATIC;
import static org.onosproject.yang.compiler.utils.UtilConstants.STRING_BUILDER_VAR;
import static org.onosproject.yang.compiler.utils.UtilConstants.STRING_DATA_TYPE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SUBTREE_FILTERED;
import static org.onosproject.yang.compiler.utils.UtilConstants.SUFFIX_S;
import static org.onosproject.yang.compiler.utils.UtilConstants.SWITCH;
+import static org.onosproject.yang.compiler.utils.UtilConstants.TEMPLATE_T;
import static org.onosproject.yang.compiler.utils.UtilConstants.THIS;
import static org.onosproject.yang.compiler.utils.UtilConstants.TMP_VAL;
import static org.onosproject.yang.compiler.utils.UtilConstants.TO_CAPS;
@@ -214,9 +215,8 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_CAPS;
import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_LEAF;
import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_LEAF_SET;
+import static org.onosproject.yang.compiler.utils.UtilConstants.VARIABLE_C;
import static org.onosproject.yang.compiler.utils.UtilConstants.VOID;
-import static org.onosproject.yang.compiler.utils.UtilConstants.YANG_AUGMENTED_INFO;
-import static org.onosproject.yang.compiler.utils.UtilConstants.YANG_AUGMENTED_INFO_LOWER_CASE;
import static org.onosproject.yang.compiler.utils.UtilConstants.ZERO;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.BUILD_METHOD;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.CONSTRUCTOR;
@@ -227,9 +227,7 @@
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.SETTER_METHOD;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.JavaDocType.TYPE_CONSTRUCTOR;
-import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.generateForAddAugmentation;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.generateForBuilderMethod;
-import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.generateForGetAugmentation;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.generateForGetMethodWithAttribute;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.generateForValidatorMethod;
import static org.onosproject.yang.compiler.utils.io.impl.JavaDocGen.getJavaDoc;
@@ -371,6 +369,46 @@
}
/**
+ * Returns add augmentation method string.
+ *
+ * @return add augmentation string
+ */
+ public static String getAddAugmentationString() {
+ return getOverRideString() +
+ getAddAugmentation();
+ }
+
+ /**
+ * Returns remove augmentation method string.
+ *
+ * @return remove augmentation string
+ */
+ public static String getRemoveAugmentationString() {
+ return getOverRideString() +
+ getRemoveAugmentation();
+ }
+
+ /**
+ * Returns augmentations method string.
+ *
+ * @return augmentations string
+ */
+ public static String getAugmentationsString() {
+ return getOverRideString() +
+ getAugmentations();
+ }
+
+ /**
+ * Returns augmentation method string.
+ *
+ * @return augmentation string
+ */
+ public static String getAugmentationString() {
+ return getOverRideString() +
+ getAugmentation();
+ }
+
+ /**
* Returns the getter method strings for class file.
*
* @param attr attribute info
@@ -761,6 +799,62 @@
}
/**
+ * Returns the add augmentation strings for class file.
+ *
+ * @return add augmentation method for class
+ */
+ private static String getAddAugmentation() {
+ return methodSignature(ADD_AUGMENTATION, EMPTY_STRING, PUBLIC, OBJ,
+ VOID, MODEL_OBJECT, CLASS_TYPE) +
+ methodClose(FOUR_SPACE);
+ }
+
+ /**
+ * Returns the remove augmentation strings for class file.
+ *
+ * @return remove augmentation method for class
+ */
+ private static String getRemoveAugmentation() {
+ return methodSignature(REMOVE_AUGMENTATION, EMPTY_STRING, PUBLIC,
+ OBJ, VOID, MODEL_OBJECT, CLASS_TYPE) +
+ methodClose(FOUR_SPACE);
+ }
+
+ /**
+ * Returns the augmentations method for class file.
+ *
+ * @return augmentations method for class
+ */
+ private static String getAugmentations() {
+ String methodReturnType = MAP + LEFT_ANGULAR_BRACKET + CAMEL_CLASS +
+ LEFT_ANGULAR_BRACKET + QUESTION_MARK + SPACE + EXTEND +
+ SPACE + MODEL_OBJECT + RIGHT_ANGULAR_BRACKET + COMMA +
+ SPACE + MODEL_OBJECT + RIGHT_ANGULAR_BRACKET;
+ return methodSignature(AUGMENTATIONS, EMPTY_STRING, PUBLIC, null,
+ methodReturnType, null, CLASS_TYPE) + NEW_LINE +
+ getReturnString(NULL, EIGHT_SPACE_INDENTATION) + SEMI_COLON +
+ NEW_LINE + methodClose(FOUR_SPACE);
+ }
+
+ /**
+ * Returns the augmentation strings for class file.
+ *
+ * @return augmentation method for class
+ */
+ private static String getAugmentation() {
+ String methodReturnType = LEFT_ANGULAR_BRACKET + TEMPLATE_T + SPACE +
+ EXTEND + SPACE + MODEL_OBJECT + RIGHT_ANGULAR_BRACKET + SPACE +
+ TEMPLATE_T;
+ String paraReturntype = CAMEL_CLASS + LEFT_ANGULAR_BRACKET + TEMPLATE_T +
+ RIGHT_ANGULAR_BRACKET;
+ return methodSignature(AUGMENTATION, EMPTY_STRING, PUBLIC, VARIABLE_C,
+ methodReturnType,
+ paraReturntype, CLASS_TYPE) + NEW_LINE +
+ getReturnString(NULL, EIGHT_SPACE_INDENTATION) + SEMI_COLON +
+ NEW_LINE + methodClose(FOUR_SPACE);
+ }
+
+ /**
* Returns to string method's open strings.
*
* @return string method's open string
@@ -1185,72 +1279,6 @@
}
/**
- * Returns interface of add augmentation.
- *
- * @param className class name
- * @return interface of add augmentation
- */
- static String getAddAugmentInfoMethodInterface(String className) {
- StringBuilder builder = new StringBuilder(generateForAddAugmentation(className));
- LinkedHashMap<String, String> map = new LinkedHashMap<>();
- map.put(VALUE, OBJECT_STRING);
- map.put(CLASS + OBJECT_STRING, CLASS_STRING);
- builder.append(multiAttrMethodSignature(ADD_STRING + YANG_AUGMENTED_INFO,
- null, null, className, map,
- INTERFACE_TYPE));
- return builder.toString();
- }
-
- /**
- * Returns implementation of add augmentation.
- *
- * @param className class name
- * @return implementation of add augmentation
- */
- static String getAddAugmentInfoMethodImpl(String className) {
- StringBuilder builder = new StringBuilder(getOverRideString());
- LinkedHashMap<String, String> map = new LinkedHashMap<>();
- map.put(VALUE, OBJECT_STRING);
- map.put(CLASS + OBJECT_STRING, CLASS_STRING);
- builder.append(multiAttrMethodSignature(ADD_STRING + YANG_AUGMENTED_INFO,
- null, PUBLIC,
- className, map, CLASS_TYPE))
- .append(methodBody(AUGMENTED_MAP_ADD, null, null,
- EIGHT_SPACE_INDENTATION, null, null, false, null))
- .append(getReturnString(THIS, EIGHT_SPACE_INDENTATION))
- .append(signatureClose())
- .append(methodClose(FOUR_SPACE));
- return builder.toString();
- }
-
- /**
- * Returns interface of get YANG augment info.
- *
- * @return interface of get YANG augment info
- */
- static String getYangAugmentInfoInterface() {
- return generateForGetAugmentation() +
- methodSignature(YANG_AUGMENTED_INFO_LOWER_CASE, EMPTY_STRING,
- null, CLASS + OBJECT_STRING,
- OBJECT_STRING, CLASS_STRING, INTERFACE_TYPE);
- }
-
- /**
- * Returns implementation of get YANG augment info.
- *
- * @return implementation of get YANG augment info
- */
- static String getYangAugmentInfoImpl() {
- return getOverRideString() +
- methodSignature(YANG_AUGMENTED_INFO_LOWER_CASE, EMPTY_STRING,
- PUBLIC, CLASS + OBJECT_STRING, OBJECT_STRING,
- CLASS_STRING, CLASS_TYPE) +
- methodBody(AUGMENTED_MAP_GET_VALUE, null, null,
- EIGHT_SPACE_INDENTATION, null, null, false, null) +
- methodClose(FOUR_SPACE);
- }
-
- /**
* Returns enum's constructor.
*
* @param className enum's class name
@@ -1671,42 +1699,6 @@
}
/**
- * Returns is select leaf set interface.
- *
- * @return is select leaf set interface
- */
- static String isSelectLeafSetInterface() {
- String method = "\n /**\n" +
- " * Checks if the leaf is set to be a selected leaf.\n" +
- " *\n" +
- " * @param leaf if leaf needs to be selected\n" +
- " * @return result of leaf value set in object\n" +
- " */\n";
- return method + methodSignature(IS_SELECT_LEAF, EMPTY_STRING, null,
- LEAF, BOOLEAN_DATA_TYPE, LEAF_IDENTIFIER,
- INTERFACE_TYPE);
- }
-
- /**
- * Returns set select leaf set interface.
- *
- * @param name node name
- * @return set select leaf set interface
- */
- static String setSelectLeafSetInterface(String name) {
- String method = " /**\n" +
- " * Set a leaf to be selected.\n" +
- " *\n" +
- " * @param leaf leaf needs to be selected\n" +
- " * @return builder object for select leaf\n" +
- " */\n";
- return method + methodSignature(SET_SELECT_LEAF, EMPTY_STRING,
- null, LEAF, name +
- BUILDER, LEAF_IDENTIFIER,
- INTERFACE_TYPE) + NEW_LINE;
- }
-
- /**
* Returns leaf identifier interface enum signature.
*
* @param name name of node
@@ -1721,22 +1713,6 @@
}
/**
- * Returns setter for select leaf.
- *
- * @param name name of node
- * @return setter for select leaf
- */
- static String getSetterForSelectLeaf(String name) {
- return "\n" +
- " " + OVERRIDE + "\n" +
- " public " + name + BUILDER +
- " selectLeaf(LeafIdentifier leaf) {\n" +
- " selectLeafFlags.set(leaf.getLeafIndex());\n" +
- " return this;\n" +
- " }\n";
- }
-
- /**
* Generates fromString code for bits.
*
* @return generated fromString code for bits.
@@ -1966,57 +1942,6 @@
}
/**
- * Returns is filter content match interface.
- *
- * @param name name of node
- * @return is filter content match interface
- */
- static String processSubtreeFilteringInterface(String name) {
- String method = " /**\n" +
- " * Checks if the passed " + name +
- " maps the content match query condition.\n" +
- " *\n" +
- " * @param " + getSmallCase(name) + SPACE +
- getSmallCase(name) + SPACE + "being passed to check" +
- " for" +
- " content match\n" +
- " * @param isSelectAllSchemaChild is select all schema child\n" +
- " * @return match result\n" +
- " */\n";
- LinkedHashMap<String, String> map = new LinkedHashMap<>();
- map.put(getSmallCase(name), name);
- map.put(SELECT_ALL_CHILD, BOOLEAN_DATA_TYPE);
-
- return method + multiAttrMethodSignature(PROCESS_SUBTREE_FILTERING,
- EMPTY_STRING, EMPTY_STRING,
- name, map, INTERFACE_TYPE);
- }
-
- /**
- * Returns build method for subtree filtering in class.
- *
- * @param node YANG node
- * @return build method for subtree filtering in class
- */
- static String generateBuildMethodForSubTree(YangNode node) {
- String name = getCapitalCase(node.getJavaClassNameOrBuiltInType());
- StringBuilder builder = new StringBuilder(getJavaDoc(BUILD_METHOD,
- name, false, null));
- String def = DEFAULT_CAPS + name;
- if (node instanceof RpcNotificationContainer) {
- def = name + OP_PARAM;
- }
- builder.append(methodSignature(BUILD_FOR_FILTER, null, PUBLIC, null,
- name, null, CLASS_TYPE))
- .append(EIGHT_SPACE_INDENTATION).append(SUBTREE_FILTERED)
- .append(SPACE).append(EQUAL).append(SPACE).append(TRUE)
- .append(signatureClose()).append(methodBody(
- MethodBodyTypes.BUILD, def, null, EIGHT_SPACE_INDENTATION,
- null, null, false, null)).append(methodClose(FOUR_SPACE));
- return builder.toString();
- }
-
- /**
* To string method for identity.
*
* @param name name of identity
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/StringGenerator.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/StringGenerator.java
index 2befdde..d381805 100644
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/StringGenerator.java
+++ b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/StringGenerator.java
@@ -106,7 +106,6 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW;
import static org.onosproject.yang.compiler.utils.UtilConstants.NEW_LINE;
import static org.onosproject.yang.compiler.utils.UtilConstants.OBJECT;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OBJECT_STRING;
import static org.onosproject.yang.compiler.utils.UtilConstants.OF;
import static org.onosproject.yang.compiler.utils.UtilConstants.OMIT_NULL_VALUE_STRING;
import static org.onosproject.yang.compiler.utils.UtilConstants.OPEN_CLOSE_BRACKET_STRING;
@@ -120,7 +119,6 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.PARSE_SHORT;
import static org.onosproject.yang.compiler.utils.UtilConstants.PATTERN;
import static org.onosproject.yang.compiler.utils.UtilConstants.PERIOD;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PUT;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUEUE;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUOTES;
import static org.onosproject.yang.compiler.utils.UtilConstants.QUOTE_STRING;
@@ -151,7 +149,6 @@
import static org.onosproject.yang.compiler.utils.UtilConstants.ULONG_MIN_RANGE;
import static org.onosproject.yang.compiler.utils.UtilConstants.VALIDATE_RANGE;
import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.YANG_AUGMENTED_INFO_MAP;
import static org.onosproject.yang.compiler.utils.UtilConstants.YANG_UTILS_TODO;
import static org.onosproject.yang.compiler.utils.UtilConstants.ZERO;
import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getCamelCase;
@@ -348,18 +345,6 @@
signatureClose();
case DEFAULT_CONSTRUCTOR:
return EMPTY_STRING;
- case AUGMENTED_MAP_ADD:
- return space + YANG_AUGMENTED_INFO_MAP +
- PERIOD + PUT + OPEN_PARENTHESIS + CLASS +
- OBJECT_STRING + COMMA + SPACE + VALUE +
- CLOSE_PARENTHESIS + signatureClose();
- case AUGMENTED_MAP_GET_VALUE:
- return getReturnString(
- YANG_AUGMENTED_INFO_MAP + PERIOD + GET + getOpenCloseParaWithValue(
- CLASS + OBJECT_STRING) + signatureClose(), space);
- case AUGMENTED_MAP_GETTER:
- return getReturnString(YANG_AUGMENTED_INFO_MAP +
- signatureClose(), space);
case MANAGER_METHODS:
body = space + YANG_UTILS_TODO + NEW_LINE;
builder.append(body);
@@ -649,53 +634,6 @@
}
/**
- * Returns is select leaf set.
- *
- * @return is select leaf set
- */
- static String getIsSelectLeafSet() {
- return " @Override\n" +
- " public boolean isSelectLeaf(LeafIdentifier leaf) {\n" +
- " return selectLeafFlags.get(leaf.getLeafIndex());\n" +
- " }\n";
- }
-
- /**
- * Returns getter methods for operation attributes.
- *
- * @return getter methods for operation attributes
- */
- static String getValueLeafGetters() {
- return "\n" +
- " /**\n" +
- " * Returns the valueLeafFlags.\n" +
- " *\n" +
- " * @return value of valueLeafFlags\n" +
- " */\n" +
- " public BitSet getValueLeafFlags() {\n" +
- " return valueLeafFlags;\n" +
- " }\n" +
- "\n";
- }
-
- /**
- * Returns getter methods for operation attributes.
- *
- * @return getter methods for operation attributes
- */
- static String getSelectLeafGetters() {
- return " /**\n" +
- " * Returns the selectLeafFlags.\n" +
- " *\n" +
- " * @return value of selectLeafFlags\n" +
- " */\n" +
- " public BitSet getSelectLeafFlags() {\n" +
- " return selectLeafFlags;\n" +
- " }\n" +
- "\n";
- }
-
- /**
* Returns interface leaf identifier enum method.
*
* @return interface leaf identifier enum method
diff --git a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java b/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
deleted file mode 100644
index 51f236d..0000000
--- a/compiler/base/translator/src/main/java/org/onosproject/yang/compiler/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
+++ /dev/null
@@ -1,1238 +0,0 @@
-/*
- * Copyright 2016-present 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.yang.compiler.translator.tojava.utils;
-
-import org.onosproject.yang.compiler.datamodel.RpcNotificationContainer;
-import org.onosproject.yang.compiler.datamodel.YangAugment;
-import org.onosproject.yang.compiler.datamodel.YangCase;
-import org.onosproject.yang.compiler.datamodel.YangChoice;
-import org.onosproject.yang.compiler.datamodel.YangDataStructure;
-import org.onosproject.yang.compiler.datamodel.YangLeafRef;
-import org.onosproject.yang.compiler.datamodel.YangLeavesHolder;
-import org.onosproject.yang.compiler.datamodel.YangNode;
-import org.onosproject.yang.compiler.datamodel.YangType;
-import org.onosproject.yang.compiler.translator.exception.TranslatorException;
-import org.onosproject.yang.compiler.translator.tojava.JavaAttributeInfo;
-import org.onosproject.yang.compiler.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yang.compiler.translator.tojava.JavaFileInfoContainer;
-import org.onosproject.yang.compiler.translator.tojava.JavaFileInfoTranslator;
-
-import java.io.IOException;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import static org.onosproject.yang.compiler.datamodel.utils.builtindatatype.YangDataTypes.IDENTITYREF;
-import static org.onosproject.yang.compiler.datamodel.utils.builtindatatype.YangDataTypes.LEAFREF;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_LEAF_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.GeneratedTempFileType.FILTER_CONTENT_MATCH_FOR_NODES_MASK;
-import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.EIGHT_SPACE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.FOUR_SPACE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.SIXTEEN_SPACE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.TWELVE_SPACE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.TWENTY_EIGHT_SPACE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.TWENTY_FOUR_SPACE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.IndentationType.TWENTY_SPACE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.JavaFileGeneratorUtils.getDataFromTempFileHandle;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodClassTypes.CLASS_TYPE;
-import static org.onosproject.yang.compiler.translator.tojava.utils.MethodsGenerator.getYangDataStructure;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getAppInstanceAttrString;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getElseIfConditionBegin;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getEqualEqualString;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getForLoopString;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getIfConditionBegin;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getLeafFlagSetString;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getNewInstance;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getOpenCloseParaWithValue;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getReturnString;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.getTwoParaEqualsString;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.methodClose;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.multiAttrMethodSignature;
-import static org.onosproject.yang.compiler.translator.tojava.utils.StringGenerator.signatureClose;
-import static org.onosproject.yang.compiler.translator.tojava.utils.TranslatorUtils.getBeanFiles;
-import static org.onosproject.yang.compiler.utils.UtilConstants.ADD_STRING;
-import static org.onosproject.yang.compiler.utils.UtilConstants.AND_OPERATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.APP_INSTANCE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BIT_SET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BOOLEAN_DATA_TYPE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BREAK;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BUILDER;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BUILDER_LOWER_CASE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.BUILD_FOR_FILTER;
-import static org.onosproject.yang.compiler.utils.UtilConstants.CLASS_STRING;
-import static org.onosproject.yang.compiler.utils.UtilConstants.CLOSE_CURLY_BRACKET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.CLOSE_PARENTHESIS;
-import static org.onosproject.yang.compiler.utils.UtilConstants.COMMA;
-import static org.onosproject.yang.compiler.utils.UtilConstants.DEFAULT;
-import static org.onosproject.yang.compiler.utils.UtilConstants.DEFAULT_CAPS;
-import static org.onosproject.yang.compiler.utils.UtilConstants.DIAMOND_CLOSE_BRACKET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.DIAMOND_OPEN_BRACKET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.EIGHT_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.ELSE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.EMPTY_STRING;
-import static org.onosproject.yang.compiler.utils.UtilConstants.ENTRY;
-import static org.onosproject.yang.compiler.utils.UtilConstants.ENTRY_SET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.EQUAL;
-import static org.onosproject.yang.compiler.utils.UtilConstants.EQUALS_STRING;
-import static org.onosproject.yang.compiler.utils.UtilConstants.EXTEND;
-import static org.onosproject.yang.compiler.utils.UtilConstants.FALSE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.FLAG;
-import static org.onosproject.yang.compiler.utils.UtilConstants.GET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.GET_KEY;
-import static org.onosproject.yang.compiler.utils.UtilConstants.GET_VALUE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.INSTANCE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.IS_ANY_SELECT_OR_CONTAINMENT_NODE_FLAG;
-import static org.onosproject.yang.compiler.utils.UtilConstants.IS_EMPTY;
-import static org.onosproject.yang.compiler.utils.UtilConstants.IS_SELECT_ALL_SCHEMA_CHILD_FLAG;
-import static org.onosproject.yang.compiler.utils.UtilConstants.KEYS;
-import static org.onosproject.yang.compiler.utils.UtilConstants.LEAF_IDENTIFIER;
-import static org.onosproject.yang.compiler.utils.UtilConstants.MAP;
-import static org.onosproject.yang.compiler.utils.UtilConstants.NEW_LINE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.NOT;
-import static org.onosproject.yang.compiler.utils.UtilConstants.NULL;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OPEN_CLOSE_BRACKET_STRING;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OPEN_CURLY_BRACKET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OPEN_PARENTHESIS;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OP_PARAM;
-import static org.onosproject.yang.compiler.utils.UtilConstants.OR_OPERATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PERIOD;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PRIVATE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PROCESS_CHILD_NODE_STF_PARAM;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PROCESS_LEAF_LIST_STF_PARAM;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PROCESS_LEAF_STF_PARAM;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PROCESS_SUBTREE_FILTERING;
-import static org.onosproject.yang.compiler.utils.UtilConstants.PUBLIC;
-import static org.onosproject.yang.compiler.utils.UtilConstants.QUESTION_MARK;
-import static org.onosproject.yang.compiler.utils.UtilConstants.RESULT;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SELECT_ALL_CHILD;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SELECT_ALL_CHILD_SCHEMA_PARAM;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SELECT_LEAF;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SELECT_OR_CONTAINMENT_NODE_PARAM;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SEMI_COLON;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SET_METHOD_PREFIX;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SIXTEEN_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SPACE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.STF_BUILDER_PARAM;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SUBTREE_FILTERED;
-import static org.onosproject.yang.compiler.utils.UtilConstants.SUBTREE_FILTERING_RESULT_BUILDER;
-import static org.onosproject.yang.compiler.utils.UtilConstants.THIRTY_TWO_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.TO;
-import static org.onosproject.yang.compiler.utils.UtilConstants.TRUE;
-import static org.onosproject.yang.compiler.utils.UtilConstants.TWELVE_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.TWENTY_EIGHT_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.TWENTY_FOUR_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.TWENTY_SPACE_INDENTATION;
-import static org.onosproject.yang.compiler.utils.UtilConstants.TWO;
-import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_LEAF;
-import static org.onosproject.yang.compiler.utils.UtilConstants.VALUE_LEAF_SET;
-import static org.onosproject.yang.compiler.utils.UtilConstants.ZERO;
-import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getCamelCase;
-import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getCapitalCase;
-
-/**
- * Represents generator for subtree filtering methods of generated files
- * based on the file type.
- */
-public final class SubtreeFilteringMethodsGenerator {
-
- /**
- * private to make it a util.
- */
- private SubtreeFilteringMethodsGenerator() {
- }
-
- /**
- * Returns process sub tree for choice interface class.
- *
- * @param node choice node
- * @return process sub tree for choice interface class
- */
- static String getProcessSubTreeForChoiceInterface(YangNode node) {
- if (!(node instanceof YangChoice)) {
- throw new TranslatorException("process sub tree for interface is " +
- "only allowed in choice " +
- "node.");
- }
- JavaFileInfoTranslator info = ((JavaCodeGeneratorInfo) node)
- .getJavaFileInfo();
-
- String name = info.getJavaName();
- String returnType = getCapitalCase(name);
-
- String javadoc = "\n /**\n" +
- " * Applications need not to implement process subtree " +
- "of " + name + "\n * it will be overridden by " +
- "corresponding case class.\n" +
- " *\n" +
- " * @param " + APP_INSTANCE + SPACE +
- APP_INSTANCE + SPACE + "being passed to check" +
- " for" +
- " content match\n" +
- " * @param isSelectAllSchemaChild is select all schema child\n" +
- " * @return match result\n" +
- " */\n";
- StringBuilder builder = new StringBuilder(javadoc);
- Map<String, String> param = new LinkedHashMap<>();
- param.put(APP_INSTANCE, returnType);
- param.put(SELECT_ALL_CHILD_SCHEMA_PARAM, BOOLEAN_DATA_TYPE);
- builder.append(multiAttrMethodSignature(PROCESS_SUBTREE_FILTERING, null,
- DEFAULT, returnType, param,
- CLASS_TYPE))
- .append(getReturnString(NULL, EIGHT_SPACE_INDENTATION))
- .append(signatureClose()).append(methodClose(FOUR_SPACE));
- return builder.toString();
- }
-
- /**
- * Returns is filter content match for leaf.
- *
- * @param javaAttributeInfo java attribute
- * @param type data type
- * @return is filter content match for leaf
- */
- public static String getSubtreeFilteringForLeaf(
- JavaAttributeInfo javaAttributeInfo, YangType<?> type) {
- String attrQualifiedType;
- String attributeName = javaAttributeInfo.getAttributeName();
- attrQualifiedType = getIfFilterContentMatchMethodImpl(attributeName,
- type);
- /* if (valueLeafFlags.get(LeafIdentifier.LEAF.getLeafIndex())) {
- * if (appInstance.leaf() != leaf()) {
- * return false;
- * } else {
- * subTreeFilteringResultBuilder.leaf(appInstance.leaf());
- * }
- * } else if (selectLeafFlags.get(LeafIdentifier.LEAF.getLeafIndex()) ||
- * isSelectAllSchemaChild) {
- * isAnySelectOrContainmentNode = true;
- * subTreeFilteringResultBuilder.leaf(appInstance.leaf());
- * }*/
-
-/* if (isSubTreeFiltered && !appInstance.isLeafValueSet(
- LeafIdentifier.LEAF2)) {
- subTreeFilteringResultBuilder.leaf2(leaf2());
- } else {
- return false;
- }*/
- String condition = SUBTREE_FILTERED + SPACE + AND_OPERATION + SPACE + NOT +
- APP_INSTANCE + PERIOD + VALUE_LEAF_SET +
- getOpenCloseParaWithValue(
- LEAF_IDENTIFIER + PERIOD + attributeName.toUpperCase());
- return getIfConditionBegin(EIGHT_SPACE_INDENTATION, getLeafFlagSetString(
- attributeName, VALUE_LEAF, EMPTY_STRING, GET)) +
- getIfConditionBegin(TWELVE_SPACE_INDENTATION, attrQualifiedType) +
- getIfConditionBegin(SIXTEEN_SPACE_INDENTATION, condition) +
- TWENTY_SPACE_INDENTATION + SUBTREE_FILTERING_RESULT_BUILDER +
- PERIOD + attributeName + getOpenCloseParaWithValue(
- attributeName + OPEN_CLOSE_BRACKET_STRING) + signatureClose() +
- SIXTEEN_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + ELSE +
- OPEN_CURLY_BRACKET + NEW_LINE + getReturnString(
- FALSE, TWENTY_SPACE_INDENTATION) + signatureClose() +
- SIXTEEN_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE +
- TWELVE_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + ELSE +
- OPEN_CURLY_BRACKET + NEW_LINE +
- getSubTreeBuilderCallString(SIXTEEN_SPACE_INDENTATION, attributeName,
- TWELVE_SPACE) +
- getElseIfConditionBegin(EIGHT_SPACE_INDENTATION, getLeafFlagSetString(
- attributeName, SELECT_LEAF, EMPTY_STRING, GET) + SPACE +
- OR_OPERATION + SPACE + IS_SELECT_ALL_SCHEMA_CHILD_FLAG) +
- getSelectOrContainmentAssignString() +
- getSubTreeBuilderCallString(TWELVE_SPACE_INDENTATION, attributeName,
- EIGHT_SPACE);
- }
-
- private static String getSubTreeBuilderCallString(String indent, String
- name, IndentationType type) {
- return indent + SUBTREE_FILTERING_RESULT_BUILDER + PERIOD + name +
- getOpenCloseParaWithValue(APP_INSTANCE + PERIOD + name +
- OPEN_CLOSE_BRACKET_STRING) +
- signatureClose() + methodClose(type);
- }
-
- private static String getAttrTypeForFcmWhenPrimitiveDataType(
- String attributeName) {
- return/* TODO: Need to check if we can expose the value leaf flag in
- interface.
- NOT + APP_INSTANCE + PERIOD + GET_VALUE_LEAF_FLAGS +
- OPEN_PARENTHESIS + CLOSE_PARENTHESIS +
- GET_METHOD_PREFIX + OPEN_PARENTHESIS + LEAF_IDENTIFIER +
- PERIOD + attributeName.toUpperCase() + PERIOD
- + GET_LEAF_INDEX + OR_OPERATION +*/
- APP_INSTANCE + PERIOD + attributeName + OPEN_PARENTHESIS +
- CLOSE_PARENTHESIS + SPACE + NOT + EQUAL + SPACE +
- attributeName + OPEN_PARENTHESIS +
- CLOSE_PARENTHESIS;
- }
-
- private static String attrTypeForFcmWhenNonPrimitiveDataTypes(String name) {
- /*
- * appInstance.name() == null || name().equals(appInstance.name())
- */
- return getEqualEqualString(getAppInstanceAttrString(name), NULL) +
- SPACE + OR_OPERATION + SPACE + NOT + OPEN_PARENTHESIS +
- getTwoParaEqualsString(name + OPEN_CLOSE_BRACKET_STRING,
- getAppInstanceAttrString(name))
- + CLOSE_PARENTHESIS;
- }
-
- private static String getIfFilterContentMatchMethodImpl(
- String name, YangType dataType) {
- String attrQualifiedType;
- if (dataType.getDataType().isPrimitiveDataType()) {
- attrQualifiedType = getAttrTypeForFcmWhenPrimitiveDataType(name);
- } else if (dataType.getDataType() == LEAFREF) {
-
- // When leafref in grouping.
- if (((YangLeafRef) dataType.getDataTypeExtendedInfo())
- .isInGrouping()) {
- attrQualifiedType = attrTypeForFcmWhenNonPrimitiveDataTypes(name);
- } else {
- YangType type = ((YangLeafRef) dataType.getDataTypeExtendedInfo())
- .getEffectiveDataType();
- if (type.getDataType().isPrimitiveDataType()) {
- attrQualifiedType = getAttrTypeForFcmWhenPrimitiveDataType(name);
- } else {
- attrQualifiedType = attrTypeForFcmWhenNonPrimitiveDataTypes(
- name);
- }
- }
- } else {
- attrQualifiedType = attrTypeForFcmWhenNonPrimitiveDataTypes(name);
- }
- return attrQualifiedType;
- }
-
- /**
- * Returns is filter content match for leaf.
- *
- * @param javaAttributeInfo java attribute
- * @return is filter content match for leaf
- */
- public static String getSubtreeFilteringForLeafList(
- JavaAttributeInfo javaAttributeInfo) {
- return getSubtreeFilteringForList(javaAttributeInfo, true, null);
- }
-
- /**
- * Returns is filter content match for child node.
- *
- * @param curNode current node
- * @param path path of temp file
- * @return is filter content match for child node
- */
- static String getProcessChildNodeSubtreeFiltering(YangNode curNode, String path)
- throws IOException {
- /* Generate code will look like this.
- private boolean processChildNodesSubTreeFiltering(Link
- appInstance, LinkBuilder subTreeFilteringResultBuilder,
- Boolean isAnySelectOrContainmentNode, boolean isSelectAllSchemaChild) {
- if (isSelectAllSchemaChild) {
- for (Areas areas : appInstance.areas()) {
- subTreeFilteringResultBuilder.addToAreas(areas);
- }
- } else if (areas() != null) {
- isAnySelectOrContainmentNode = true;
- if (!areas().isEmpty()) {
- if (appInstance.areas() != null && !appInstance.areas().isEmpty()) {
- for (Areas areas : areas()) {
- for (Areas areas2 : appInstance.areas()) {
- Areas result = areas.processSubtreeFiltering(areas2, false);
- if (result != null) {
- subTreeFilteringResultBuilder.addToAreas(result);
- }
- }
- }
- }
- } else {
- if (appInstance.areas() != null && !appInstance.areas().isEmpty()) {
- for (Areas areas : appInstance.areas()) {
- subTreeFilteringResultBuilder.addToAreas(areas);
- }
- }
- }
- }
-
- return true;
- }*/
- return getProcessStfMethods(PROCESS_CHILD_NODE_STF_PARAM, curNode,
- path, FILTER_CONTENT_MATCH_FOR_NODES_MASK);
- }
-
- /**
- * Returns is filter content match for leaf list.
- *
- * @param curNode current node
- * @param path path of temp file
- * @return is filter content match for leaf list
- */
- static String getProcessLeafListSubtreeFiltering(YangNode curNode, String path)
- throws IOException {
- /* Generate code will look like this.
- private boolean processLeafListSubTreeFiltering(Link appInstance, LinkBuilder subTreeFilteringResultBuilder,
- Boolean isAnySelectOrContainmentNode, boolean isSelectAllSchemaChild) {
- if (isSelectAllSchemaChild) {
- for (String portId : appInstance.portId()) {
- subTreeFilteringResultBuilder.addToPortId(portId);
- }
- } else if (portId() != null) {
- if (!portId().isEmpty()) {
- if (appInstance.portId() == null || appInstance.portId().isEmpty()) {
- return false;
- }
- for (String portId : portId()) {
- boolean flag = false;
- for (String portId2 : appInstance.portId()) {
- if (portId.equals(portId2)) {
- flag = true;
- subTreeFilteringResultBuilder.addToPortId(portId2);
- break;
- }
- }
- if (!flag) {
- return false;
- }
- }
- } else {
- isAnySelectOrContainmentNode = true;
- if (appInstance.portId() != null && !appInstance.portId().isEmpty()) {
- for (String portId : appInstance.portId()) {
- subTreeFilteringResultBuilder.addToPortId(portId);
- }
- }
- }
- }
-
- return true;
- }*/
- return getProcessStfMethods(PROCESS_LEAF_LIST_STF_PARAM, curNode, path,
- FILTER_CONTENT_MATCH_FOR_LEAF_LIST_MASK);
- }
-
- /**
- * Returns is filter content match for leaf.
- *
- * @param curNode current node
- * @param path path of temp file
- * @return is filter content match for leaf
- */
- static String getProcessLeafSubtreeFiltering(YangNode curNode, String path)
- throws IOException {
- /* Generate code will look like this.
- private boolean processLeafSubtreeFiltering(Link appInstance, LinkBuilder subTreeFilteringResultBuilder,
- Boolean isAnySelectOrContainmentNode, boolean isSelectAllSchemaChild) {
- if (valueLeafFlags.get(LeafIdentifier.PORT.getLeafIndex())) {
- if (appInstance.port() != port()) {
- return false;
- } else {
- subTreeFilteringResultBuilder.port(appInstance.port());
- }
- } else if (selectLeafFlags.get(LeafIdentifier.PORT.getLeafIndex()) || isSelectAllSchemaChild) {
- isAnySelectOrContainmentNode = true;
- subTreeFilteringResultBuilder.port(appInstance.port());
- }
-
- return true;
- }*/
- return getProcessStfMethods(PROCESS_LEAF_STF_PARAM, curNode, path,
- FILTER_CONTENT_MATCH_FOR_LEAF_MASK);
- }
-
- /**
- * Returns is filter content match for leaf.
- *
- * @param curNode current node
- * @return is filter content match for leaf
- */
- static String getProcessSubtreeFilteringStart(YangNode curNode) {
-
- /* Generate code will look like this.
- public Link processSubtreeFiltering(Link appInstance, boolean isSelectAllSchemaChild) {
- LinkBuilder subTreeFilteringResultBuilder = new LinkBuilder();
- Boolean isAnySelectOrContainmentNode = false;
- */
- StringBuilder builder = new StringBuilder();
- JavaFileInfoTranslator javaFileInfo =
- ((JavaFileInfoContainer) curNode).getJavaFileInfo();
- String instance = APP_INSTANCE;
- String name = getCapitalCase(javaFileInfo.getJavaName());
- String builderNamePrefix = getCapitalCase(javaFileInfo.getJavaName());
- String caseName = getNameOfClassForIfCase(curNode);
- String returnType;
- if (curNode instanceof RpcNotificationContainer) {
- returnType = name + OP_PARAM;
- } else {
- returnType = DEFAULT_CAPS + name;
- }
- if (caseName != null) {
- instance = INSTANCE;
- name = caseName;
- }
-
- String javadoc = "\n /**\n" +
- " * Checks if the passed " + name + " maps the content " +
- "match query condition.\n" +
- " *\n" +
- " * @param " + instance + SPACE + instance + SPACE +
- "being passed to check for content match\n" +
- " * @param isSelectAllSchemaChild is select all schema " +
- "child\n" +
- " * @return match result\n" +
- " */\n";
- Map<String, String> param = new LinkedHashMap<>();
- param.put(instance, name);
- param.put(SELECT_ALL_CHILD_SCHEMA_PARAM, BOOLEAN_DATA_TYPE);
- builder.append(javadoc)
- .append(multiAttrMethodSignature(PROCESS_SUBTREE_FILTERING, null,
- PUBLIC, returnType, param,
- CLASS_TYPE));
-
- builder.append(getNewInstance(builderNamePrefix + BUILDER,
- SUBTREE_FILTERING_RESULT_BUILDER,
- EIGHT_SPACE_INDENTATION, EMPTY_STRING));
- builder.append(getNewInstance(BIT_SET,
- IS_ANY_SELECT_OR_CONTAINMENT_NODE_FLAG,
- EIGHT_SPACE_INDENTATION, EMPTY_STRING));
- if (caseName != null) {
- builder.append(getCaseCastString(javaFileInfo, instance, curNode));
- }
-
- return builder.toString();
- }
-
- /**
- * Returns all process sub tree method implementations.
- *
- * @param methodName method name
- * @param curNode current node
- * @param path path for temporary file
- * @param file temp file
- * @return method implementations
- * @throws IOException when fails to fetch data from temp files
- */
- private static String getProcessStfMethods(
- String methodName, YangNode curNode, String path, int file)
- throws IOException {
- StringBuilder builder = new StringBuilder(EMPTY_STRING);
- JavaFileInfoTranslator javaFileInfo =
- ((JavaFileInfoContainer) curNode).getJavaFileInfo();
- String instance = APP_INSTANCE;
- String name = getCapitalCase(javaFileInfo.getJavaName());
- String builderNamePrefix = getCapitalCase(javaFileInfo.getJavaName());
- String caseName = getNameOfClassForIfCase(curNode);
- if (caseName != null) {
- instance = INSTANCE;
- name = caseName;
- }
-
- Map<String, String> param = new LinkedHashMap<>();
- param.put(instance, name);
- param.put(STF_BUILDER_PARAM, builderNamePrefix + BUILDER);
- param.put(SELECT_OR_CONTAINMENT_NODE_PARAM, BIT_SET);
- param.put(SELECT_ALL_CHILD_SCHEMA_PARAM, BOOLEAN_DATA_TYPE);
-
- builder.append(multiAttrMethodSignature(methodName, null,
- PRIVATE, BOOLEAN_DATA_TYPE, param, CLASS_TYPE));
-
- if (caseName != null) {
- builder.append(getCaseCastString(javaFileInfo, instance, curNode));
- }
- builder.append(getDataFromTempFileHandle(file,
- getBeanFiles(curNode), path))
- .append(getReturnString(TRUE, EIGHT_SPACE_INDENTATION)).append(
- signatureClose()).append(methodClose(FOUR_SPACE))
- .append(NEW_LINE);
- return builder.toString();
- }
-
- /**
- * Returns the body for process subtree filtering.
- *
- * @param curNode node for which the code is being generated
- * @return body of subtree filtering
- */
- static String getProcessSubtreeFunctionBody(YangNode curNode) {
- StringBuilder builder = new StringBuilder();
-
- /* if (!processLeafSubtreeFiltering(appInstance, subTreeFilteringResultBuilder,
- isAnySelectOrContainmentNode, isSelectAllSchemaChild)) {
- return null;
- }
- if (!processLeafListSubTreeFiltering(appInstance, subTreeFilteringResultBuilder,
- isAnySelectOrContainmentNode, isSelectAllSchemaChild)) {
- return null;
- }
- if (!processChildNodesSubTreeFiltering(appInstance, subTreeFilteringResultBuilder,
- isAnySelectOrContainmentNode, isSelectAllSchemaChild)) {
- return null;
- }
- */
- if (curNode instanceof YangLeavesHolder) {
- YangLeavesHolder holder = (YangLeavesHolder) curNode;
- if (!holder.getListOfLeaf().isEmpty()) {
- builder.append(getInnerStfMethodClass(PROCESS_LEAF_STF_PARAM));
- }
- if (!holder.getListOfLeafList().isEmpty()) {
- builder.append(getInnerStfMethodClass(PROCESS_LEAF_LIST_STF_PARAM));
- }
- }
- if (curNode.getChild() != null) {
- builder.append(getInnerStfMethodClass(PROCESS_CHILD_NODE_STF_PARAM));
- }
-
- return builder.toString();
- }
-
- //Method calls for process subtree filtering method.
- private static String getInnerStfMethodClass(String name) {
- StringBuilder builder = new StringBuilder()
- .append(getIfConditionBegin(EIGHT_SPACE_INDENTATION,
- getMethodCallsConditionsForStfMethods(name)))
- .append(getReturnString(NULL, TWELVE_SPACE_INDENTATION)).append(
- signatureClose()).append(methodClose(EIGHT_SPACE));
- return builder.toString();
- }
-
- // Condition for if check in process sub tree method.
- private static String getMethodCallsConditionsForStfMethods(String name) {
- return NOT + name + getOpenCloseParaWithValue(getConditionString());
- }
-
- //variable call for conditional method call
- private static String getConditionString() {
- return APP_INSTANCE + COMMA + SPACE + SUBTREE_FILTERING_RESULT_BUILDER +
- COMMA + SPACE + SELECT_OR_CONTAINMENT_NODE_PARAM + COMMA + SPACE +
- SELECT_ALL_CHILD;
- }
-
- /**
- * Returns is filter content match for node.
- *
- * @param attr attribute info
- * @param node YANG node
- * @return is filter content match for node
- */
- public static String getSubtreeFilteringForNode(JavaAttributeInfo attr, YangNode node) {
- boolean isList = attr.isListAttr();
- if (isList) {
- return getSubtreeFilteringForList(attr, false, node);
- } else {
- return getSubtreeFilteringForChildNode(attr, node);
- }
- }
-
- /**
- * Returns is filter content match close.
- *
- * @param name name of class
- * @return is filter content match close
- */
- static String getProcessSubTreeFilteringEnd(String name) {
- /* generate code will look like this.
- if (!isSelectAllSchemaChild && !isAnySelectOrContainmentNode) {
- return processSubtreeFiltering(appInstance, true);
- }
- return subTreeFilteringResultBuilder.build();
- */
-
- StringBuilder builder = new StringBuilder();
- String cond1 = NOT + IS_SELECT_ALL_SCHEMA_CHILD_FLAG + SPACE + AND_OPERATION +
- SPACE + NOT + IS_ANY_SELECT_OR_CONTAINMENT_NODE_FLAG +
- PERIOD + GET + getOpenCloseParaWithValue(ZERO);
- String call = PROCESS_SUBTREE_FILTERING + getOpenCloseParaWithValue(
- APP_INSTANCE + COMMA + SPACE + TRUE);
- builder.append(getIfConditionBegin(EIGHT_SPACE_INDENTATION, cond1))
- .append(getReturnString(call, TWELVE_SPACE_INDENTATION))
- .append(signatureClose()).append(methodClose(EIGHT_SPACE));
-
- call = getOpenCloseParaWithValue(name) + SPACE +
- SUBTREE_FILTERING_RESULT_BUILDER + PERIOD + BUILD_FOR_FILTER +
- OPEN_CLOSE_BRACKET_STRING;
- builder.append(getReturnString(call, EIGHT_SPACE_INDENTATION))
- .append(signatureClose()).append(methodClose(FOUR_SPACE))
- .append(NEW_LINE);
- return builder.toString();
- }
-
- /**
- * Returns filter content match for child nodes.
- *
- * @param attr attribute to be added
- * @param node YANG node
- * @return filter content match for child nodes
- */
- private static String getSubtreeFilteringForChildNode(JavaAttributeInfo attr,
- YangNode node) {
- StringBuilder builder = new StringBuilder();
- String name = attr.getAttributeName();
- String clsInfo = attr.getImportInfo()
- .getClassInfo();
- String type = DEFAULT_CAPS + attr.getImportInfo()
- .getClassInfo();
- if (attr.isQualifiedName()) {
- type = attr.getImportInfo().getPkgInfo() + PERIOD +
- type;
- clsInfo = attr.getImportInfo().getPkgInfo() + PERIOD +
- clsInfo;
- }
- String classCast = getOpenCloseParaWithValue(type) + SPACE;
- String cast = getOpenCloseParaWithValue(classCast + name);
- if (node != null && node instanceof YangChoice) {
- cast = name;
- }
-
- String resultString = cast + NEW_LINE + TWENTY_EIGHT_SPACE_INDENTATION +
- PERIOD + PROCESS_SUBTREE_FILTERING + OPEN_PARENTHESIS
- + APP_INSTANCE + PERIOD + name + OPEN_CLOSE_BRACKET_STRING
- + COMMA + SPACE + FALSE + CLOSE_PARENTHESIS + SEMI_COLON +
- NEW_LINE;
-
- String cond1 = name + OPEN_CLOSE_BRACKET_STRING + SPACE + NOT + EQUAL +
- SPACE + NULL + SPACE + OR_OPERATION + SPACE + SELECT_ALL_CHILD;
- builder.append(getIfConditionBegin(EIGHT_SPACE_INDENTATION, cond1))
- .append(getSelectOrContainmentAssignString());
-
- builder.append(getIfConditionBegin(TWELVE_SPACE_INDENTATION,
- getAppInstanceCondition(name, NOT)));
-
- String assignment = SIXTEEN_SPACE_INDENTATION + clsInfo + SPACE + RESULT +
- SPACE + EQUAL + SPACE + NULL + signatureClose();
-
- builder.append(assignment)
- .append(getIfConditionBegin(SIXTEEN_SPACE_INDENTATION,
- SELECT_ALL_CHILD));
-/*
- result = ((DefaultInterfaces)(DefaultInterfaces.builder()
- .build())).processSubtreeFiltering(appInstance.interfaces(),
- true);*/
-
- assignment = getDummyObjectCreation(node, name, clsInfo, type,
- classCast, false, false);
- builder.append(assignment).append(SIXTEEN_SPACE_INDENTATION).append(
- CLOSE_CURLY_BRACKET).append(ELSE).append(OPEN_CURLY_BRACKET)
- .append(NEW_LINE);
-
- assignment = TWENTY_SPACE_INDENTATION + RESULT + SPACE + EQUAL + SPACE
- + resultString;
- cond1 = RESULT + SPACE + NOT + EQUAL + SPACE + NULL;
-
- builder.append(assignment).append(methodClose(SIXTEEN_SPACE))
- .append(getIfConditionBegin(SIXTEEN_SPACE_INDENTATION, cond1));
-
- assignment = TWENTY_SPACE_INDENTATION + SUBTREE_FILTERING_RESULT_BUILDER +
- PERIOD + name + getOpenCloseParaWithValue(RESULT) +
- signatureClose();
- builder.append(assignment).append(methodClose(SIXTEEN_SPACE)).append(
- TWELVE_SPACE_INDENTATION).append(CLOSE_CURLY_BRACKET)
- .append(getSubTreeFilteredCondition(name)).append(methodClose(EIGHT_SPACE));
- return builder.toString();
- }
-
- private static String getAppInstanceCondition(String name, String condition) {
- return APP_INSTANCE + PERIOD + name + OPEN_CLOSE_BRACKET_STRING + SPACE +
- condition + EQUAL + SPACE + NULL;
- }
-
- private static String getSelectOrContainmentAssignString() {
- return TWELVE_SPACE_INDENTATION + IS_ANY_SELECT_OR_CONTAINMENT_NODE_FLAG +
- PERIOD + SET_METHOD_PREFIX + getOpenCloseParaWithValue(ZERO) +
- signatureClose();
- }
-
- /**
- * Returns filter content match for list types.
- *
- * @param javaAttributeInfo attribute information
- * @param isLeafList if for leaf list
- * @param node YANG node
- * @return filter content match for list types
- */
- private static String getSubtreeFilteringForList(
- JavaAttributeInfo javaAttributeInfo, boolean isLeafList,
- YangNode node) {
- StringBuilder builder = new StringBuilder();
- String caps = getCapitalCase(javaAttributeInfo.getAttributeName());
- String name = javaAttributeInfo.getAttributeName();
- String type = javaAttributeInfo.getImportInfo().getClassInfo();
- if (javaAttributeInfo.getAttributeType() != null && javaAttributeInfo
- .getAttributeType().getDataType() == IDENTITYREF) {
- type = CLASS_STRING + DIAMOND_OPEN_BRACKET +
- QUESTION_MARK + SPACE + EXTEND + SPACE +
- type + DIAMOND_CLOSE_BRACKET;
- }
-
- YangDataStructure struct =
- getYangDataStructure(javaAttributeInfo.getCompilerAnnotation());
-
- boolean isMap = false;
- if (struct != null && struct == YangDataStructure.MAP) {
- isMap = true;
- }
-
- String clsInfo = DEFAULT_CAPS + type;
- if (javaAttributeInfo.isQualifiedName()) {
- if (javaAttributeInfo.getAttributeType() != null && javaAttributeInfo
- .getAttributeType().getDataType() == IDENTITYREF) {
- type = CLASS_STRING + DIAMOND_OPEN_BRACKET +
- QUESTION_MARK + SPACE + EXTEND + SPACE +
- javaAttributeInfo.getImportInfo().getPkgInfo() + PERIOD +
- type + DIAMOND_CLOSE_BRACKET;
- } else {
- type = javaAttributeInfo.getImportInfo().getPkgInfo() + PERIOD +
- type;
- }
- clsInfo = javaAttributeInfo.getImportInfo().getPkgInfo() + PERIOD +
- clsInfo;
- }
-
- String classCast = getOpenCloseParaWithValue(clsInfo) + SPACE;
- String cast = getOpenCloseParaWithValue(classCast + name);
-
- if (node != null && node instanceof YangChoice) {
- cast = name;
- }
- String validPass;
- //If map is in DS then need to pass name.getValue() to processSubTree.
- if (isMap) {
- validPass = name + TWO + PERIOD + GET_VALUE;
- } else {
- validPass = name + TWO;
- }
- String resultString = cast + NEW_LINE + TWENTY_EIGHT_SPACE_INDENTATION +
- PERIOD + PROCESS_SUBTREE_FILTERING + OPEN_PARENTHESIS +
- validPass + COMMA + SPACE + FALSE + CLOSE_PARENTHESIS + SEMI_COLON +
- NEW_LINE;
- /*
- * If select all schema child
- */
- String forCondition;
- String mapEntry;
- String para;
- //If map is there in DS the for loop should run for map entry.
- if (!isMap) {
- forCondition = getForLoopString(SIXTEEN_SPACE_INDENTATION, type, name,
- getAppInstanceAttrString(name));
- } else {
- mapEntry = MAP + PERIOD + ENTRY + DIAMOND_OPEN_BRACKET + type +
- KEYS + COMMA + SPACE + type + DIAMOND_CLOSE_BRACKET + SPACE;
- para = getAppInstanceAttrString(name) + PERIOD + ENTRY_SET;
- forCondition = getForLoopString(SIXTEEN_SPACE_INDENTATION,
- mapEntry, name, para);
- }
- builder.append(getIfConditionBegin(EIGHT_SPACE_INDENTATION,
- IS_SELECT_ALL_SCHEMA_CHILD_FLAG))
- .append(getIfConditionBegin(TWELVE_SPACE_INDENTATION,
- getAppInstanceCondition(name, NOT)))
- .append(forCondition);
- String assignment;
- String result;
- //If map is added then while creating dummy object need to used name
- // .getValue() and to add the result in subTreeBuilder need to pass
- // using key and value, key will be name.getKey() and value will be
- // result.
- if (isMap) {
- result = getOpenCloseParaWithValue(name + PERIOD + GET_KEY + COMMA +
- SPACE + RESULT);
- } else {
- result = getOpenCloseParaWithValue(RESULT);
- }
- if (!isLeafList) {
- builder.append(TWENTY_SPACE_INDENTATION).append(type).append(SPACE)
- .append(RESULT).append(signatureClose());
- assignment = getDummyObjectCreation(node, name, type, clsInfo,
- classCast, true, isMap);
- builder.append(assignment);
- assignment = TWENTY_SPACE_INDENTATION +
- SUBTREE_FILTERING_RESULT_BUILDER + PERIOD + ADD_STRING +
- getCapitalCase(TO) + caps + result +
- signatureClose();
- builder.append(assignment);
- } else {
- assignment = TWENTY_SPACE_INDENTATION +
- SUBTREE_FILTERING_RESULT_BUILDER + PERIOD + ADD_STRING +
- getCapitalCase(TO) + caps + getOpenCloseParaWithValue(name) +
- signatureClose();
- builder.append(assignment);
- }
- builder.append(methodClose(SIXTEEN_SPACE))
- .append(TWELVE_SPACE_INDENTATION).append(CLOSE_CURLY_BRACKET);
-
-/* } else {
- if (isSubTreeFiltered && leafList2() != null) {
- subTreeFilteringResultBuilder.addToLeafList2(leafList2());
- }
- }*/
- builder.append(getSubTreeFilteredCondition(name));
-
- String cond = name + OPEN_CLOSE_BRACKET_STRING + SPACE + NOT + EQUAL +
- SPACE + NULL;
-
- //If need to explicitly participate in query
- builder.append(getElseIfConditionBegin(EIGHT_SPACE_INDENTATION, cond));
-
- if (!isLeafList) {
- builder.append(getSelectOrContainmentAssignString());
- }
-
- //If there is any parameter in the query condition
- cond = NOT + name + OPEN_CLOSE_BRACKET_STRING + PERIOD + IS_EMPTY;
- builder.append(getIfConditionBegin(TWELVE_SPACE_INDENTATION, cond));
-
- if (isLeafList) {
- cond = getAppInstanceCondition(name, EQUAL) + SPACE + OR_OPERATION +
- SPACE + APP_INSTANCE + PERIOD + name +
- OPEN_CLOSE_BRACKET_STRING + PERIOD + IS_EMPTY;
- /*
- * If there is no app instance to perform content match
- */
- builder.append(getIfConditionBegin(SIXTEEN_SPACE_INDENTATION, cond))
- .append(getReturnString(FALSE, TWENTY_SPACE_INDENTATION))
- .append(signatureClose())
- .append(methodClose(SIXTEEN_SPACE))
- // for instance iterator
- .append(getForLoopString(SIXTEEN_SPACE_INDENTATION, type, name,
- name + OPEN_CLOSE_BRACKET_STRING));
-
- assignment = TWENTY_SPACE_INDENTATION + BOOLEAN_DATA_TYPE + SPACE +
- FLAG + SPACE + EQUAL + SPACE + FALSE + signatureClose();
- builder.append(assignment)
- // for app instance iterator
- .append(getForLoopString(TWENTY_SPACE_INDENTATION, type,
- name + TWO,
- getAppInstanceAttrString(name)));
-
- cond = name + PERIOD + EQUALS_STRING
- + OPEN_PARENTHESIS + name + TWO + CLOSE_PARENTHESIS;
- //the content match leaf list attribute value matches
- builder.append(getIfConditionBegin(TWENTY_FOUR_SPACE_INDENTATION,
- cond));
-
- assignment = TWENTY_EIGHT_SPACE_INDENTATION + FLAG + SPACE + EQUAL +
- SPACE + TRUE + SEMI_COLON + NEW_LINE;
- builder.append(assignment);
- assignment = TWENTY_EIGHT_SPACE_INDENTATION +
- SUBTREE_FILTERING_RESULT_BUILDER + PERIOD + ADD_STRING +
- getCapitalCase(TO) + caps + getOpenCloseParaWithValue(name + TWO) +
- signatureClose();
- builder.append(assignment).append(TWENTY_EIGHT_SPACE_INDENTATION)
- .append(BREAK).append(signatureClose())
- //the content match leaf list attribute value matches
- .append(methodClose(TWENTY_FOUR_SPACE))
- // for app instance iterator
- .append(methodClose(TWENTY_SPACE))
- //if the content match failed
- .append(getIfConditionBegin(TWENTY_SPACE_INDENTATION, NOT +
- FLAG))
- .append(getReturnString(FALSE, TWENTY_FOUR_SPACE_INDENTATION))
- .append(signatureClose()).append(methodClose(TWENTY_SPACE))// if flag == false
- .append(methodClose(SIXTEEN_SPACE)); // for instance iterator
- } else {
- cond = getAppInstanceCondition(name, NOT) + SPACE + AND_OPERATION +
- SPACE + NOT + getAppInstanceAttrString(name) +
- PERIOD + IS_EMPTY;
- //Same here for loop for map entry.
- if (!isMap) {
- forCondition = getForLoopString(TWENTY_SPACE_INDENTATION, type,
- name + TWO,
- getAppInstanceAttrString(name));
- } else {
- mapEntry = MAP + PERIOD + ENTRY + DIAMOND_OPEN_BRACKET + type +
- KEYS + COMMA + SPACE + type + DIAMOND_CLOSE_BRACKET + SPACE;
- para = getAppInstanceAttrString(name) + PERIOD + ENTRY_SET;
- forCondition = getForLoopString(TWENTY_SPACE_INDENTATION,
- mapEntry, name + TWO, para);
- }
- String forCondition2;
- //Same here for loop for map entry.
- if (!isMap) {
- forCondition2 = getForLoopString(SIXTEEN_SPACE_INDENTATION, type, name,
- name + OPEN_CLOSE_BRACKET_STRING);
- } else {
- mapEntry = MAP + PERIOD + ENTRY + DIAMOND_OPEN_BRACKET + type +
- KEYS + COMMA + SPACE + type + DIAMOND_CLOSE_BRACKET + SPACE;
- para = name + OPEN_CLOSE_BRACKET_STRING + PERIOD + ENTRY_SET;
- forCondition2 = getForLoopString(SIXTEEN_SPACE_INDENTATION,
- mapEntry, name, para);
- }
- /*if there is any app instance entry*/
- builder.append(getIfConditionBegin(SIXTEEN_SPACE_INDENTATION,
- cond))
- //loop all the app instance(s)
- .append(forCondition2)
- .append(forCondition);
-
- assignment = TWENTY_EIGHT_SPACE_INDENTATION + type + SPACE +
- RESULT + SPACE + EQUAL + SPACE + resultString;
- builder.append(assignment);
- cond = RESULT + SPACE + NOT + EQUAL + SPACE + NULL;
- builder.append(getIfConditionBegin(TWENTY_EIGHT_SPACE_INDENTATION, cond));
-
- //If map is added then while creating dummy object need to used name
- // .getValue() and to add the result in subTreeBuilder need to pass
- // using key and value, key will be name.getKey() and value will be
- // result.
- if (isMap) {
- result = getOpenCloseParaWithValue(name + TWO + PERIOD + GET_KEY +
- COMMA +
- SPACE + RESULT);
- } else {
- result = getOpenCloseParaWithValue(RESULT);
- }
- assignment = THIRTY_TWO_SPACE_INDENTATION +
- SUBTREE_FILTERING_RESULT_BUILDER + PERIOD + ADD_STRING +
- getCapitalCase(TO) + caps + result + signatureClose();
- builder.append(assignment).append(methodClose(TWENTY_EIGHT_SPACE))
- //loop all the app instance(s)
- .append(methodClose(TWENTY_FOUR_SPACE))
- //loop all the query condition instance(s)
- .append(methodClose(TWENTY_SPACE))
- .append(SIXTEEN_SPACE_INDENTATION).append(CLOSE_CURLY_BRACKET)
- .append(getSubTreeFilteredCondition(name));
- //if there is any app instance entry
- }
-
- cond = TWELVE_SPACE_INDENTATION + CLOSE_CURLY_BRACKET
- + ELSE + OPEN_CURLY_BRACKET + NEW_LINE;
- builder.append(cond);
-
- if (isLeafList) {
- builder.append(getSelectOrContainmentAssignString());
- }
-
- //need to pass name.getKey() and name.getValue() while adding to
- // subtree builder.
- if (!isMap) {
- forCondition = getForLoopString(SIXTEEN_SPACE_INDENTATION, type,
- name, getAppInstanceAttrString(name));
- } else {
- mapEntry = MAP + PERIOD + ENTRY + DIAMOND_OPEN_BRACKET + type +
- KEYS + COMMA + SPACE + type + DIAMOND_CLOSE_BRACKET + SPACE;
- para = getAppInstanceAttrString(name) + PERIOD + ENTRY_SET;
- forCondition = getForLoopString(SIXTEEN_SPACE_INDENTATION,
- mapEntry, name, para);
- }
- cond = getAppInstanceCondition(name, NOT) + SPACE + AND_OPERATION +
- SPACE + NOT + getAppInstanceAttrString(name) + PERIOD + IS_EMPTY;
- builder.append(getIfConditionBegin(SIXTEEN_SPACE_INDENTATION, cond))
- .append(forCondition);
- if (isMap) {
- result = getOpenCloseParaWithValue(name + PERIOD + GET_KEY + COMMA +
- SPACE + name + PERIOD +
- GET_VALUE);
- } else {
- result = getOpenCloseParaWithValue(name);
- }
- assignment = TWENTY_FOUR_SPACE_INDENTATION +
- SUBTREE_FILTERING_RESULT_BUILDER + PERIOD + ADD_STRING +
- getCapitalCase(TO) + caps + result + signatureClose();
- builder.append(assignment).append(methodClose(TWENTY_SPACE))// Close collection Iteration loop
- // close if condition
- .append(methodClose(SIXTEEN_SPACE))
- .append(methodClose(TWELVE_SPACE))// close else condition
- .append(methodClose(EIGHT_SPACE));// close else if condition
-
- return builder.toString();
- }
-
- public static String getAugmentableSubTreeFiltering() {
- return " if (yangAugmentedInfoMap.isEmpty()) {\n" +
- " java.util.Set<Map.Entry<Class<?>, Object>> " +
- "augment =" +
- " appInstance.yangAugmentedInfoMap().entrySet();\n" +
- " if (augment != null && !augment.isEmpty()) {\n" +
- " java.util.Iterator<Map.Entry<Class<?>, " +
- "Object>> augItr =" +
- " augment.iterator();\n" +
- " while (augItr.hasNext()) {\n" +
- " Map.Entry<Class<?>, Object> aug =" +
- " augItr.next();\n" +
- " Class<?> augClass = aug.getKey();\n" +
- " String augClassName = augClass.getName();\n" +
- " int index = augClassName.lastIndexOf('.');\n" +
- " String classPackage = augClassName.substring(0, index) +\n" +
- " \".\" + \"Default\" + augClass.getSimpleName() + \"$\"\n" +
- " + augClass.getSimpleName() + \"Builder\";\n" +
- " ClassLoader classLoader = augClass.getClassLoader();\n" +
- " try {\n" +
- " Class<?> builderClass;\n" +
- " builderClass = classLoader.loadClass(classPackage);\n" +
- " Object builderObj = builderClass.newInstance();\n" +
- " java.lang.reflect.Method method = " +
- "builderClass.getMethod(\"build\");\n" +
- " Object defaultObj = method.invoke(builderObj);\n" +
- " Class<?> defaultClass = defaultObj.getClass();\n" +
- " method = defaultClass.getMethod(" +
- "\"processSubtreeFiltering\", augClass, boolean.class);\n" +
- " Object result = method.invoke(" +
- "defaultObj, aug.getValue(), true);\n" +
- " subTreeFilteringResultBuilder." +
- "addYangAugmentedInfo(result, augClass);\n" +
- " } catch (ClassNotFoundException | InstantiationException\n" +
- " | NoSuchMethodException |\n" +
- " InvocationTargetException | IllegalAccessException e) {\n" +
- " }\n" +
- " }\n" +
- " }\n" +
- " } else {\n" +
- " java.util.Set<Map.Entry<Class<?>, Object>> augment = yangAugmentedInfoMap\n" +
- " .entrySet();\n" +
- " java.util.Iterator<Map.Entry<Class<?>, Object>> augItr = augment.iterator();\n" +
- " while (augItr.hasNext()) {\n" +
- " Map.Entry<Class<?>, Object> aug = augItr.next();\n" +
- " Class<?> augClass = aug.getKey();\n" +
- " Object appInstanceInfo = appInstance." +
- "yangAugmentedInfo(augClass);\n" +
- " if (appInstanceInfo == null) {\n" +
- " subTreeFilteringResultBuilder." +
- "addYangAugmentedInfo(aug.getValue(), aug.getKey());\n" +
- " } else {\n" +
- " Object processSubtreeFiltering;\n" +
- " try {\n" +
- " processSubtreeFiltering = " +
- "aug.getValue().getClass()\n" +
- " .getMethod(\"processSubtreeFiltering\"," +
- " aug.getKey(), boolean.class)\n" +
- " .invoke(aug.getValue(), appInstanceInfo, true);\n" +
- " if (processSubtreeFiltering != null) {\n" +
- " subTreeFilteringResultBuilder\n" +
- " .addYangAugmentedInfo(" +
- "processSubtreeFiltering, aug.getKey());\n" +
- " }\n" +
- " } catch (NoSuchMethodException | InvocationTargetException |\n" +
- " IllegalAccessException e) {\n" +
- " }\n" +
- " }\n" +
- " }\n" +
- " }\n";
- }
-
- private static String getSubTreeFilteredCondition(String name) {
- StringBuilder builder = new StringBuilder();
- String cond = SUBTREE_FILTERED + SPACE + AND_OPERATION + SPACE + name +
- OPEN_CLOSE_BRACKET_STRING + SPACE + NOT + EQUAL + SPACE + NULL;
-
- builder.append(ELSE).append(OPEN_CURLY_BRACKET).append(NEW_LINE)
- .append(getIfConditionBegin(SIXTEEN_SPACE_INDENTATION, cond))
- .append(TWENTY_SPACE_INDENTATION)
- .append(SUBTREE_FILTERING_RESULT_BUILDER).append(PERIOD)
- .append(name).append(getOpenCloseParaWithValue(name)).append(
- signatureClose()).append(SIXTEEN_SPACE_INDENTATION).append(
- CLOSE_CURLY_BRACKET).append(NEW_LINE).append(TWELVE_SPACE_INDENTATION)
- .append(CLOSE_CURLY_BRACKET).append(NEW_LINE);
- return builder.toString();
- }
-
- private static String getNameOfClassForIfCase(YangNode curNode) {
- String name = null;
- JavaFileInfoTranslator parentInfo;
- if (curNode instanceof YangCase) {
- YangNode parent = curNode.getParent();
- if (parent instanceof YangChoice) {
- parentInfo = ((JavaFileInfoContainer) parent).getJavaFileInfo();
- name = getCapitalCase(parentInfo.getJavaName());
- } else if (parent instanceof YangAugment) {
- parentInfo = ((JavaFileInfoContainer) ((YangAugment) parent)
- .getAugmentedNode()).getJavaFileInfo();
- if (parentInfo != null) {
- name = getCapitalCase(parentInfo.getJavaName());
- } else {
- name = getCapitalCase(getCamelCase(
- ((YangAugment) parent).getAugmentedNode().getName(),
- null));
- }
- }
- }
- return name;
- }
-
- private static String getCaseCastString(
- JavaFileInfoTranslator javaFileInfo, String instance, YangNode curNode) {
- if (curNode instanceof YangCase) {
- String caseName = DEFAULT_CAPS + getCapitalCase(
- javaFileInfo.getJavaName());
- return EIGHT_SPACE_INDENTATION + caseName + SPACE + APP_INSTANCE + SPACE +
- EQUAL + SPACE + OPEN_PARENTHESIS + caseName +
- CLOSE_PARENTHESIS + SPACE + instance + signatureClose();
- }
- return null;
- }
-
- private static String getDummyObjectCreation(YangNode node, String name,
- String clsInfo, String type,
- String classCast, boolean isList,
- boolean isMap) {
- String para = getAppInstanceAttrString(name);
- if (isList) {
- if (isMap) {
- para = name + PERIOD + GET_VALUE;
- } else {
- para = name;
- }
- }
- if (node != null && node instanceof YangChoice) {
- return getChoiceReflectionResult(name, clsInfo);
- }
- return TWENTY_SPACE_INDENTATION + RESULT + SPACE + EQUAL + SPACE +
- getOpenCloseParaWithValue(
- classCast + type + PERIOD + BUILDER_LOWER_CASE +
- OPEN_CLOSE_BRACKET_STRING + NEW_LINE +
- TWENTY_EIGHT_SPACE_INDENTATION + PERIOD +
- BUILD_FOR_FILTER + OPEN_CLOSE_BRACKET_STRING) +
- PERIOD + PROCESS_SUBTREE_FILTERING + getOpenCloseParaWithValue(
- para + COMMA + SPACE + TRUE) + signatureClose();
- }
-
- private static String getChoiceReflectionResult(String name, String returnType) {
- String call = "appInstance." + name + "()";
- return " Class<?>[] classArray = " + call + "" +
- ".getClass()" +
- ".getInterfaces();\n" +
- " Class<?> caseIntf = classArray[0];\n" +
- " try {\n" +
- " ClassLoader classLoader = this" +
- ".getClass().getClassLoader();\n" +
- " String className = \"Default\" + " +
- "caseIntf.getSimpleName();\n" +
- " className = caseIntf.getPackage()" +
- ".getName() + \".\" + className;\n" +
- " Class<?> caseClass = classLoader" +
- ".loadClass(className);\n" +
- " java.lang.reflect.Constructor<?> " +
- "constructor = caseClass.getDeclaredConstructor();\n" +
- " constructor.setAccessible(true);\n" +
- " Object obj1 = constructor" +
- ".newInstance();\n" +
- " java.lang.reflect.Method method =" +
- " caseClass.getMethod(\"builder\");\n" +
- " Object obj = method.invoke(obj1);\n" +
- " Class<?> builderClass = obj.getClass();\n" +
- " method = builderClass.getMethod(\"build\");\n" +
- " Object obj2 = method.invoke(obj);\n" +
- " Class<?> input = this.getClass()" +
- ".getMethod(" + "\"" + name + "\").getReturnType();\n" +
- " method = caseClass.getMethod" +
- "(\"processSubtreeFiltering\", input,\n" +
- " boolean.class);\n" +
- " result = (" + returnType + ") method.invoke" +
- "(obj2, " + call + ", true);\n" +
- " } catch (NoSuchMethodException | InstantiationException |\n" +
- " IllegalAccessException | " +
- "InvocationTargetException |\n" +
- " ClassNotFoundException e) {\n" +
- " e.printStackTrace();\n" +
- " }\n";
- }
-}
diff --git a/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/UtilConstants.java b/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/UtilConstants.java
index bec4e2d..22a8f98 100644
--- a/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/UtilConstants.java
+++ b/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/UtilConstants.java
@@ -332,23 +332,6 @@
* Static attribute for space.
*/
public static final String SPACE = " ";
- /**
- * Static attribute for space.
- */
- public static final String TWO = "2";
- /**
- * Static attribute for space.
- */
- public static final String FLAG = "flag";
- /**
- * Static attribute for result.
- */
- public static final String RESULT = "result";
-
- /**
- * Static attribute for isSelectAllSchemaChild.
- */
- public static final String SELECT_ALL_CHILD = "isSelectAllSchemaChild";
/**
* Static attribute for schema name.
@@ -652,16 +635,6 @@
public static final String KEYS = "Keys";
/**
- * Static attribute for key syntax.
- */
- public static final String GET_KEY = "getKey()";
-
- /**
- * Static attribute for key syntax.
- */
- public static final String GET_VALUE = "getValue()";
-
- /**
* Static attribute for -1 to syntax.
*/
public static final String NEG_ONE = "-1";
@@ -909,36 +882,6 @@
*/
public static final String OP_PARAM = "OpParam";
-
- /**
- * Static attribute for is filter content match method prefix.
- */
- public static final String PROCESS_SUBTREE_FILTERING =
- "processSubtreeFiltering";
-
- /**
- * variable name of the subtree filtering result builder.
- */
- public static final String SUBTREE_FILTERING_RESULT_BUILDER =
- "subTreeFilteringResultBuilder";
-
- /**
- * variable name of the subtree filtering result flag.
- */
- public static final String IS_ANY_SELECT_OR_CONTAINMENT_NODE_FLAG =
- "isAnySelectOrContainmentNode";
-
- /**
- * variable name of the subtree filtering to select all child.
- */
- public static final String IS_SELECT_ALL_SCHEMA_CHILD_FLAG =
- "isSelectAllSchemaChild";
-
- /**
- * Static attribute for break prefix.
- */
- public static final String BREAK = "break";
-
/**
* Static attribute for isEmpty.
*/
@@ -980,21 +923,6 @@
public static final String VALUE_LEAF = "valueLeafFlags";
/**
- * Static attribute for is selectLeafFlags method prefix.
- */
- public static final String SELECT_LEAF = "selectLeafFlags";
-
- /**
- * Static attribute for is isSelectLeaf method prefix.
- */
- public static final String IS_SELECT_LEAF = "isSelectLeaf";
-
- /**
- * Static attribute for is selectLeaf method prefix.
- */
- public static final String SET_SELECT_LEAF = "selectLeaf";
-
- /**
* Static attribute for is LeafIdentifier enum prefix.
*/
public static final String LEAF_IDENTIFIER = "LeafIdentifier";
@@ -1512,6 +1440,11 @@
public static final String JAVA_UTIL_PKG = "java.util";
/**
+ * Static attribute for model object import package.
+ */
+ public static final String MODEL_OBJECT_PKG = "org.onosproject.yang.model";
+
+ /**
* Static attribute for java utilities import package.
*/
public static final String JAVA_UTIL_REGEX_PKG = "java.util.regex";
@@ -1537,23 +1470,6 @@
public static final String JAVA_UTIL_OBJECTS_IMPORT_CLASS = "Objects";
/**
- * Static attribute for AugmentedInfo class.
- */
- public static final String YANG_AUGMENTED_INFO = "YangAugmentedInfo";
-
- /**
- * Static attribute for AugmentedInfo class.
- */
- public static final String YANG_AUGMENTED_INFO_LOWER_CASE =
- "yangAugmentedInfo";
-
- /**
- * Static attribute for AugmentedInfo class.
- */
- public static final String YANG_AUGMENTED_INFO_MAP =
- "yangAugmentedInfoMap";
-
- /**
* Static attribute for augmented.
*/
public static final String AUGMENTED = "Augmented";
@@ -1773,12 +1689,6 @@
public static final String ONE = "1";
/**
- * Static attribute for YANG node operation type class.
- */
- public static final String OPERATION_TYPE_CLASS =
- "OnosYangOpType";
-
- /**
* Static attribute for YANG node operation type attribute.
*/
public static final String OPERATION_TYPE_ATTRIBUTE =
@@ -1882,39 +1792,6 @@
*/
public static final String AT = " at ";
- /**
- * Static param for processChildNodesSubTreeFiltering.
- */
- public static final String PROCESS_CHILD_NODE_STF_PARAM =
- "processChildNodesSubTreeFiltering";
-
- /**
- * Static param for processLeafListSubTreeFiltering.
- */
- public static final String PROCESS_LEAF_LIST_STF_PARAM =
- "processLeafListSubTreeFiltering";
- /**
- * Static param for processLeafListSubTreeFiltering.
- */
- public static final String PROCESS_LEAF_STF_PARAM =
- "processLeafSubtreeFiltering";
- /**
- * Static param for subTreeFilteringResultBuilder.
- */
- public static final String STF_BUILDER_PARAM =
- "subTreeFilteringResultBuilder";
-
- /**
- * Static param for isAnySelectOrContainmentNode.
- */
- public static final String SELECT_OR_CONTAINMENT_NODE_PARAM =
- "isAnySelectOrContainmentNode";
- /**
- * Static param for isSelectAllSchemaChild.
- */
- public static final String SELECT_ALL_CHILD_SCHEMA_PARAM =
- "isSelectAllSchemaChild";
-
//File type extension for java classes.
public static final String JAVA_FILE_EXTENSION = ".java";
@@ -1928,6 +1805,56 @@
*/
public static final String LAST = "last";
+ /**
+ * Static param for model object.
+ */
+ public static final String MODEL_OBJECT = "ModelObject";
+
+ /**
+ * Static param for add augmentation.
+ */
+ public static final String ADD_AUGMENTATION = "addAugmentation";
+
+ /**
+ * Static param for remove augmentation.
+ */
+ public static final String REMOVE_AUGMENTATION = "removeAugmentation";
+
+ /**
+ * Static param for augmentations.
+ */
+ public static final String AUGMENTATIONS = "augmentations";
+
+ /**
+ * Static param for augmentation.
+ */
+ public static final String AUGMENTATION = "augmentation";
+
+ /**
+ * Static param for variable c.
+ */
+ public static final String VARIABLE_C = "c";
+
+ /**
+ * Static param for left angular bracket.
+ */
+ public static final String LEFT_ANGULAR_BRACKET = "<";
+
+ /**
+ * Static param for right angular brace.
+ */
+ public static final String RIGHT_ANGULAR_BRACKET = ">";
+
+ /**
+ * Static param for template t.
+ */
+ public static final String TEMPLATE_T = "T";
+
+ /**
+ * Static param for class.
+ */
+ public static final String CAMEL_CLASS = "Class";
+
// No instantiation.
private UtilConstants() {
}
diff --git a/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/io/impl/JavaDocGen.java b/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/io/impl/JavaDocGen.java
index 89ab368..07af02e 100644
--- a/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/io/impl/JavaDocGen.java
+++ b/compiler/base/utils/src/main/java/org/onosproject/yang/compiler/utils/io/impl/JavaDocGen.java
@@ -386,18 +386,6 @@
" * valueLeafFlags identify the leafs whose value are " +
"explicitly set\n" +
" * Applicable in protocol edit and query operation.\n" +
- " * </p>\n" +
- " *\n" +
- " * <p>\n" +
- " * selectLeafFlags identify the leafs to be selected, in" +
- " a query operation.\n" +
- " * </p>\n" +
- " *\n" +
- " * <p>\n" +
- " * Operation type specify the node specific operation in" +
- " protocols like NETCONF.\n" +
- " * Applicable in protocol edit operation, not applicable" +
- " in query operation.\n" +
" * </p>\n";
}
@@ -524,37 +512,6 @@
}
/**
- * Generates javaDocs for add augmentation method.
- *
- * @param name builder class name
- * @return javaDocs
- */
- public static String generateForAddAugmentation(String name) {
- return getJavaDocStartLine(YANG_AUGMENTED_INFO_LOWER_CASE,
- JAVA_DOC_SETTERS_COMMON) +
- getJavaDocEmptyAsteriskLine() +
- getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, VALUE) +
- getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, CLASS +
- OBJECT_STRING) +
- getJavaDocReturnLine(name) + getJavaDocEndLine();
- }
-
- /**
- * Returns javadoc for get augmentation method.
- *
- * @return javadoc for get augmentation method
- */
- public static String generateForGetAugmentation() {
- return NEW_LINE + getJavaDocStartLine(YANG_AUGMENTED_INFO_LOWER_CASE,
- JAVA_DOC_GETTERS) +
- getJavaDocEmptyAsteriskLine() +
- getJavaDocParamLine(YANG_AUGMENTED_INFO_LOWER_CASE, CLASS +
- OBJECT_STRING) +
- getJavaDocReturnLine(YANG_AUGMENTED_INFO) +
- getJavaDocEndLine();
- }
-
- /**
* Returns javadoc for validator method.
*
* @return javadoc for validator method
diff --git a/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangPluginUtils.java b/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangPluginUtils.java
index c5f0e69..1a43f6c 100644
--- a/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangPluginUtils.java
+++ b/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangPluginUtils.java
@@ -18,7 +18,6 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Plugin;
import org.apache.maven.model.Resource;
import org.apache.maven.project.MavenProject;
import org.onosproject.yang.compiler.base.tool.YangToolManager;
@@ -30,13 +29,9 @@
import java.io.File;
import java.io.IOException;
-import java.io.PrintWriter;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-import static org.onosproject.yang.compiler.utils.UtilConstants.COLON;
-import static org.onosproject.yang.compiler.utils.UtilConstants.EMPTY_STRING;
import static org.onosproject.yang.compiler.utils.UtilConstants.HYPHEN;
import static org.onosproject.yang.compiler.utils.UtilConstants.JAR;
import static org.onosproject.yang.compiler.utils.UtilConstants.PERIOD;
@@ -51,10 +46,6 @@
private static final Logger log = getLogger(YangPluginUtils.class);
- private static final String TEXT_FILE_EXTENSION = ".txt";
- private static final String VERSION_META_DATA = "VersionMetaData";
- private static final String PLUGIN_ARTIFACT = "onos-yang-maven-plugin";
-
private YangPluginUtils() {
}
@@ -80,7 +71,6 @@
*/
static void copyYangFilesToTarget(String outputDir, MavenProject project)
throws IOException {
-
addToProjectResource(outputDir + SLASH + TEMP + SLASH, project);
}
@@ -104,39 +94,6 @@
if (operation) {
addToProjectResource(directory + SLASH + TEMP + SLASH, project);
}
-
- if (operation) {
- addVersionMetaDataFile(project, serFileDirPath);
- }
- }
-
- /**
- * Adds version meta data files for YSR to know version of YANG tools.
- *
- * @param project maven project
- * @param dir directory
- * @throws IOException when fails to do IO operations
- */
- private static void addVersionMetaDataFile(MavenProject project, String dir)
- throws IOException {
- List<Plugin> plugins = project.getBuildPlugins();
- Iterator<Plugin> it = plugins.iterator();
- Plugin plugin = it.next();
- String data = EMPTY_STRING;
- while (it.hasNext()) {
- if (plugin.getArtifactId().equals(PLUGIN_ARTIFACT)) {
- data = plugin.getGroupId() + COLON + plugin.getArtifactId()
- + COLON + plugin.getVersion();
- }
- plugin = it.next();
- }
- if (data.equals(EMPTY_STRING)) {
- throw new IOException("Invalid artifact for " + PLUGIN_ARTIFACT);
- }
- String verFileName = dir + VERSION_META_DATA + TEXT_FILE_EXTENSION;
- PrintWriter out = new PrintWriter(verFileName);
- out.print(data);
- out.close();
}
/**
diff --git a/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/ChoiceCaseTranslatorTest.java b/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/ChoiceCaseTranslatorTest.java
index 395792a..3a1976b 100644
--- a/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/ChoiceCaseTranslatorTest.java
+++ b/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/ChoiceCaseTranslatorTest.java
@@ -18,9 +18,9 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.junit.Test;
+import org.onosproject.yang.compiler.datamodel.YangNode;
import org.onosproject.yang.compiler.parser.exceptions.ParserException;
import org.onosproject.yang.compiler.parser.impl.YangUtilsParserManager;
-import org.onosproject.yang.compiler.datamodel.YangNode;
import org.onosproject.yang.compiler.utils.io.YangPluginConfig;
import org.onosproject.yang.compiler.utils.io.impl.YangFileScanner;
import org.onosproject.yang.compiler.utils.io.impl.YangIoUtils;
diff --git a/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/YangJavaModelUtilsTest.java b/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/YangJavaModelUtilsTest.java
index e1cad16..6612ab6 100644
--- a/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/YangJavaModelUtilsTest.java
+++ b/compiler/plugin/maven/src/test/java/org/onosproject/yang/compiler/plugin/maven/YangJavaModelUtilsTest.java
@@ -20,9 +20,9 @@
import org.hamcrest.core.Is;
import org.junit.Test;
import org.onosproject.yang.compiler.datamodel.YangNode;
+import org.onosproject.yang.compiler.parser.exceptions.ParserException;
import org.onosproject.yang.compiler.translator.tojava.YangJavaModelUtils;
import org.onosproject.yang.compiler.utils.io.impl.YangFileScanner;
-import org.onosproject.yang.compiler.parser.exceptions.ParserException;
import java.io.IOException;
@@ -47,11 +47,9 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(false, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(true, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
if (node.getName().equals("test6")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(true, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}
@@ -68,7 +66,6 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(true, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}
@@ -85,7 +82,6 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(true, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}
@@ -102,11 +98,9 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(false, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
if (node.getName().equals("test6")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(false, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}
@@ -124,11 +118,9 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(false, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(false, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
if (node.getName().equals("test6")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(false, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}
@@ -145,7 +137,6 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(false, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(false, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}
@@ -163,11 +154,9 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(false, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(true, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
if (node.getName().equals("test6")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(true, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}
@@ -185,7 +174,6 @@
for (YangNode node : utilManager.getYangNodeSet()) {
if (node.getName().equals("test5")) {
- assertThat(true, Is.is(YangJavaModelUtils.isGetSetOfRootNodeRequired(node)));
assertThat(false, Is.is(YangJavaModelUtils.isRootNodesCodeGenRequired(node)));
}
}