[ONOS-5142] [ONOS-5137] defect fixes
Change-Id: I2856a7a41b242b16c981915dd97986aa9c6ab676
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java b/plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java
index 755b5b4..1a36c74 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/linker/exceptions/LinkerException.java
@@ -22,9 +22,9 @@
public class LinkerException extends RuntimeException {
private static final long serialVersionUID = 20160211L;
- private int lineNumber;
- private int charPositionInLine;
- private String fileName;
+ private transient int lineNumber;
+ private transient int charPositionInLine;
+ private transient String fileName;
/**
* Creates a new linker exception.
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java
index 334a92d..c1b6726 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerManager.java
@@ -43,7 +43,7 @@
* Set of all the YANG nodes, corresponding to the YANG files parsed by
* parser.
*/
- Set<YangNode> yangNodeSet = new HashSet<>();
+ private Set<YangNode> yangNodeSet = new HashSet<>();
/**
* Returns set of YANG node.
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java
index fb80076..37a04df 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangLinkerUtils.java
@@ -26,7 +26,6 @@
import org.onosproject.yangutils.datamodel.YangAtomicPath;
import org.onosproject.yangutils.datamodel.YangAugment;
import org.onosproject.yangutils.datamodel.YangAugmentableNode;
-import org.onosproject.yangutils.datamodel.YangAugmentedInfo;
import org.onosproject.yangutils.datamodel.YangCase;
import org.onosproject.yangutils.datamodel.YangChoice;
import org.onosproject.yangutils.datamodel.YangGrouping;
@@ -47,14 +46,17 @@
import org.onosproject.yangutils.datamodel.utils.ResolvableStatus;
import org.onosproject.yangutils.datamodel.utils.YangConstructType;
import org.onosproject.yangutils.linker.exceptions.LinkerException;
+import org.onosproject.yangutils.translator.exception.TranslatorException;
import static org.onosproject.yangutils.datamodel.TraversalType.CHILD;
import static org.onosproject.yangutils.datamodel.TraversalType.PARENT;
import static org.onosproject.yangutils.datamodel.TraversalType.ROOT;
import static org.onosproject.yangutils.datamodel.TraversalType.SIBILING;
import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.addResolutionInfo;
+import static org.onosproject.yangutils.datamodel.utils.GeneratedLanguage.JAVA_GENERATION;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.DERIVED;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.IDENTITYREF;
+import static org.onosproject.yangutils.translator.tojava.YangDataModelFactory.getYangCaseNode;
import static org.onosproject.yangutils.utils.UtilConstants.COLON;
import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
@@ -88,7 +90,7 @@
}
}
if (targetNode instanceof YangChoice) {
- //Do nothing
+ addCaseNodeToChoiceTarget(augment);
} else {
detectCollisionInLeaveHolders(targetNode, augment);
while (augmentsChild != null) {
@@ -152,6 +154,79 @@
}
/**
+ * Adds a case node in augment when augmenting a choice node.
+ *
+ * @param augment augment node
+ */
+ private static void addCaseNodeToChoiceTarget(YangAugment augment) {
+ try {
+ YangNode child = augment.getChild();
+ List<YangNode> childNodes = new ArrayList<>();
+ while (child != null) {
+ childNodes.add(child);
+ child = child.getNextSibling();
+ }
+ augment.setChild(null);
+
+ for (YangNode node : childNodes) {
+ YangCase javaCase = getYangCaseNode(JAVA_GENERATION);
+ javaCase.setName(node.getName());
+ augment.addChild(javaCase);
+ node.setParent(javaCase);
+ node.setNextSibling(null);
+ node.setPreviousSibling(null);
+ javaCase.addChild(node);
+ }
+ if (augment.getListOfLeaf() != null) {
+ for (YangLeaf leaf : augment.getListOfLeaf()) {
+ YangCase javaCase = getYangCaseNode(JAVA_GENERATION);
+ javaCase.setName(leaf.getName());
+ javaCase.addLeaf(leaf);
+ augment.addChild(javaCase);
+
+ }
+ augment.getListOfLeaf().clear();
+ }
+ if (augment.getListOfLeafList() != null) {
+ for (YangLeafList leafList : augment.getListOfLeafList()) {
+ YangCase javaCase = getYangCaseNode(JAVA_GENERATION);
+ javaCase.setName(leafList.getName());
+ javaCase.addLeafList(leafList);
+ augment.addChild(javaCase);
+ }
+ augment.getListOfLeafList().clear();
+ }
+
+ } catch (DataModelException e) {
+ throw new TranslatorException("Failed to add child nodes to case node of augment " + augment.getName());
+ }
+ }
+
+ //Detect collision between augment and choice children.
+ private void detectCollisionForChoiceNode(YangNode choice, YangNode augment) {
+ YangNode choiceChild = choice.getChild();
+ YangNode augmentChild = augment.getChild();
+
+ List<YangNode> choiceChildren = new ArrayList<>();
+ List<YangNode> augmentChildren = new ArrayList<>();
+ while (choiceChild != null) {
+ choiceChildren.add(choiceChild);
+ }
+ while (augmentChild != null) {
+ augmentChildren.add(augmentChild);
+ }
+
+ for (YangNode cChild : choiceChildren) {
+ for (YangNode aChild : augmentChildren) {
+ if (cChild.getName().equals(aChild.getName())) {
+ throw new LinkerException("case node " + aChild.getName() + "already present in choice " +
+ choice.getName());
+ }
+ }
+ }
+ }
+
+ /**
* Detects collision between target nodes and its all leaf/leaf-list or child node with augmented leaf/leaf-list or
* child node.
*
@@ -161,10 +236,10 @@
static void detectCollisionForAugmentedNode(YangNode targetNode, YangAugment augment) {
// Detect collision for target node and augment node.
detectCollision(targetNode, augment);
- List<YangAugmentedInfo> yangAugmentedInfo = ((YangAugmentableNode) targetNode).getAugmentedInfoList();
+ List<YangAugment> yangAugmentedInfo = ((YangAugmentableNode) targetNode).getAugmentedInfoList();
// Detect collision for target augment node and current augment node.
- for (YangAugmentedInfo info : yangAugmentedInfo) {
- detectCollision((YangAugment) info, augment);
+ for (YangAugment info : yangAugmentedInfo) {
+ detectCollision(info, augment);
}
}
@@ -222,7 +297,7 @@
* @return valid node identifier
*/
static YangNodeIdentifier getValidNodeIdentifier(String nodeIdentifierString,
- YangConstructType yangConstruct) {
+ YangConstructType yangConstruct) {
String[] tmpData = nodeIdentifierString.split(Pattern.quote(COLON));
if (tmpData.length == 1) {
YangNodeIdentifier nodeIdentifier = new YangNodeIdentifier();
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java
index 31e4c3e..0c21bc9 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangResolutionInfoImpl.java
@@ -127,7 +127,7 @@
* Current module/sub-module reference, will be used in inter-file/
* inter-jar scenario to get the import/include list.
*/
- private transient YangReferenceResolver curReferenceResolver;
+ private YangReferenceResolver curReferenceResolver;
/**
* Stack for type/uses is maintained for hierarchical references, this is
@@ -165,7 +165,7 @@
throws DataModelException {
setCurReferenceResolver(dataModelRootNode);
- /**
+ /*
* Current node to resolve, it can be a YANG type, YANG uses or YANG if-feature or
* YANG leafref or YANG base or YANG identityref.
*/
@@ -175,7 +175,7 @@
if (entityToResolve instanceof Resolvable) {
Resolvable resolvable = (Resolvable) entityToResolve;
if (resolvable.getResolvableStatus() == RESOLVED) {
- /**
+ /*
* entity is already resolved, so nothing to do
*/
return;
@@ -201,7 +201,7 @@
throws DataModelException {
while (getPartialResolvedStack().size() != 0) {
- /**
+ /*
* Current node to resolve, it can be a YANG type or YANG uses or
* YANG if-feature or YANG leafref or YANG base or YANG identityref.
*/
@@ -737,7 +737,7 @@
* @throws DataModelException data model errors
*/
private YangNode isReferredNodeInSiblingProcessedForIdentity(YangNode potentialReferredNode,
- String referredNodeName)
+ String referredNodeName)
throws DataModelException {
while (potentialReferredNode != null) {
@@ -1229,7 +1229,7 @@
* @param root root node
*/
private void processXPathLinking(T entityToResolve,
- YangReferenceResolver root) {
+ YangReferenceResolver root) {
YangXpathLinker<T> xPathLinker = new YangXpathLinker<T>();
@@ -1525,7 +1525,7 @@
* @throws DataModelException a violation of data model rules
*/
private void fillAbsolutePathValuesInLeafref(YangLeafRef leafref, String pathNameToBePrefixed,
- List<YangAtomicPath> atomicPathsInRelative)
+ List<YangAtomicPath> atomicPathsInRelative)
throws DataModelException {
leafref.setPathType(YangPathArgType.ABSOLUTE_PATH);
@@ -1819,4 +1819,5 @@
}
return null;
}
+
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
index 89d2dbe..d77fe7d 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/linker/impl/YangXpathLinker.java
@@ -313,7 +313,7 @@
*/
private YangLeaf searchReferredLeaf(YangNode targetNode, String leafName) {
if (!(targetNode instanceof YangLeavesHolder)) {
- throw new LinkerException("Refered node " + targetNode.getName() +
+ throw new LinkerException("Referred node " + targetNode.getName() +
"should be of type leaves holder ");
}
YangLeavesHolder holder = (YangLeavesHolder) targetNode;
@@ -337,7 +337,7 @@
*/
private YangLeafList searchReferredLeafList(YangNode targetNode, String leafListName) {
if (!(targetNode instanceof YangLeavesHolder)) {
- throw new LinkerException("Refered node " + targetNode.getName() +
+ throw new LinkerException("Referred node " + targetNode.getName() +
"should be of type leaves holder ");
}
YangLeavesHolder holder = (YangLeavesHolder) targetNode;
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java b/plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java
index a11bcb8..8edff52 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/exceptions/ParserException.java
@@ -22,9 +22,9 @@
public class ParserException extends RuntimeException {
private static final long serialVersionUID = 20160211L;
- private int lineNumber;
- private int charPositionInLine;
- private String fileName;
+ private transient int lineNumber;
+ private transient int charPositionInLine;
+ private transient String fileName;
/**
* Creates a new parser exception.
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java
index fd2ac3d..d644345 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/listeners/GroupingListener.java
@@ -121,7 +121,7 @@
YangGrouping groupingNode = getYangGroupingNode(JAVA_GENERATION);
groupingNode.setName(identifier);
-
+ groupingNode.setGroupingDepth(listener.getGroupingDepth());
YangNode curNode = (YangNode) curData;
try {
curNode.addChild(groupingNode);
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/AugmentListenerUtil.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/AugmentListenerUtil.java
deleted file mode 100644
index 341cbf9..0000000
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/AugmentListenerUtil.java
+++ /dev/null
@@ -1,309 +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.yangutils.parser.impl.parserutils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onosproject.yangutils.datamodel.CollisionDetector;
-import org.onosproject.yangutils.datamodel.YangModule;
-import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.datamodel.YangNodeIdentifier;
-import org.onosproject.yangutils.datamodel.YangSubModule;
-import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
-import org.onosproject.yangutils.datamodel.utils.Parsable;
-import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser;
-import org.onosproject.yangutils.parser.exceptions.ParserException;
-import org.onosproject.yangutils.parser.impl.TreeWalkListener;
-
-import static org.onosproject.yangutils.datamodel.utils.YangConstructType.AUGMENT_DATA;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
-
-/**
- * Represents a utility which provides listener utilities augment node.
- */
-public final class AugmentListenerUtil {
-
- /**
- * Prefix to be added to generated java file for augment node.
- */
- private static final String AUGMENTED = "Augmented";
-
- /**
- * The number of time augment has updated the same target node in same module/submodule.
- */
- private static int occurrenceCount = 1;
-
- /**
- * List of names for augment's generated java file.
- */
- private static List<String> augmentJavaFileNameList = new ArrayList<>();
-
- private static final int ONE = 1;
- private static final int TWO = 2;
- private static final int ZERO = 0;
-
- /**
- * Creates an instance of augment java file name generator utility.
- */
- private AugmentListenerUtil() {
- }
-
- /**
- * Sets the augment java file name list.
- *
- * @param nameList name list
- */
- private static void setAugmentJavaFileNameList(List<String> nameList) {
- augmentJavaFileNameList = nameList;
- }
-
- /**
- * Returns augment java file name list.
- *
- * @return augment java file name list
- */
- public static List<String> getAugmentJavaFileNameList() {
- return augmentJavaFileNameList;
- }
-
- /**
- * Sets occurrence count.
- *
- * @param occurrence occurrence count
- */
- private static void setOccurrenceCount(int occurrence) {
- occurrenceCount = occurrence;
- }
-
- /**
- * Returns occurrence count.
- *
- * @return occurrence count
- */
- private static int getOccurrenceCount() {
- return occurrenceCount;
- }
-
- /**
- * Generates name for augment node also detects collision for java file generation of augment node when
- * augment is updating the same target node in same parent multiple times.
- *
- * @param curData parsable data
- * @param targetNodes list of target nodes
- * @param listener tree walk listener
- * @return name for augment node
- */
- public static String generateNameForAugmentNode(Parsable curData, List<YangNodeIdentifier> targetNodes,
- TreeWalkListener listener) {
-
- String curPrefix = getParentsPrefix((YangNode) curData);
- YangNodeIdentifier nodeId = targetNodes.get(targetNodes.size() - 1);
- boolean isPrefix = isPrefixPresent(nodeId, curPrefix);
- String generateName = createValidNameForAugment(nodeId, isPrefix);
-
- if (listener.getParsedDataStack().peek() instanceof CollisionDetector) {
- try {
- ((CollisionDetector) listener.getParsedDataStack().peek()).detectCollidingChild(generateName,
- AUGMENT_DATA);
- } catch (DataModelException e) {
- return updateNameWhenHasMultipleOuccrrence(nodeId, isPrefix);
- }
- }
-
- clearOccurrenceCount();
- return generateName;
- }
-
- /**
- * Creates a name identifier for augment.
- *
- * @param nodeId node identifier
- * @param isPrefix if prefix is present or it is not equals to parent's prefix
- * @return valid name for augment
- */
- public static String createValidNameForAugment(YangNodeIdentifier nodeId, boolean isPrefix) {
- getAugmentJavaFileNameList().add(createName(nodeId, isPrefix));
- setAugmentJavaFileNameList(getAugmentJavaFileNameList());
- return getAugmentJavaFileNameList().get(getAugmentJavaFileNameList().size() - 1);
- }
-
- /**
- * Creates name for the current augment file.
- *
- * @param nodeId node identifier
- * @param isPrefix if prefix is present or it is not equals to parent's prefix
- */
- private static String createName(YangNodeIdentifier nodeId, boolean isPrefix) {
- if (isPrefix) {
- return AUGMENTED + getCapitalCase(nodeId.getPrefix()) + getCapitalCase(nodeId.getName());
- } else {
- return AUGMENTED + getCapitalCase(nodeId.getName());
- }
- }
-
- /**
- * Updates occurrence count of augment.
- */
- private static void updateOccurenceCount() {
- int count = getOccurrenceCount();
- count++;
- setOccurrenceCount(count);
- }
-
- /**
- * Updates the list of name when augment has occurred multiple times to update the same target node
- * and returns a valid name for augment node's generated java file.
- *
- * @param nodeId YANG node identifier
- * @param isPrefix true if a prefix is present and it is not equals to parents prefix
- * @return valid name for augment node
- */
- public static String updateNameWhenHasMultipleOuccrrence(YangNodeIdentifier nodeId, boolean isPrefix) {
- String name = "";
- updateOccurenceCount();
-
- if (getOccurrenceCount() == TWO) {
- String previousAugmentsName = getAugmentJavaFileNameList().get(getAugmentJavaFileNameList().size() - ONE);
- getAugmentJavaFileNameList().remove(ZERO);
- getAugmentJavaFileNameList().add(previousAugmentsName + ONE);
- //TODO: update when already contains the name.
- name = createName(nodeId, isPrefix) + TWO;
- } else {
- name = createName(nodeId, isPrefix) + getOccurrenceCount();
- }
- getAugmentJavaFileNameList().add(name);
- return name;
- }
-
- /**
- * Resets occurrence count to one.
- */
- public static void clearOccurrenceCount() {
- setOccurrenceCount(ONE);
- }
-
- /**
- * Returns true if a prefix is present and it is not equals to parents prefix.
- *
- * @param nodeId YANG node identifier
- * @param parentsPrefix parent's prefix
- * @return true if a prefix is present and it is not equals to parents prefix
- */
- private static boolean isPrefixPresent(YangNodeIdentifier nodeId, String parentsPrefix) {
- return nodeId.getPrefix() != null && nodeId.getPrefix() != parentsPrefix;
- }
-
- /**
- * Validates whether current node in target path is valid or not.
- *
- * @param curNode current YANG node
- * @param targetNodes list of target nodes
- * @param ctx augment statement context
- */
- public static void validateNodeInTargetPath(YangNode curNode, List<YangNodeIdentifier> targetNodes,
- GeneratedYangParser.AugmentStatementContext ctx) {
-
- curNode = curNode.getChild();
- YangNode tempNode = validateCurrentTargetNode(targetNodes, curNode);
- if (tempNode != null) {
- switch (tempNode.getNodeType()) {
- case CONTAINER_NODE:
- break;
- case LIST_NODE:
- break;
- case CHOICE_NODE:
- break;
- case CASE_NODE:
- break;
- case INPUT_NODE:
- break;
- case OUTPUT_NODE:
- break;
- case NOTIFICATION_NODE:
- break;
- default:
- throw parserException(ctx);
- }
- } else {
- throw parserException(ctx);
- }
- }
-
- /**
- * Validates whether nodes in target node list are valid or not.
- *
- * @param targetNodes target node
- * @param curNode YANG node
- * @return true or false
- */
- private static YangNode validateCurrentTargetNode(List<YangNodeIdentifier> targetNodes, YangNode curNode) {
- YangNode tempNode = null;
- while (curNode != null) {
- tempNode = curNode;
- for (int i = 1; i < targetNodes.size(); i++) {
- if (curNode.getName().equals(targetNodes.get(i).getName())) {
- if (curNode.getChild() != null && targetNodes.size() - 1 != i) {
- curNode = curNode.getChild();
- } else if (curNode.getChild() != null && targetNodes.size() - 1 == i) {
- return curNode;
- } else if (curNode.getChild() == null && targetNodes.size() - 1 == i) {
- return curNode;
- } else {
- break;
- }
- } else {
- curNode = tempNode;
- break;
- }
- }
- curNode = curNode.getNextSibling();
- }
- return null;
- }
-
- /**
- * Builds parser exception.
- *
- * @param ctx augment statement context
- * @return parser exception
- */
- public static ParserException parserException(GeneratedYangParser.AugmentStatementContext ctx) {
- int line = ctx.getStart().getLine();
- int charPositionInLine = ctx.getStart().getCharPositionInLine();
- ParserException exception = new ParserException("invalid target node path.");
- exception.setLine(line);
- exception.setCharPosition(charPositionInLine);
- return exception;
- }
-
- /**
- * Returns parent nodes prefix.
- *
- * @param curNode current YANG node
- * @return parent nodes prefix
- */
- public static String getParentsPrefix(YangNode curNode) {
- String curPrefix = null;
- if (curNode instanceof YangModule) {
- curPrefix = ((YangModule) curNode).getPrefix();
- } else if (curNode instanceof YangSubModule) {
- curPrefix = ((YangSubModule) curNode).getPrefix();
- }
- return curPrefix;
- }
-}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangFileInfo.java b/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangFileInfo.java
index 4eb22e5..a0f1b1d 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangFileInfo.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangFileInfo.java
@@ -19,12 +19,11 @@
import java.util.Objects;
import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.datamodel.utils.ResolvableStatus;
/**
* Represents YANG file information.
*/
-class YangFileInfo {
+public class YangFileInfo {
/**
* YANG file name.
@@ -32,26 +31,11 @@
private String yangFileName;
/**
- * YANG file revision.
- */
- private String revision;
-
- /**
* Data model node after parsing YANG file.
*/
private YangNode rootNode;
/**
- * Resolution status of YANG file.
- */
- private ResolvableStatus resolvableStatus;
-
- /**
- * Location for serialized files in case of inter-jar dependencies.
- */
- private String serializedFile;
-
- /**
* Flag to know if the root node require to be translated.
*/
private boolean isForTranslator = true;
@@ -79,7 +63,7 @@
*
* @return yangFileName YANG file name
*/
- String getYangFileName() {
+ public String getYangFileName() {
return yangFileName;
}
@@ -88,70 +72,16 @@
*
* @param yangFileName YANG file name
*/
- void setYangFileName(String yangFileName) {
+ public void setYangFileName(String yangFileName) {
this.yangFileName = yangFileName;
}
/**
- * Returns the revision of YANG file.
- *
- * @return revision of YANG file
- */
- public String getRevision() {
- return revision;
- }
-
- /**
- * Sets the revision of YANG file.
- *
- * @param revision revision of YANG file
- */
- public void setRevision(String revision) {
- this.revision = revision;
- }
-
- /**
- * Returns the resolution status of YANG file.
- *
- * @return resolution status of YANG file
- */
- public ResolvableStatus getResolvableStatus() {
- return resolvableStatus;
- }
-
- /**
- * Sets the resolution status of YANG file.
- *
- * @param resolvableStatus resolution status of YANG file
- */
- public void setResolvableStatus(ResolvableStatus resolvableStatus) {
- this.resolvableStatus = resolvableStatus;
- }
-
- /**
- * Returns serialized file of datamodel.
- *
- * @return the serialized file of datamodel
- */
- public String getSerializedFile() {
- return serializedFile;
- }
-
- /**
- * Sets serialized file of datamodel.
- *
- * @param serializedFile serialized file of datamodel
- */
- public void setSerializedFile(String serializedFile) {
- this.serializedFile = serializedFile;
- }
-
- /**
* Returns true if node need to be translated.
*
* @return isForTranslator true if node need to be translated
*/
- boolean isForTranslator() {
+ public boolean isForTranslator() {
return isForTranslator;
}
@@ -160,7 +90,7 @@
*
* @param isForTranslator true if node need to be translated
*/
- void setForTranslator(boolean isForTranslator) {
+ public void setForTranslator(boolean isForTranslator) {
this.isForTranslator = isForTranslator;
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangPluginUtils.java b/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangPluginUtils.java
index e27468b..28e77c5 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangPluginUtils.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangPluginUtils.java
@@ -23,6 +23,7 @@
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -32,10 +33,10 @@
import org.apache.maven.model.Resource;
import org.apache.maven.project.MavenProject;
import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.datamodel.utils.DataModelUtils;
import org.slf4j.Logger;
import org.sonatype.plexus.build.incremental.BuildContext;
+import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.parseJarFile;
import static org.onosproject.yangutils.utils.UtilConstants.HYPHEN;
import static org.onosproject.yangutils.utils.UtilConstants.JAR;
import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
@@ -48,13 +49,14 @@
/**
* Represents YANG plugin utilities.
*/
-final class YangPluginUtils {
+public final class YangPluginUtils {
private static final Logger log = getLogger(YangPluginUtils.class);
private static final String TARGET_RESOURCE_PATH = SLASH + TEMP + SLASH + YANG_RESOURCES + SLASH;
private static final String SERIALIZED_FILE_EXTENSION = ".ser";
+ private static final String YANG_META_DATA = "YangMetaData";
private YangPluginUtils() {
}
@@ -124,8 +126,8 @@
* @param operation true if need to add to resource
* @throws IOException when fails to do IO operations
*/
- static void serializeDataModel(String directory, Set<YangFileInfo> fileInfoSet,
- MavenProject project, boolean operation) throws IOException {
+ public static void serializeDataModel(String directory, Set<YangFileInfo> fileInfoSet,
+ MavenProject project, boolean operation) throws IOException {
String serFileDirPath = directory + TARGET_RESOURCE_PATH;
File dir = new File(serFileDirPath);
@@ -135,17 +137,17 @@
addToProjectResource(directory + SLASH + TEMP + SLASH, project);
}
+ Set<YangNode> nodes = new HashSet<>();
for (YangFileInfo fileInfo : fileInfoSet) {
-
- String serFileName = serFileDirPath + fileInfo.getRootNode().getName()
- + SERIALIZED_FILE_EXTENSION;
- fileInfo.setSerializedFile(serFileName);
- FileOutputStream fileOutputStream = new FileOutputStream(serFileName);
- ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
- objectOutputStream.writeObject(fileInfo.getRootNode());
- objectOutputStream.close();
- fileOutputStream.close();
+ nodes.add(fileInfo.getRootNode());
}
+
+ String serFileName = serFileDirPath + YANG_META_DATA + SERIALIZED_FILE_EXTENSION;
+ FileOutputStream fileOutputStream = new FileOutputStream(serFileName);
+ ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
+ objectOutputStream.writeObject(nodes);
+ objectOutputStream.close();
+ fileOutputStream.close();
}
/**
@@ -203,7 +205,7 @@
List<String> dependenciesJarPaths = resolveDependencyJarPath(project, localRepository, remoteRepos);
List<YangNode> resolvedDataModelNodes = new ArrayList<>();
for (String dependency : dependenciesJarPaths) {
- resolvedDataModelNodes.addAll(DataModelUtils.parseJarFile(dependency, directory));
+ resolvedDataModelNodes.addAll(parseJarFile(dependency, directory));
}
return resolvedDataModelNodes;
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java b/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
index 1422d27..ab3c6e1 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangUtilManager.java
@@ -285,7 +285,7 @@
/**
* Creates YANG nodes set.
*/
- void createYangNodeSet() {
+ public void createYangNodeSet() {
for (YangFileInfo yangFileInfo : getYangFileInfoSet()) {
getYangNodeSet().add(yangFileInfo.getRootNode());
}
@@ -383,7 +383,7 @@
*
* @return the YANG file info set
*/
- Set<YangFileInfo> getYangFileInfoSet() {
+ public Set<YangFileInfo> getYangFileInfoSet() {
return yangFileInfoSet;
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java b/plugin/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java
index 03b0382..c737175 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/exception/InvalidNodeForTranslatorException.java
@@ -22,10 +22,10 @@
public class InvalidNodeForTranslatorException extends RuntimeException {
private static final long serialVersionUID = 20160311L;
- private String fileName;
+ private transient String fileName;
/**
- * Create a new exception.
+ * Creates a new exception.
*/
public InvalidNodeForTranslatorException() {
super();
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java b/plugin/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java
index cf2c07d..a033a00 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/exception/TranslatorException.java
@@ -22,7 +22,7 @@
public class TranslatorException extends RuntimeException {
private static final long serialVersionUID = 20160311L;
- private String fileName;
+ private transient String fileName;
/**
* Create a new translator exception.
@@ -44,7 +44,7 @@
* Creates a new translator exception from given message and cause.
*
* @param message the detail of exception in string
- * @param cause underlying cause of the error
+ * @param cause underlying cause of the error
*/
public TranslatorException(final String message, final Throwable cause) {
super(message, cause);
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
index ffa7b21..a5a644a 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaAttributeInfo.java
@@ -18,6 +18,7 @@
import org.onosproject.yangutils.datamodel.YangCompilerAnnotation;
import org.onosproject.yangutils.datamodel.YangType;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaQualifiedTypeInfo;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.isTypeLeafref;
@@ -70,6 +71,11 @@
private boolean isLongConflict;
/**
+ * If conflict occurs.
+ */
+ private boolean isShortConflict;
+
+ /**
* Creates a java attribute info object.
*/
private JavaAttributeInfo() {
@@ -244,6 +250,24 @@
}
/**
+ * Returns true if conflict between short and uint8.
+ *
+ * @return true if conflict between short and uint8
+ */
+ public boolean isShortConflict() {
+ return isShortConflict;
+ }
+
+ /**
+ * Sets true if conflict between short and uint8.
+ *
+ * @param shortConflict true if conflict between short and uint8
+ */
+ public void setShortConflict(boolean shortConflict) {
+ isShortConflict = shortConflict;
+ }
+
+ /**
* Returns java attribute info.
*
* @param importInfo java qualified type info
@@ -253,7 +277,7 @@
* @param isListAttribute is list attribute
* @return java attribute info.
*/
- public static JavaAttributeInfo getAttributeInfoForTheData(JavaQualifiedTypeInfoTranslator importInfo,
+ public static JavaAttributeInfo getAttributeInfoForTheData(JavaQualifiedTypeInfo importInfo,
String attributeName,
YangType<?> attributeType, boolean isQualifiedAccess,
boolean isListAttribute) {
@@ -263,7 +287,7 @@
}
attributeName = isTypeNameLeafref(attributeName, attributeType);
JavaAttributeInfo newAttr = new JavaAttributeInfo();
- newAttr.setImportInfo(importInfo);
+ newAttr.setImportInfo((JavaQualifiedTypeInfoTranslator) importInfo);
newAttr.setAttributeName(attributeName);
newAttr.setAttributeType(attributeType);
newAttr.setIsQualifiedAccess(isQualifiedAccess);
@@ -275,11 +299,11 @@
/**
* Returns java attribute info.
*
- * @param importInfo java qualified type info
- * @param attributeName attribute name
- * @param attributeType attribute type
- * @param isQualifiedAccess is the attribute a qualified access
- * @param isListAttribute is list attribute
+ * @param importInfo java qualified type info
+ * @param attributeName attribute name
+ * @param attributeType attribute type
+ * @param isQualifiedAccess is the attribute a qualified access
+ * @param isListAttribute is list attribute
* @param compilerAnnotation compiler annotation
* @return java attribute info.
*/
@@ -288,7 +312,7 @@
boolean isQualifiedAccess, boolean isListAttribute,
YangCompilerAnnotation compilerAnnotation) {
JavaAttributeInfo newAttr = getAttributeInfoForTheData(importInfo, attributeName, attributeType,
- isQualifiedAccess, isListAttribute);
+ isQualifiedAccess, isListAttribute);
newAttr.setCompilerAnnotation(compilerAnnotation);
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java
index 671635e..089a1b3 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaCodeGeneratorUtil.java
@@ -17,22 +17,12 @@
package org.onosproject.yangutils.translator.tojava;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.onosproject.yangutils.datamodel.TraversalType;
-import org.onosproject.yangutils.datamodel.YangAugment;
-import org.onosproject.yangutils.datamodel.YangCase;
-import org.onosproject.yangutils.datamodel.YangChoice;
import org.onosproject.yangutils.datamodel.YangInput;
-import org.onosproject.yangutils.datamodel.YangLeaf;
-import org.onosproject.yangutils.datamodel.YangLeafList;
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.YangNodeType;
import org.onosproject.yangutils.datamodel.YangOutput;
-import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.translator.exception.InvalidNodeForTranslatorException;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.utils.io.YangPluginConfig;
@@ -41,11 +31,6 @@
import static org.onosproject.yangutils.datamodel.TraversalType.PARENT;
import static org.onosproject.yangutils.datamodel.TraversalType.ROOT;
import static org.onosproject.yangutils.datamodel.TraversalType.SIBILING;
-import static org.onosproject.yangutils.datamodel.utils.GeneratedLanguage.JAVA_GENERATION;
-import static org.onosproject.yangutils.translator.tojava.YangDataModelFactory.getYangCaseNode;
-import static org.onosproject.yangutils.translator.tojava.YangJavaModelUtils.getAugmentClassName;
-import static org.onosproject.yangutils.utils.UtilConstants.CASE;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.searchAndDeleteTempDir;
/**
@@ -53,7 +38,6 @@
*/
public final class JavaCodeGeneratorUtil {
- private static final Log log = LogFactory.getLog(JavaCodeGeneratorUtil.class);
/**
* Current YANG node.
*/
@@ -64,8 +48,6 @@
*/
private static YangNode rootNode;
- private static int calls = 0;
-
/**
* Creates a java code generator utility object.
*/
@@ -106,11 +88,6 @@
TraversalType curTraversal = ROOT;
while (codeGenNode != null) {
- if (codeGenNode instanceof YangAugment) {
- if (((YangAugment) codeGenNode).getAugmentedNode() instanceof YangChoice) {
- addCaseNodeToChoiceTarget((YangAugment) codeGenNode);
- }
- }
if (curTraversal != PARENT) {
if (!(codeGenNode instanceof JavaCodeGenerator)) {
throw new TranslatorException("Unsupported node to generate code");
@@ -129,9 +106,7 @@
}
continue;
} catch (Exception e) {
- if (log.isDebugEnabled()) {
- e.printStackTrace();
- }
+ e.printStackTrace();
close(codeGenNode, yangPlugin);
throw new TranslatorException(e.getMessage());
}
@@ -144,9 +119,7 @@
try {
generateCodeExit(codeGenNode, yangPlugin);
} catch (Exception e) {
- if (log.isDebugEnabled()) {
- e.printStackTrace();
- }
+ e.printStackTrace();
close(codeGenNode, yangPlugin);
throw new TranslatorException(e.getMessage());
}
@@ -156,9 +129,7 @@
try {
generateCodeExit(codeGenNode, yangPlugin);
} catch (Exception e) {
- if (log.isDebugEnabled()) {
- e.printStackTrace();
- }
+ e.printStackTrace();
close(codeGenNode, yangPlugin);
throw new TranslatorException(e.getMessage());
}
@@ -381,49 +352,4 @@
return null;
}
- /**
- * Adds a case node in augment when augmenting a choice node.
- *
- * @param augment augment node
- */
- private static void addCaseNodeToChoiceTarget(YangAugment augment) {
- calls++;
- if (calls == 1) {
- YangCase javaCase = getYangCaseNode(JAVA_GENERATION);
-
- YangPluginConfig pluginConfig = new YangPluginConfig();
- javaCase.setName(getAugmentClassName(augment, pluginConfig) + getCapitalCase(CASE));
-
- if (augment.getListOfLeaf() != null) {
- for (YangLeaf leaf : augment.getListOfLeaf()) {
- javaCase.addLeaf(leaf);
- }
- augment.getListOfLeaf().clear();
- }
- if (augment.getListOfLeafList() != null) {
- for (YangLeafList leafList : augment.getListOfLeafList()) {
- javaCase.addLeafList(leafList);
- }
- augment.getListOfLeafList().clear();
- }
- YangNode child = augment.getChild();
- List<YangNode> childNodes = new ArrayList<>();
- while (child != null) {
- child.setParent(javaCase);
- childNodes.add(child);
- child = child.getNextSibling();
- }
- augment.setChild(null);
- try {
- augment.addChild(javaCase);
- for (YangNode node : childNodes) {
- node.setNextSibling(null);
- node.setPreviousSibling(null);
- javaCase.addChild(node);
- }
- } catch (DataModelException e) {
- throw new TranslatorException("Failed to add child nodes to case node of augment " + augment.getName());
- }
- }
- }
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoContainer.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoContainer.java
deleted file mode 100644
index 7791773..0000000
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfoContainer.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2016 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.yangutils.translator.tojava;
-
-/**
- * Maintain the java qualified access details for an attribute or a class.
- */
-public interface JavaQualifiedTypeInfoContainer {
-
- /**
- * Obtain the java qualified details.
- *
- * @return java qualified type details
- */
- JavaQualifiedTypeInfoTranslator getJavaQualifiedInfo();
-
- /**
- * Assign the qualified type info.
- *
- * @param typeInfo qualified type information
- */
- void setJavaQualifiedInfo(JavaQualifiedTypeInfoTranslator typeInfo);
-}
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 63aa535..420dc27 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
@@ -21,10 +21,10 @@
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.javadatamodel.JavaQualifiedTypeInfo;
-import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
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.utils.io.YangToJavaNamingConflictUtil;
import com.google.common.base.MoreObjects;
@@ -42,6 +42,7 @@
* Creates a java qualified type info object.
*/
public JavaQualifiedTypeInfoTranslator() {
+ super();
}
/**
@@ -87,7 +88,7 @@
*/
public static void updateLeavesJavaQualifiedInfo(JavaLeafInfoContainer leaf) {
- JavaQualifiedTypeInfoTranslator importInfo = leaf.getJavaQualifiedInfo();
+ JavaQualifiedTypeInfoTranslator importInfo = (JavaQualifiedTypeInfoTranslator) leaf.getJavaQualifiedInfo();
if (leaf.getDataType() == null) {
throw new TranslatorException("missing data type of leaf " + leaf.getName());
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java
index d17c081..5068458 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaEnumerationFragmentFiles.java
@@ -25,9 +25,9 @@
import org.onosproject.yangutils.datamodel.YangEnum;
import org.onosproject.yangutils.datamodel.YangEnumeration;
import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.utils.io.YangPluginConfig;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaTypeTranslator;
+import org.onosproject.yangutils.utils.io.YangPluginConfig;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.INT32;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.ENUM_IMPL_MASK;
@@ -229,7 +229,7 @@
* @return java attribute
*/
public JavaAttributeInfo getJavaAttributeForEnum(YangPluginConfig pluginConfig) {
- YangJavaTypeTranslator<?> javaType = new YangJavaTypeTranslator<>();
+ YangJavaTypeTranslator javaType = new YangJavaTypeTranslator();
javaType.setDataType(INT32);
javaType.setDataTypeName(INT);
javaType.updateJavaQualifiedInfo(pluginConfig.getConflictResolver());
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
index 1988e5a..37ce7ee 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaFragmentFiles.java
@@ -30,6 +30,7 @@
import org.onosproject.yangutils.datamodel.YangModule;
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.YangSubModule;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaQualifiedTypeInfo;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.javamodel.JavaLeafInfoContainer;
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaGroupingTranslator;
@@ -1584,7 +1585,7 @@
addLeafIdAttributes(newAttrInfo, leafCount, pluginConfig);
}
if (!newAttrInfo.isIntConflict() &&
- !newAttrInfo.isLongConflict()) {
+ !newAttrInfo.isLongConflict() && !newAttrInfo.isShortConflict()) {
if ((getGeneratedTempFiles() & GETTER_FOR_CLASS_MASK) != 0) {
addGetterImpl(newAttrInfo, pluginConfig);
}
@@ -1863,8 +1864,9 @@
* @return status of the qualified access to the attribute
*/
boolean getIsQualifiedAccessOrAddToImportList(
- JavaQualifiedTypeInfoTranslator importInfo) {
- return getJavaImportData().addImportInfo(importInfo, getGeneratedJavaClassName(),
+ JavaQualifiedTypeInfo importInfo) {
+ return getJavaImportData().addImportInfo((JavaQualifiedTypeInfoTranslator) importInfo,
+ getGeneratedJavaClassName(),
getJavaFileInfo().getPackage());
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java
index b8f12e6..62c6390 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaTypeFragmentFiles.java
@@ -29,10 +29,12 @@
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaTypeTranslator;
import org.onosproject.yangutils.utils.io.YangPluginConfig;
+import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.INT16;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.INT32;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.INT64;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.UINT16;
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.UINT32;
+import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.UINT8;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS;
import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.CONSTRUCTOR_FOR_TYPE_MASK;
@@ -47,6 +49,7 @@
import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getTypeConstructorStringAndJavaDoc;
import static org.onosproject.yangutils.translator.tojava.utils.ValidatorTypeForUnionTypes.INT_TYPE_CONFLICT;
import static org.onosproject.yangutils.translator.tojava.utils.ValidatorTypeForUnionTypes.LONG_TYPE_CONFLICT;
+import static org.onosproject.yangutils.translator.tojava.utils.ValidatorTypeForUnionTypes.SHORT_TYPE_CONFLICT;
import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.closeFile;
@@ -100,6 +103,16 @@
private int uLongIndex = 0;
/**
+ * short index in type list.
+ */
+ private int shortIndex = 0;
+
+ /**
+ * Uint8 index in type list.
+ */
+ private int uInt8Index = 0;
+
+ /**
* Temporary file handle for of string method of class.
*/
private File ofStringImplTempFileHandle;
@@ -130,6 +143,16 @@
private JavaAttributeInfo longAttribute;
/**
+ * Java attribute for short.
+ */
+ private JavaAttributeInfo shortAttribute;
+
+ /**
+ * Java attribute for uint8.
+ */
+ private JavaAttributeInfo uInt8Attribute;
+
+ /**
* Java attribute for uInt.
*/
private JavaAttributeInfo uIntAttribute;
@@ -270,7 +293,7 @@
* @return java attribute
*/
private JavaAttributeInfo getAttributeForType(YangType yangType, YangPluginConfig pluginConfig) {
- YangJavaTypeTranslator<?> javaType = (YangJavaTypeTranslator<?>) yangType;
+ YangJavaTypeTranslator javaType = (YangJavaTypeTranslator) yangType;
javaType.updateJavaQualifiedInfo(pluginConfig.getConflictResolver());
String typeName = javaType.getDataTypeName();
typeName = getCamelCase(typeName, pluginConfig.getConflictResolver());
@@ -290,12 +313,19 @@
* @throws IOException IO operation fail
*/
private void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo javaAttributeInfo,
- YangPluginConfig pluginConfig, List<YangType<?>> typeList)
+ YangPluginConfig pluginConfig, List<YangType<?>> typeList)
throws IOException {
YangDataTypes attrType = javaAttributeInfo.getAttributeType().getDataType();
- if (attrType == INT32 || attrType == UINT16) {
+ if (attrType == INT16 || attrType == UINT8) {
+ boolean isShortConflict = validateForConflictingShortTypes(typeList);
+ javaAttributeInfo.setShortConflict(isShortConflict);
+ updateAttributeCondition(javaAttributeInfo);
+ if (!isShortConflict) {
+ addMethodsWhenNoConflictingTypes(javaAttributeInfo, pluginConfig);
+ }
+ } else if (attrType == INT32 || attrType == UINT16) {
boolean isIntConflict = validateForConflictingIntTypes(typeList);
javaAttributeInfo.setIntConflict(isIntConflict);
updateAttributeCondition(javaAttributeInfo);
@@ -324,7 +354,7 @@
* @throws IOException when fails to do IO operations
*/
private void addMethodsWhenNoConflictingTypes(JavaAttributeInfo javaAttributeInfo,
- YangPluginConfig pluginConfig)
+ YangPluginConfig pluginConfig)
throws IOException {
if ((getGeneratedTempFiles() & OF_STRING_IMPL_MASK) != 0) {
addOfStringMethod(javaAttributeInfo, pluginConfig);
@@ -385,6 +415,28 @@
}
}
}
+
+ attr = getShortAttribute();
+ if (attr != null) {
+ attr = getUInt8Attribute();
+ }
+ if (attr != null) {
+ if (attr.isShortConflict()) {
+ if (getShortIndex() < getUInt8Index()) {
+ appendToFile(getOfStringImplTempFileHandle(), getOfMethodStringAndJavaDoc(getShortAttribute(),
+ getGeneratedJavaClassName(), pluginConfig)
+ + NEW_LINE);
+ addGetterImpl(getShortAttribute(), pluginConfig);
+ addFromStringMethod(getShortAttribute(), pluginConfig);
+ } else {
+ appendToFile(getOfStringImplTempFileHandle(), getOfMethodStringAndJavaDoc(getUInt8Attribute(),
+ getGeneratedJavaClassName(), pluginConfig)
+ + NEW_LINE);
+ addGetterImpl(getUInt8Attribute(), pluginConfig);
+ addFromStringMethod(getUInt8Attribute(), pluginConfig);
+ }
+ }
+ }
}
/**
@@ -458,6 +510,19 @@
< getULongIndex()) + NEW_LINE);
}
}
+ attr = getShortAttribute();
+ if (attr != null) {
+ attr = getUInt8Attribute();
+ }
+ if (attr != null) {
+ if (attr.isShortConflict()) {
+ appendToFile(getConstructorForTypeTempFileHandle(), getTypeConstructorStringAndJavaDoc(
+ getShortAttribute(),
+ getUInt8Attribute(), getGeneratedJavaClassName(), pluginConfig, SHORT_TYPE_CONFLICT,
+ getShortIndex()
+ < getUInt8Index()) + NEW_LINE);
+ }
+ }
}
/**
@@ -555,6 +620,42 @@
}
/**
+ * Returns short type index from type list.
+ *
+ * @return short type index from type list
+ */
+ public int getShortIndex() {
+ return shortIndex;
+ }
+
+ /**
+ * Sets short type index from type list.
+ *
+ * @param shortIndex short type index from type list.
+ */
+ private void setShortIndex(int shortIndex) {
+ this.shortIndex = shortIndex;
+ }
+
+ /**
+ * Returns uInt type index from type list.
+ *
+ * @return uInt type index from type list
+ */
+ public int getUInt8Index() {
+ return uInt8Index;
+ }
+
+ /**
+ * Sets uInt8 type index from type list.
+ *
+ * @param uInt8Index uInt8 type index from type list.
+ */
+ private void setUInt8Index(int uInt8Index) {
+ this.uInt8Index = uInt8Index;
+ }
+
+ /**
* Returns int type index from type list.
*
* @return int type index from type list
@@ -650,6 +751,29 @@
}
/**
+ * Validates conflict for int and uInt.
+ *
+ * @param typeList type list
+ * @return true if conflict is there
+ */
+ private boolean validateForConflictingShortTypes(List<YangType<?>> typeList) {
+ boolean isShortPresent = false;
+ boolean isUInt8Present = false;
+ for (YangType type : typeList) {
+ if (type.getDataType().equals(INT16)) {
+ setShortIndex(typeList.indexOf(type));
+ isShortPresent = true;
+ }
+ if (type.getDataType().equals(UINT8)) {
+ setUInt8Index(typeList.indexOf(type));
+ isUInt8Present = true;
+ }
+ }
+
+ return isShortPresent && isUInt8Present;
+ }
+
+ /**
* Validates conflict for long and uLong.
*
* @param typeList type list
@@ -695,6 +819,14 @@
}
}
+ if (javaAttributeInfo.isShortConflict()) {
+ if (javaAttributeInfo.getAttributeType().getDataType() == UINT8) {
+ setUInt8Attribute(javaAttributeInfo);
+ } else if (javaAttributeInfo.getAttributeType().getDataType() == INT16) {
+ setShortAttribute(javaAttributeInfo);
+ }
+
+ }
}
/**
@@ -768,4 +900,41 @@
private void setULongAttribute(JavaAttributeInfo uLongAttribute) {
this.uLongAttribute = uLongAttribute;
}
+
+ /**
+ * Returns attribute for uInt8.
+ *
+ * @return attribute for uInt8
+ */
+ public JavaAttributeInfo getUInt8Attribute() {
+ return uInt8Attribute;
+ }
+
+ /**
+ * Sets attribute for uInt8.
+ *
+ * @param uInt8Attribute attribute for uInt8
+ */
+ private void setUInt8Attribute(JavaAttributeInfo uInt8Attribute) {
+ this.uInt8Attribute = uInt8Attribute;
+ }
+
+ /**
+ * Returns attribute for short.
+ *
+ * @return attribute for short
+ */
+ public JavaAttributeInfo getShortAttribute() {
+ return shortAttribute;
+ }
+
+ /**
+ * Sets attribute for short.
+ *
+ * @param shortAttribute attribute for short
+ */
+ private void setShortAttribute(JavaAttributeInfo shortAttribute) {
+ this.shortAttribute = shortAttribute;
+ }
+
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TraversalType.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TraversalType.java
deleted file mode 100644
index 35f529a..0000000
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/TraversalType.java
+++ /dev/null
@@ -1,43 +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.yangutils.translator.tojava;
-
-/**
- * Represents data model tree traversal types.
- */
-public enum TraversalType {
-
- /**
- * Start of traversal at the tree root.
- */
- ROOT,
-
- /**
- * Child node traversal.
- */
- CHILD,
-
- /**
- * Sibling node traversal.
- */
- SIBLING,
-
- /**
- * Parent node traversal.
- */
- PARENT
-}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
index eb02fd7..1ea7f48 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/YangJavaModelUtils.java
@@ -19,6 +19,7 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+
import org.onosproject.yangutils.datamodel.RpcNotificationContainer;
import org.onosproject.yangutils.datamodel.YangAtomicPath;
import org.onosproject.yangutils.datamodel.YangAugment;
@@ -31,13 +32,13 @@
import org.onosproject.yangutils.datamodel.YangSubModule;
import org.onosproject.yangutils.datamodel.YangTranslatorOperatorNode;
import org.onosproject.yangutils.datamodel.YangTypeHolder;
+import org.onosproject.yangutils.utils.io.YangPluginConfig;
import org.onosproject.yangutils.datamodel.utils.DataModelUtils;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaAugmentTranslator;
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaEnumerationTranslator;
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModuleTranslator;
import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModuleTranslator;
-import org.onosproject.yangutils.utils.io.YangPluginConfig;
import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.isRpcChildNodePresent;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
@@ -508,7 +509,8 @@
String name = getCapitalCase(getCamelCase(yangNodeIdentifier.getName(), yangPluginConfig
.getConflictResolver()));
if (yangNodeIdentifier.getPrefix() != null) {
- return AUGMENTED + getCapitalCase(yangNodeIdentifier.getPrefix()) + name;
+ return AUGMENTED + getCapitalCase(getCamelCase(yangNodeIdentifier.getPrefix(), yangPluginConfig
+ .getConflictResolver())) + name;
} else {
return AUGMENTED + name;
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
index d07aaac..49f2f41 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaLeafInfoContainer.java
@@ -17,7 +17,7 @@
import org.onosproject.yangutils.datamodel.YangType;
import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer;
+import org.onosproject.yangutils.datamodel.javadatamodel.JavaQualifiedTypeInfoContainer;
/**
* Represent java based identification of the YANG leaves.
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
index ad3de56..909c6f4 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/JavaQualifiedTypeResolver.java
@@ -16,13 +16,11 @@
package org.onosproject.yangutils.translator.tojava.javamodel;
import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
-import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer;
/**
* Represent java based identification of the YANG leaves.
*/
-interface JavaQualifiedTypeResolver
- extends JavaQualifiedTypeInfoContainer {
+interface JavaQualifiedTypeResolver {
/**
* updates the qualified access details of the type.
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
index 08c4fb3..c79d86b 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafListTranslator.java
@@ -16,8 +16,8 @@
package org.onosproject.yangutils.translator.tojava.javamodel;
import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaLeafList;
-import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
+import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator.updateLeavesJavaQualifiedInfo;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
@@ -56,16 +56,6 @@
updateLeavesJavaQualifiedInfo(this);
}
- @Override
- public JavaQualifiedTypeInfoTranslator getJavaQualifiedInfo() {
- return (JavaQualifiedTypeInfoTranslator) javaQualifiedTypeInfo;
- }
-
- @Override
- public void setJavaQualifiedInfo(JavaQualifiedTypeInfoTranslator typeInfo) {
- javaQualifiedTypeInfo = typeInfo;
- }
-
/**
* Returns java naming conflict resolve configurations.
*
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
index d7dfb9b..a846e59 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaLeafTranslator.java
@@ -16,8 +16,8 @@
package org.onosproject.yangutils.translator.tojava.javamodel;
import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaLeaf;
-import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
+import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator.updateLeavesJavaQualifiedInfo;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
@@ -42,17 +42,6 @@
}
@Override
- public JavaQualifiedTypeInfoTranslator getJavaQualifiedInfo() {
- return (JavaQualifiedTypeInfoTranslator) javaQualifiedTypeInfo;
- }
-
- @Override
- public void setJavaQualifiedInfo(JavaQualifiedTypeInfoTranslator typeInfo) {
- javaQualifiedTypeInfo = typeInfo;
-
- }
-
- @Override
public String getJavaName(YangToJavaNamingConflictUtil conflictResolveConfig) {
return getCamelCase(getName(), conflictResolveConfig);
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
index 774e422..0f46f76 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaModuleTranslator.java
@@ -18,6 +18,7 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.YangNotification;
import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaModule;
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
index 4f403c9..009a86f 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaSubModuleTranslator.java
@@ -18,15 +18,16 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+
import org.onosproject.yangutils.datamodel.YangBelongsTo;
import org.onosproject.yangutils.datamodel.YangModule;
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.YangNotification;
+import org.onosproject.yangutils.translator.tojava.JavaFileInfoTranslator;
import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaSubModule;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator;
import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfoTranslator;
import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles;
import org.onosproject.yangutils.utils.io.YangPluginConfig;
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
index cb8d3ba..911e0c4 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaTypeTranslator.java
@@ -15,7 +15,7 @@
*/
package org.onosproject.yangutils.translator.tojava.javamodel;
-import org.onosproject.yangutils.datamodel.YangType;
+import org.onosproject.yangutils.datamodel.javadatamodel.YangJavaType;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
@@ -26,15 +26,11 @@
/**
* Represents java information corresponding to the YANG type.
- *
- * @param <T> generic parameter for YANG java type
*/
-public class YangJavaTypeTranslator<T>
- extends YangType<T>
+public class YangJavaTypeTranslator
+ extends YangJavaType
implements JavaQualifiedTypeResolver {
- private JavaQualifiedTypeInfoTranslator javaQualifiedAccess;
-
/**
* Create a YANG leaf object with java qualified access details.
*/
@@ -45,7 +41,7 @@
@Override
public void updateJavaQualifiedInfo(YangToJavaNamingConflictUtil conflictResolver) {
- JavaQualifiedTypeInfoTranslator importInfo = getJavaQualifiedInfo();
+ JavaQualifiedTypeInfoTranslator importInfo = (JavaQualifiedTypeInfoTranslator) getJavaQualifiedInfo();
/*
* Type is added as an attribute in the class.
@@ -58,7 +54,7 @@
*/
importInfo.setClassInfo(className);
String classPkg = getJavaImportPackage(this,
- false, conflictResolver);
+ false, conflictResolver);
if (classPkg == null) {
throw new TranslatorException("import package cannot be null when the class is used");
}
@@ -77,13 +73,4 @@
setJavaQualifiedInfo(importInfo);
}
- @Override
- public JavaQualifiedTypeInfoTranslator getJavaQualifiedInfo() {
- return javaQualifiedAccess;
- }
-
- @Override
- public void setJavaQualifiedInfo(JavaQualifiedTypeInfoTranslator typeInfo) {
- javaQualifiedAccess = typeInfo;
- }
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
index da23e83..60191de 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ClassDefinitionGenerator.java
@@ -23,9 +23,9 @@
import org.onosproject.yangutils.datamodel.YangNode;
import org.onosproject.yangutils.datamodel.YangNotification;
import org.onosproject.yangutils.datamodel.YangSubModule;
+import org.onosproject.yangutils.translator.tojava.JavaFileInfoTranslator;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer;
-import org.onosproject.yangutils.translator.tojava.JavaFileInfoTranslator;
import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoTranslator;
import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer;
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java
index 6b4da44..ca0dd02 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaCodeSnippetGen.java
@@ -60,8 +60,12 @@
import static org.onosproject.yangutils.utils.UtilConstants.QUEUE;
import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN;
import static org.onosproject.yangutils.utils.UtilConstants.SET;
+import static org.onosproject.yangutils.utils.UtilConstants.SHORT_MAX_RANGE_ATTR;
+import static org.onosproject.yangutils.utils.UtilConstants.SHORT_MIN_RANGE_ATTR;
import static org.onosproject.yangutils.utils.UtilConstants.SPACE;
import static org.onosproject.yangutils.utils.UtilConstants.TYPE;
+import static org.onosproject.yangutils.utils.UtilConstants.UINT8_MAX_RANGE_ATTR;
+import static org.onosproject.yangutils.utils.UtilConstants.UINT8_MIN_RANGE_ATTR;
import static org.onosproject.yangutils.utils.UtilConstants.UINT_MAX_RANGE_ATTR;
import static org.onosproject.yangutils.utils.UtilConstants.UINT_MIN_RANGE_ATTR;
import static org.onosproject.yangutils.utils.UtilConstants.ULONG_MAX_RANGE_ATTR;
@@ -114,7 +118,7 @@
* @param javaAttributeName name of the attribute
* @param isList is list attribute
* @param attributeAccessType attribute access type
- * @param compilerAnnotation compiler annotation
+ * @param compilerAnnotation compiler annotation
* @return the textual java code for attribute definition in class
*/
public static String getJavaAttributeDefinition(String javaAttributeTypePkg, String javaAttributeType,
@@ -318,6 +322,24 @@
}
/**
+ * Adds attribute for long ranges.
+ *
+ * @param modifier modifier for attribute
+ * @param addFirst if need to be added first
+ * @return attribute for long ranges
+ */
+ static String addStaticAttributeShortRange(String modifier, boolean addFirst) {
+ if (addFirst) {
+ return NEW_LINE + FOUR_SPACE_INDENTATION + modifier + SPACE + SHORT_MIN_RANGE_ATTR +
+ FOUR_SPACE_INDENTATION +
+ modifier + SPACE + SHORT_MAX_RANGE_ATTR;
+ } else {
+ return NEW_LINE + FOUR_SPACE_INDENTATION + modifier + SPACE + UINT8_MIN_RANGE_ATTR +
+ FOUR_SPACE_INDENTATION + modifier + SPACE + UINT8_MAX_RANGE_ATTR;
+ }
+ }
+
+ /**
* Returns operation type enum.
*
* @return operation type enum
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
index dcca748..43946f7 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/JavaFileGenerator.java
@@ -206,7 +206,7 @@
* @throws IOException when fails to write in file
*/
public static File generateInterfaceFile(File file, List<String> imports, YangNode curNode,
- boolean isAttrPresent)
+ boolean isAttrPresent)
throws IOException {
JavaFileInfoTranslator javaFileInfo = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
@@ -376,7 +376,7 @@
*/
public static File generateBuilderClassFile(File file, YangNode curNode,
- boolean isAttrPresent)
+ boolean isAttrPresent)
throws IOException {
JavaFileInfoTranslator javaFileInfo = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
@@ -490,7 +490,7 @@
* @throws IOException when fails to write in file
*/
public static File generateDefaultClassFile(File file, YangNode curNode, boolean isAttrPresent,
- List<String> imports)
+ List<String> imports)
throws IOException {
JavaFileInfoTranslator javaFileInfo = ((JavaFileInfoContainer) curNode).getJavaFileInfo();
@@ -806,6 +806,7 @@
boolean isIntConflict = false;
boolean isLongConflict = false;
+ boolean isShortConflict = false;
JavaAttributeInfo intAttr = tempJavaTypeFragmentFiles.getIntAttribute();
if (intAttr == null) {
intAttr = tempJavaTypeFragmentFiles.getUIntAttribute();
@@ -816,13 +817,20 @@
longAttr = tempJavaTypeFragmentFiles.getULongAttribute();
}
+ JavaAttributeInfo shortAttr = tempJavaTypeFragmentFiles.getShortAttribute();
+ if (shortAttr == null) {
+ shortAttr = tempJavaTypeFragmentFiles.getUInt8Attribute();
+ }
+
if (intAttr != null) {
isIntConflict = intAttr.isIntConflict();
}
if (longAttr != null) {
isLongConflict = longAttr.isLongConflict();
}
-
+ if (shortAttr != null) {
+ isShortConflict = shortAttr.isShortConflict();
+ }
if (isLongConflict) {
imports.add(tempJavaTypeFragmentFiles.getJavaImportData().getBigIntegerImport());
sort(imports);
@@ -845,6 +853,11 @@
tempJavaTypeFragmentFiles.getLongIndex() < tempJavaTypeFragmentFiles.getULongIndex()));
}
+ if (isShortConflict) {
+ insertDataIntoJavaFile(file, JavaCodeSnippetGen.addStaticAttributeShortRange(PRIVATE,
+ tempJavaTypeFragmentFiles.getShortIndex() < tempJavaTypeFragmentFiles.getUInt8Index()));
+ }
+
insertDataIntoJavaFile(file,
NEW_LINE + FOUR_SPACE_INDENTATION + getDataFromTempFileHandle(ATTRIBUTES_MASK,
((TempJavaCodeFragmentFilesContainer) curNode).getTempJavaCodeFragmentFiles()
@@ -914,6 +927,9 @@
if (isLongConflict) {
methods.add(getRangeValidatorMethodForUnion(BIG_INTEGER));
}
+ if (isShortConflict) {
+ methods.add(getRangeValidatorMethodForUnion(INT));
+ }
} catch (IOException e) {
throw new IOException("No data found in temporary java code fragment files for " + className
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
index a816234..82cff15 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/MethodsGenerator.java
@@ -45,11 +45,11 @@
import static org.onosproject.yangutils.datamodel.utils.builtindatatype.YangDataTypes.UINT8;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils
- .getAugmentedClassNameForDataMethods;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getAugmentedClassNameForDataMethods;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getParentNodeNameForDataMethods;
import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getSetOfNodeIdentifiers;
import static org.onosproject.yangutils.translator.tojava.utils.ValidatorTypeForUnionTypes.INT_TYPE_CONFLICT;
+import static org.onosproject.yangutils.translator.tojava.utils.ValidatorTypeForUnionTypes.SHORT_TYPE_CONFLICT;
import static org.onosproject.yangutils.utils.UtilConstants.ADD;
import static org.onosproject.yangutils.utils.UtilConstants.ADD_STRING;
import static org.onosproject.yangutils.utils.UtilConstants.AND;
@@ -148,6 +148,8 @@
import static org.onosproject.yangutils.utils.UtilConstants.SET_METHOD_PREFIX;
import static org.onosproject.yangutils.utils.UtilConstants.SET_SELECT_LEAF;
import static org.onosproject.yangutils.utils.UtilConstants.SHORT;
+import static org.onosproject.yangutils.utils.UtilConstants.SHORT_MAX_RANGE;
+import static org.onosproject.yangutils.utils.UtilConstants.SHORT_MIN_RANGE;
import static org.onosproject.yangutils.utils.UtilConstants.SHORT_WRAPPER;
import static org.onosproject.yangutils.utils.UtilConstants.SINGLE_QUOTE;
import static org.onosproject.yangutils.utils.UtilConstants.SIXTEEN_SPACE_INDENTATION;
@@ -165,6 +167,8 @@
import static org.onosproject.yangutils.utils.UtilConstants.TRUE;
import static org.onosproject.yangutils.utils.UtilConstants.TRY;
import static org.onosproject.yangutils.utils.UtilConstants.TWELVE_SPACE_INDENTATION;
+import static org.onosproject.yangutils.utils.UtilConstants.UINT8_MAX_RANGE;
+import static org.onosproject.yangutils.utils.UtilConstants.UINT8_MIN_RANGE;
import static org.onosproject.yangutils.utils.UtilConstants.UINT_MAX_RANGE;
import static org.onosproject.yangutils.utils.UtilConstants.UINT_MIN_RANGE;
import static org.onosproject.yangutils.utils.UtilConstants.ULONG_MAX_RANGE;
@@ -229,7 +233,7 @@
* @return getter string
*/
public static String getGetterString(JavaAttributeInfo attr, int generatedJavaFiles,
- YangPluginConfig pluginConfig) {
+ YangPluginConfig pluginConfig) {
String returnType = getReturnType(attr);
String attributeName = attr.getAttributeName();
@@ -258,7 +262,7 @@
* @return setter string
*/
public static String getSetterString(JavaAttributeInfo attr, String className, int generatedJavaFiles,
- YangPluginConfig pluginConfig) {
+ YangPluginConfig pluginConfig) {
String attrType = getReturnType(attr);
String attributeName = attr.getAttributeName();
@@ -298,7 +302,7 @@
* @return default constructor string
*/
public static String getDefaultConstructorString(String name, String modifierType,
- YangPluginConfig pluginConfig) {
+ YangPluginConfig pluginConfig) {
return getJavaDoc(DEFAULT_CONSTRUCTOR, name, false, pluginConfig, null)
+ getDefaultConstructor(name, modifierType) + NEW_LINE;
}
@@ -419,7 +423,7 @@
* @return setter for attribute
*/
private static String getSetter(String className, String name, String type, int generatedJavaFiles,
- boolean isTypeNull, boolean isList) {
+ boolean isTypeNull, boolean isList) {
if (generatedJavaFiles == GENERATE_SERVICE_AND_MANAGER) {
return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + VOID + SPACE + SET_METHOD_PREFIX
+ getCapitalCase(name) + OPEN_PARENTHESIS + type + SPACE + name + CLOSE_PARENTHESIS + SPACE +
@@ -499,7 +503,7 @@
* @return getter method for interface
*/
static String getGetterForInterface(String yangName, String returnType, boolean isList,
- int generatedJavaFiles, YangCompilerAnnotation compilerAnnotation) {
+ int generatedJavaFiles, YangCompilerAnnotation compilerAnnotation) {
if (!isList) {
return getGetterInterfaceString(returnType, yangName, generatedJavaFiles);
}
@@ -515,7 +519,7 @@
* @return getter for interface
*/
private static String getGetterInterfaceString(String returnType, String yangName,
- int generatedJavaFiles) {
+ int generatedJavaFiles) {
if (generatedJavaFiles == GENERATE_SERVICE_AND_MANAGER) {
return getGetMethodWithArgument(returnType, yangName);
} else {
@@ -536,8 +540,8 @@
* @return setter method for interface
*/
static String getSetterForInterface(String attrName, String attrType, String className,
- boolean isList, int generatedJavaFiles,
- YangCompilerAnnotation compilerAnnotation) {
+ boolean isList, int generatedJavaFiles,
+ YangCompilerAnnotation compilerAnnotation) {
if (!isList) {
return getSetterInterfaceString(className, attrName, attrType, generatedJavaFiles);
}
@@ -555,10 +559,10 @@
* @return setter string
*/
private static String getSetterInterfaceString(String className, String attrName, String attrType,
- int generatedJavaFiles) {
+ int generatedJavaFiles) {
if (generatedJavaFiles == GENERATE_SERVICE_AND_MANAGER) {
return FOUR_SPACE_INDENTATION + VOID + SPACE + SET_METHOD_PREFIX + getCapitalCase(attrName)
- + OPEN_PARENTHESIS + attrType + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN;
+ + OPEN_PARENTHESIS + attrType + OP_PARAM + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN;
} else {
return FOUR_SPACE_INDENTATION + className + BUILDER + SPACE + attrName
+ OPEN_PARENTHESIS + attrType + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN;
@@ -630,7 +634,7 @@
* @return constructor for class
*/
public static String getConstructor(JavaAttributeInfo attr, int generatedJavaFiles,
- YangPluginConfig pluginConfig) {
+ YangPluginConfig pluginConfig) {
String attributeName = attr.getAttributeName();
String constructor;
@@ -661,7 +665,7 @@
* @return rpc method string
*/
public static String getRpcServiceMethod(String rpcName, String inputName, String outputName,
- YangPluginConfig pluginConfig) {
+ YangPluginConfig pluginConfig) {
rpcName = getCamelCase(rpcName, pluginConfig.getConflictResolver());
if (!inputName.equals(EMPTY_STRING)) {
@@ -681,7 +685,7 @@
* @return rpc method string
*/
public static String getRpcManagerMethod(String rpcName, String inputName, String outputName,
- YangPluginConfig pluginConfig) {
+ YangPluginConfig pluginConfig) {
rpcName = getCamelCase(rpcName, pluginConfig.getConflictResolver());
if (!inputName.equals(EMPTY_STRING)) {
@@ -846,7 +850,7 @@
* @return from string method's body string
*/
public static String getFromStringMethod(JavaAttributeInfo attr,
- JavaAttributeInfo fromStringAttributeInfo) {
+ JavaAttributeInfo fromStringAttributeInfo) {
return EIGHT_SPACE_INDENTATION + getTrySubString() + NEW_LINE + TWELVE_SPACE_INDENTATION
+ getParsedSubString(attr, fromStringAttributeInfo) + NEW_LINE + TWELVE_SPACE_INDENTATION
@@ -889,7 +893,7 @@
* @return sub string with parsed statement for union's from string method
*/
private static String getParsedSubString(JavaAttributeInfo attr,
- JavaAttributeInfo fromStringAttributeInfo) {
+ JavaAttributeInfo fromStringAttributeInfo) {
String targetDataType = getReturnType(attr);
if (fromStringAttributeInfo.getAttributeType().getDataType() == BITS) {
@@ -1055,7 +1059,7 @@
* @return of method's string and java doc for special type
*/
public static String getOfMethodStringAndJavaDoc(JavaAttributeInfo attr, String generatedJavaClassName,
- YangPluginConfig pluginConfig) {
+ YangPluginConfig pluginConfig) {
String attrType = getReturnType(attr);
String attrName = attr.getAttributeName();
@@ -1087,8 +1091,8 @@
* @return string and java doc for constructor of type class
*/
public static String getTypeConstructorStringAndJavaDoc(JavaAttributeInfo attr,
- String generatedJavaClassName,
- YangPluginConfig pluginConfig) {
+ String generatedJavaClassName,
+ YangPluginConfig pluginConfig) {
String attrType = getReturnType(attr);
String attrName = attr.getAttributeName();
@@ -1109,7 +1113,7 @@
*/
public static String getTypeConstructorStringAndJavaDoc(JavaAttributeInfo attr1, JavaAttributeInfo
attr2, String generatedJavaClassName, YangPluginConfig pluginConfig, ValidatorTypeForUnionTypes type,
- boolean addFirst) {
+ boolean addFirst) {
String attrType = getReturnType(attr1);
String attrName1 = "";
@@ -1122,7 +1126,7 @@
}
String appDataStructure = null;
- if (attr1.getCompilerAnnotation() != null) {
+ if (attr1 != null && attr1.getCompilerAnnotation() != null) {
appDataStructure = attr1.getCompilerAnnotation().getYangAppDataStructure().getDataStructure().name();
}
return getJavaDoc(TYPE_CONSTRUCTOR, generatedJavaClassName + " for type " + attrName1, false, pluginConfig,
@@ -1154,7 +1158,7 @@
* @return type constructor string
*/
private static String getTypeConstructorString(String type, String attr1, String attr2, String className,
- ValidatorTypeForUnionTypes validatorType, boolean addInt) {
+ ValidatorTypeForUnionTypes validatorType, boolean addInt) {
String constructor;
constructor = FOUR_SPACE_INDENTATION + PUBLIC + SPACE + className + OPEN_PARENTHESIS + type + SPACE + VALUE
@@ -1285,8 +1289,8 @@
* @return of method
*/
static String getEnumsOfMethod(String className, JavaAttributeInfo attr,
- Map<String, Integer> enumMap, List<String> enumList,
- YangPluginConfig pluginConfig) {
+ Map<String, Integer> enumMap, List<String> enumList,
+ YangPluginConfig pluginConfig) {
String attrType = getReturnType(attr);
String attrName = attr.getAttributeName();
@@ -1449,6 +1453,12 @@
} else {
condition = condition + UINT_MIN_RANGE + COMMA + SPACE + UINT_MAX_RANGE + COMMA + SPACE + VALUE;
}
+ } else if (type == SHORT_TYPE_CONFLICT) {
+ if (addFirst) {
+ condition = condition + SHORT_MIN_RANGE + COMMA + SPACE + SHORT_MAX_RANGE + COMMA + SPACE + VALUE;
+ } else {
+ condition = condition + UINT8_MIN_RANGE + COMMA + SPACE + UINT8_MAX_RANGE + COMMA + SPACE + VALUE;
+ }
} else {
if (addFirst) {
condition = condition + LONG_MIN_RANGE + COMMA + SPACE + LONG_MAX_RANGE + COMMA + SPACE + VALUE;
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java
index a9890bd..9ccceb1 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/ValidatorTypeForUnionTypes.java
@@ -27,6 +27,11 @@
INT_TYPE_CONFLICT,
/**
+ * When conflict is there for int16 and uInt8.
+ */
+ SHORT_TYPE_CONFLICT,
+
+ /**
* When conflict is there for int64 and uInt32.
*/
LONG_TYPE_CONFLICT
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java b/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
index a0c66b0..8b323bc 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/utils/UtilConstants.java
@@ -319,6 +319,48 @@
/**
* Static attribute for minRange.
*/
+ public static final String SHORT_MIN_RANGE_ATTR = "static final int INT16_MIN_RANGE = -32768;\n";
+
+ /**
+ * Static attribute for minRange.
+ */
+ public static final String SHORT_MIN_RANGE = "INT16_MIN_RANGE";
+
+ /**
+ * Static attribute for minRange.
+ */
+ public static final String SHORT_MAX_RANGE = "INT16_MAX_RANGE";
+
+ /**
+ * Static attribute for maxRange.
+ */
+ public static final String SHORT_MAX_RANGE_ATTR = "static final int INT16_MAX_RANGE = 32767;";
+
+
+ /**
+ * Static attribute for minRange.
+ */
+ public static final String UINT8_MIN_RANGE_ATTR = "static final int UINT8_MIN_RANGE = 0;\n";
+
+ /**
+ * Static attribute for maxRange.
+ */
+ public static final String UINT8_MAX_RANGE_ATTR = "static final int UINT8_MAX_RANGE = 32767;";
+
+
+ /**
+ * Static attribute for minRange.
+ */
+ public static final String UINT8_MIN_RANGE = "UINT8_MIN_RANGE";
+
+ /**
+ * Static attribute for maxRange.
+ */
+ public static final String UINT8_MAX_RANGE = "UINT8_MAX_RANGE";
+
+ /**
+ * Static attribute for minRange.
+ */
public static final String INT_MIN_RANGE_ATTR = "static final int INT32_MIN_RANGE = -2147483648;\n";
/**
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java b/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
index 251523b..3fa8b18 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/JavaDocGen.java
@@ -96,7 +96,7 @@
* @param isList is list attribute
* @param pluginConfig plugin configurations
* @param compilerAnnotation compiler annotations for user defined data type
- * @return javadocs.
+ * @return javaDocs.
*/
public static String getJavaDoc(JavaDocType type, String name, boolean isList, YangPluginConfig pluginConfig,
String compilerAnnotation) {
diff --git a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java b/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
index fe2d382..8a578c3 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/utils/io/impl/YangIoUtils.java
@@ -403,7 +403,7 @@
}
/* When spaces are present in the given line. */
- public static String whenSpaceIsPresent(String line, int lineSize) {
+ private static String whenSpaceIsPresent(String line, int lineSize) {
StringBuilder stringBuilder = new StringBuilder();
String append;
if (line.length() > lineSize) {