YANG leaf prefix defect fix + YANG augment and choice support in YMS
Change-Id: I271735ca879bff8b43229cf8f59d2f60b27d7750
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java
index 4ffd942..25535e2 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoTranslator.java
@@ -22,22 +22,28 @@
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.javadatamodel.JavaQualifiedTypeInfo;
import org.onosproject.yangutils.translator.exception.TranslatorException;
-import org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType;
-import org.onosproject.yangutils.translator.tojava.javamodel.JavaLeafInfoContainer;
+import org.onosproject.yangutils.translator.tojava.javamodel
+ .AttributesJavaDataType;
+import org.onosproject.yangutils.translator.tojava.javamodel
+ .JavaLeafInfoContainer;
import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
import com.google.common.base.MoreObjects;
-import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.BINARY;
-import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.getJavaImportClass;
-import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.getJavaImportPackage;
+import static org.onosproject.yangutils.datamodel.utils.builtindatatype
+ .YangDataTypes.BINARY;
+import static org.onosproject.yangutils.translator.tojava.javamodel
+ .AttributesJavaDataType.getJavaImportClass;
+import static org.onosproject.yangutils.translator.tojava.javamodel
+ .AttributesJavaDataType.getJavaImportPackage;
import static org.onosproject.yangutils.utils.UtilConstants.BASE64;
import static org.onosproject.yangutils.utils.UtilConstants.COLLECTION_IMPORTS;
/**
* Represents the information about individual imports in the generated file.
*/
-public class JavaQualifiedTypeInfoTranslator extends JavaQualifiedTypeInfo
+public class JavaQualifiedTypeInfoTranslator
+ extends JavaQualifiedTypeInfo
implements Comparable<JavaQualifiedTypeInfoTranslator>, Serializable {
private static final long serialVersionUID = 806201634L;
@@ -89,21 +95,27 @@
*
* @param leaf leaf whose java information is being updated
*/
- public static void updateLeavesJavaQualifiedInfo(JavaLeafInfoContainer leaf) {
+ public static void updateLeavesJavaQualifiedInfo(
+ JavaLeafInfoContainer leaf) {
- JavaQualifiedTypeInfoTranslator importInfo = (JavaQualifiedTypeInfoTranslator) leaf.getJavaQualifiedInfo();
+ JavaQualifiedTypeInfoTranslator importInfo =
+ (JavaQualifiedTypeInfoTranslator) leaf.getJavaQualifiedInfo();
if (leaf.getDataType() == null) {
- throw new TranslatorException("missing data type of leaf " + leaf.getName()
- + " in " + leaf.getLineNumber() + " at" + leaf.getCharPosition() + " in " + leaf.getFileName());
+ throw new TranslatorException(
+ "missing data type of leaf " + leaf.getName()
+ + " in " + leaf.getLineNumber() + " at" +
+ leaf.getCharPosition() + " in " +
+ leaf.getFileName());
}
/*
* Current leaves holder is adding a leaf info as a attribute to the
* current class.
*/
- String className = getJavaImportClass(leaf.getDataType(), leaf.isLeafList(),
- leaf.getConflictResolveConfig());
+ String className =
+ getJavaImportClass(leaf.getDataType(), leaf.isLeafList(),
+ leaf.getConflictResolveConfig());
if (className != null) {
/*
* Corresponding to the attribute type a class needs to be imported,
@@ -111,11 +123,16 @@
*/
importInfo.setClassInfo(className);
String classPkg = getJavaImportPackage(leaf.getDataType(),
- leaf.isLeafList(), leaf.getConflictResolveConfig());
+ leaf.isLeafList(),
+ leaf.getConflictResolveConfig());
if (classPkg == null) {
- throw new TranslatorException("import package cannot be null when the class is used for "
- + leaf.getName()
- + " in " + leaf.getLineNumber() + " at" + leaf.getCharPosition() + " in " + leaf.getFileName());
+ throw new TranslatorException(
+ "import package cannot be null when the class is used" +
+ " for "
+ + leaf.getName()
+ + " in " + leaf.getLineNumber() + " at" +
+ leaf.getCharPosition() + " in " +
+ leaf.getFileName());
}
importInfo.setPkgInfo(classPkg);
} else {
@@ -123,43 +140,56 @@
* The attribute does not need a class to be imported, for example
* built in java types.
*/
- String dataTypeName = AttributesJavaDataType.getJavaDataType(leaf.getDataType());
+ String dataTypeName =
+ AttributesJavaDataType.getJavaDataType(leaf.getDataType());
if (dataTypeName == null) {
throw new TranslatorException("not supported data type for "
- + leaf.getName()
- + " in " + leaf.getLineNumber() + " at" + leaf.getCharPosition() + " in " + leaf.getFileName());
+ + leaf.getName()
+ + " in " +
+ leaf.getLineNumber() +
+ " at" +
+ leaf.getCharPosition() +
+ " in " +
+ leaf.getFileName());
}
importInfo.setClassInfo(dataTypeName);
}
- leaf.getJavaQualifiedInfo().setJavaAttributeName(leaf.getJavaName(null));
+ leaf.getJavaQualifiedInfo().setJavaAttributeName(leaf.getJavaName(
+ leaf.getConflictResolveConfig()));
}
/**
* Returns the import info for an attribute, which needs to be used for code
* generation for import or for qualified access.
*
- * @param curNode current data model node for which the java file is being
+ * @param curNode current data model node for which the java file
+ * is being
* generated
* @param attributeName name of the attribute being added, it will used in
* import info for child class
* @return return the import info for this attribute
*/
- public static JavaQualifiedTypeInfoTranslator getQualifiedTypeInfoOfCurNode(YangNode curNode,
- String attributeName) {
+ public static JavaQualifiedTypeInfoTranslator getQualifiedTypeInfoOfCurNode(
+ YangNode curNode,
+ String attributeName) {
- JavaQualifiedTypeInfoTranslator importInfo = new JavaQualifiedTypeInfoTranslator();
+ JavaQualifiedTypeInfoTranslator importInfo =
+ new JavaQualifiedTypeInfoTranslator();
if (!(curNode instanceof JavaFileInfoContainer)) {
- throw new TranslatorException("missing java file information to get the package details "
- + "of attribute corresponding to child node " + curNode.getName() +
- " in " + curNode.getLineNumber() + " at " + curNode.getCharPosition() + " in " +
- curNode.getFileName());
+ throw new TranslatorException(
+ "missing java file information to get the package details "
+ + "of attribute corresponding to child node " +
+ curNode.getName() +
+ " in " + curNode.getLineNumber() + " at " +
+ curNode.getCharPosition() + " in " +
+ curNode.getFileName());
}
importInfo.setClassInfo(attributeName);
importInfo.setPkgInfo(((JavaFileInfoContainer) curNode)
- .getJavaFileInfo().getPackage());
+ .getJavaFileInfo().getPackage());
return importInfo;
}
@@ -171,23 +201,28 @@
* @param conflictResolver plugin configurations
* @return return the import info for this attribute
*/
- static JavaQualifiedTypeInfoTranslator getQualifiedInfoOfFromString(JavaAttributeInfo referredTypesAttrInfo,
- YangToJavaNamingConflictUtil conflictResolver) {
+ static JavaQualifiedTypeInfoTranslator getQualifiedInfoOfFromString(
+ JavaAttributeInfo referredTypesAttrInfo,
+ YangToJavaNamingConflictUtil conflictResolver) {
/*
* Get the java qualified type information for the wrapper classes and
* set it in new java attribute information.
*/
- JavaQualifiedTypeInfoTranslator qualifiedInfoOfFromString = new JavaQualifiedTypeInfoTranslator();
+ JavaQualifiedTypeInfoTranslator qualifiedInfoOfFromString =
+ new JavaQualifiedTypeInfoTranslator();
if (referredTypesAttrInfo.getAttributeType().getDataType() == BINARY) {
qualifiedInfoOfFromString.setClassInfo(BASE64);
qualifiedInfoOfFromString.setPkgInfo(COLLECTION_IMPORTS);
} else {
qualifiedInfoOfFromString.setClassInfo(
- getJavaImportClass(referredTypesAttrInfo.getAttributeType(), true, conflictResolver));
+ getJavaImportClass(referredTypesAttrInfo.getAttributeType(),
+ true, conflictResolver));
qualifiedInfoOfFromString.setPkgInfo(
- getJavaImportPackage(referredTypesAttrInfo.getAttributeType(), true, conflictResolver));
+ getJavaImportPackage(
+ referredTypesAttrInfo.getAttributeType(), true,
+ conflictResolver));
}
return qualifiedInfoOfFromString;
}
@@ -204,7 +239,8 @@
return true;
}
if (obj instanceof JavaQualifiedTypeInfoTranslator) {
- JavaQualifiedTypeInfoTranslator other = (JavaQualifiedTypeInfoTranslator) obj;
+ JavaQualifiedTypeInfoTranslator other =
+ (JavaQualifiedTypeInfoTranslator) obj;
return Objects.equals(pkgInfo, other.pkgInfo) &&
Objects.equals(classInfo, other.classInfo);
}