[ONOS-5096][ONOS-5104] Checkstyle issues fixed for generated code.
Change-Id: I6a0984c2b397dbeda912e75138d5ad9e7adf33d5
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 25635e5..5369a67 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
@@ -22,6 +22,7 @@
import java.util.List;
import java.util.Map;
import java.util.Stack;
+
import org.onosproject.yangutils.datamodel.YangAtomicPath;
import org.onosproject.yangutils.datamodel.YangAugment;
import org.onosproject.yangutils.datamodel.YangCase;
@@ -184,8 +185,8 @@
* Process absolute node path for target leaf.
*
* @param atomicPaths atomic path node list
- * @param root root node
- * @param leafref instance of YANG leafref
+ * @param root root node
+ * @param leafref instance of YANG leafref
* @return linked target node
*/
T processLeafRefXpathLinking(List<YangAtomicPath> atomicPaths, YangNode root, YangLeafRef leafref) {
@@ -501,6 +502,9 @@
* @return true if found
*/
private boolean searchForAugmentInImportedNode(YangNodeIdentifier nodeId, int index) {
+ if (index == getAbsPaths().size()) {
+ return false;
+ }
YangNodeIdentifier tempNodeId = getAbsPaths().get(index).getNodeIdentifier();
return nodeId.getName().equals(tempNodeId.getName());
}
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 6a18b54..e030f6c 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
@@ -46,7 +46,7 @@
* Creates a new parser 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 ParserException(final String message, final Throwable cause) {
super(message, cause);
@@ -114,4 +114,5 @@
public void setFileName(String fileName) {
this.fileName = fileName;
}
+
}
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
index 116f06d..9c5745d 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/TreeWalkListener.java
@@ -16,6 +16,8 @@
package org.onosproject.yangutils.parser.impl;
+import java.util.Stack;
+
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.TerminalNode;
@@ -96,8 +98,6 @@
import org.onosproject.yangutils.parser.impl.listeners.VersionListener;
import org.onosproject.yangutils.parser.impl.listeners.WhenListener;
-import java.util.Stack;
-
import static org.onosproject.yangutils.parser.impl.parserutils.ListenerUtil.handleUnsupportedYangConstruct;
import static org.onosproject.yangutils.utils.UtilConstants.CURRENTLY_UNSUPPORTED;
import static org.onosproject.yangutils.utils.UtilConstants.UNSUPPORTED_YANG_CONSTRUCT;
@@ -116,6 +116,9 @@
// Parse tree root node
private YangNode rootNode;
+ // YANG file name.
+ private String fileName;
+
/**
* Parent depth of grouping count for any node.
*/
@@ -163,6 +166,24 @@
}
/**
+ * Returns YANG file name.
+ *
+ * @return YANG file name
+ */
+ public String getFileName() {
+ return fileName;
+ }
+
+ /**
+ * Sets YANG file name.
+ *
+ * @param fileName YANG file name
+ */
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+
+ /**
* Set parsed data stack.
*
* @param parsedDataStack stack of parsable data objects
@@ -862,7 +883,7 @@
@Override
public void enterOrderedByStatement(GeneratedYangParser.OrderedByStatementContext ctx) {
- handleUnsupportedYangConstruct(YangConstructType.ORDERED_BY_DATA, ctx, CURRENTLY_UNSUPPORTED);
+ handleUnsupportedYangConstruct(YangConstructType.ORDERED_BY_DATA, ctx, CURRENTLY_UNSUPPORTED, getFileName());
}
@Override
@@ -1032,7 +1053,7 @@
@Override
public void enterAnyxmlStatement(GeneratedYangParser.AnyxmlStatementContext ctx) {
- handleUnsupportedYangConstruct(YangConstructType.ANYXML_DATA, ctx, UNSUPPORTED_YANG_CONSTRUCT);
+ handleUnsupportedYangConstruct(YangConstructType.ANYXML_DATA, ctx, UNSUPPORTED_YANG_CONSTRUCT, getFileName());
}
@Override
@@ -1052,7 +1073,7 @@
@Override
public void enterRefineStatement(GeneratedYangParser.RefineStatementContext ctx) {
- handleUnsupportedYangConstruct(YangConstructType.REFINE_DATA, ctx, UNSUPPORTED_YANG_CONSTRUCT);
+ handleUnsupportedYangConstruct(YangConstructType.REFINE_DATA, ctx, UNSUPPORTED_YANG_CONSTRUCT, getFileName());
}
@Override
@@ -1192,7 +1213,8 @@
@Override
public void enterDeviationStatement(GeneratedYangParser.DeviationStatementContext ctx) {
- handleUnsupportedYangConstruct(YangConstructType.DEVIATION_DATA, ctx, UNSUPPORTED_YANG_CONSTRUCT);
+ handleUnsupportedYangConstruct(YangConstructType.DEVIATION_DATA, ctx, UNSUPPORTED_YANG_CONSTRUCT,
+ getFileName());
}
@Override
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java
index b04f617..c8b7804 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/YangUtilsParserManager.java
@@ -83,7 +83,7 @@
// Create a listener implementation class object.
TreeWalkListener treeWalker = new TreeWalkListener();
-
+ treeWalker.setFileName(yangFile);
/**
* Walk parse tree, provide call backs to methods in listener and build
* data model tree.
diff --git a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java
index 5fe0970..f580da9 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/parser/impl/parserutils/ListenerUtil.java
@@ -16,7 +16,19 @@
package org.onosproject.yangutils.parser.impl.parserutils;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.regex.Pattern;
+
import org.antlr.v4.runtime.ParserRuleContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.onosproject.yangutils.datamodel.YangAtomicPath;
import org.onosproject.yangutils.datamodel.YangImport;
import org.onosproject.yangutils.datamodel.YangLeaf;
@@ -34,19 +46,10 @@
import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser;
import org.onosproject.yangutils.parser.exceptions.ParserException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.regex.Pattern;
-
import static org.onosproject.yangutils.datamodel.YangPathArgType.ABSOLUTE_PATH;
import static org.onosproject.yangutils.datamodel.YangPathArgType.RELATIVE_PATH;
import static org.onosproject.yangutils.datamodel.YangPathOperator.EQUALTO;
+import static org.onosproject.yangutils.datamodel.utils.YangConstructType.getYangConstructType;
import static org.onosproject.yangutils.utils.UtilConstants.ADD;
import static org.onosproject.yangutils.utils.UtilConstants.ANCESTOR_ACCESSOR;
import static org.onosproject.yangutils.utils.UtilConstants.ANCESTOR_ACCESSOR_IN_PATH;
@@ -80,6 +83,7 @@
private static final String ONE = "1";
private static final int IDENTIFIER_LENGTH = 64;
private static final String DATE_FORMAT = "yyyy-MM-dd";
+ private static final Log log = LogFactory.getLog(ListenerUtil.class);
/**
* Creates a new listener util.
@@ -119,15 +123,15 @@
if (identifierString.length() > IDENTIFIER_LENGTH) {
parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " name " + identifierString + " is " +
+ getYangConstructType(yangConstruct) + " name " + identifierString + " is " +
"greater than 64 characters.");
} else if (!IDENTIFIER_PATTERN.matcher(identifierString).matches()) {
parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " name " + identifierString + " is not " +
+ getYangConstructType(yangConstruct) + " name " + identifierString + " is not " +
"valid.");
} else if (identifierString.toLowerCase().startsWith(XML)) {
parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " identifier " + identifierString +
+ getYangConstructType(yangConstruct) + " identifier " + identifierString +
" must not start with (('X'|'x') ('M'|'m') ('L'|'l')).");
} else {
return identifierString;
@@ -155,15 +159,15 @@
if (identifierString.length() > IDENTIFIER_LENGTH) {
parserException = new ParserException("YANG file error : " + " identifier " + identifierString + " in " +
- YangConstructType.getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() + " is " +
+ getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() + " is " +
"greater than 64 characters.");
} else if (!IDENTIFIER_PATTERN.matcher(identifierString).matches()) {
parserException = new ParserException("YANG file error : " + " identifier " + identifierString + " in " +
- YangConstructType.getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() + " is not " +
+ getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() + " is not " +
"valid.");
} else if (identifierString.toLowerCase().startsWith(XML)) {
parserException = new ParserException("YANG file error : " + " identifier " + identifierString + " in " +
- YangConstructType.getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
+ getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
" must not start with (('X'|'x') ('M'|'m') ('L'|'l')).");
} else {
return identifierString;
@@ -231,7 +235,7 @@
String value = removeQuotesAndHandleConcat(integerValue);
if (!value.matches(NON_NEGATIVE_INTEGER_PATTERN)) {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " value " + value + " is not " +
+ getYangConstructType(yangConstruct) + " value " + value + " is not " +
"valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -243,7 +247,7 @@
valueInInteger = Integer.parseInt(value);
} catch (NumberFormatException e) {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " value " + value + " is not " +
+ getYangConstructType(yangConstruct) + " value " + value + " is not " +
"valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -266,7 +270,7 @@
String value = removeQuotesAndHandleConcat(integerValue);
if (!INTEGER_PATTERN.matcher(value).matches()) {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " value " + value + " is not " +
+ getYangConstructType(yangConstruct) + " value " + value + " is not " +
"valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -278,7 +282,7 @@
valueInInteger = Integer.parseInt(value);
} catch (NumberFormatException e) {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " value " + value + " is not " +
+ getYangConstructType(yangConstruct) + " value " + value + " is not " +
"valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -305,7 +309,7 @@
return false;
} else {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " value " + value + " is not " +
+ getYangConstructType(yangConstruct) + " value " + value + " is not " +
"valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -357,7 +361,7 @@
return nodeIdentifier;
} else {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " name " + nodeIdentifierString +
+ getYangConstructType(yangConstruct) + " name " + nodeIdentifierString +
" is not valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -391,7 +395,7 @@
return nodeIdentifier;
} else {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + yangLeafRef.getPath() +
+ getYangConstructType(yangConstruct) + yangLeafRef.getPath() +
" is not valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -423,7 +427,7 @@
validateRelativePath(completePathString, yangConstruct, ctx, yangLeafRef);
} else {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + yangLeafRef.getPath() +
+ getYangConstructType(yangConstruct) + yangLeafRef.getPath() +
" does not follow valid path syntax");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -435,7 +439,7 @@
* Validates the prefixes in the leafref and assigns them to the respective imported name in map.
*
* @param yangAtomicPathList list of atomic poth
- * @param yangLeafRef instance YANG leafref
+ * @param yangLeafRef instance YANG leafref
*/
private static void validatePrefixAndYangNode(List<YangAtomicPath> yangAtomicPathList, YangLeafRef yangLeafRef) {
Iterator<YangAtomicPath> yangAtomicPathIterator = yangAtomicPathList.listIterator();
@@ -508,7 +512,7 @@
* @return list of absolute path
*/
private static List<YangAtomicPath> validateUniqueValues(String uniquePath, String prefixOfFile,
- ParserRuleContext ctx) {
+ ParserRuleContext ctx) {
List<YangAtomicPath> atomicPath = new LinkedList<>();
String[] pathInUnique = uniquePath.split(SLASH_FOR_STRING);
for (String uniqueValue : pathInUnique) {
@@ -674,7 +678,7 @@
}
if (completePathString == null || completePathString.length() == 0) {
ParserException parserException = new ParserException("YANG file error : "
- + YangConstructType.getYangConstructType(yangConstruct) + yangLeafRef.getPath() +
+ + getYangConstructType(yangConstruct) + yangLeafRef.getPath() +
" does not follow valid path syntax");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -699,8 +703,8 @@
* @return list of object of node in absolute path
*/
private static List<YangAtomicPath> validateAbsolutePath(String completePathString,
- YangConstructType yangConstruct, ParserRuleContext
- ctx, YangLeafRef yangLeafRef) {
+ YangConstructType yangConstruct, ParserRuleContext
+ ctx, YangLeafRef yangLeafRef) {
List<YangAtomicPath> absolutePathList = new LinkedList<>();
YangPathPredicate yangPathPredicate = new YangPathPredicate();
@@ -710,7 +714,7 @@
String path = completePathString.replaceFirst(SLASH_FOR_STRING, EMPTY_STRING);
if (path == null || path.length() == 0) {
ParserException parserException = new ParserException("YANG file error : "
- + YangConstructType.getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
+ + getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
" does not follow valid path syntax");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -729,7 +733,7 @@
if (matchedPathPredicate == null || matchedPathPredicate.length() == 0) {
ParserException parserException = new ParserException("YANG file error : "
- + YangConstructType.getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
+ + getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
" does not follow valid path syntax");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -746,7 +750,7 @@
matchedPathPredicate = matchForPathPredicate(differentiate[1]);
if (matchedPathPredicate == null || matchedPathPredicate.length() == 0) {
ParserException parserException = new ParserException(
- "YANG file error : " + YangConstructType.getYangConstructType(yangConstruct) + " "
+ "YANG file error : " + getYangConstructType(yangConstruct) + " "
+ yangLeafRef.getPath() +
" does not follow valid path syntax");
parserException.setLine(ctx.getStart().getLine());
@@ -897,9 +901,9 @@
* @return list of object of absolute path nodes present in the relative path
*/
private static List<YangAtomicPath> validateRelativePathKeyExpression(List<String> rightAbsolutePath,
- YangConstructType yangConstruct,
- ParserRuleContext ctx, YangLeafRef
- yangLeafRef) {
+ YangConstructType yangConstruct,
+ ParserRuleContext ctx, YangLeafRef
+ yangLeafRef) {
List<YangAtomicPath> atomicPathList = new ArrayList<>();
YangNodeIdentifier yangNodeIdentifier;
@@ -911,7 +915,7 @@
if (!(currentFunction[0].trim().equals(CURRENT)) || !(currentFunction[1].trim().equals(CLOSE_PARENTHESIS))) {
ParserException parserException = new ParserException("YANG file error : "
- + YangConstructType.getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
+ + getYangConstructType(yangConstruct) + " " + yangLeafRef.getPath() +
" does not follow valid path syntax");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -953,8 +957,8 @@
* @return target nodes list of absolute schema node id
*/
public static List<YangAtomicPath> getValidAbsoluteSchemaNodeId(String argumentString,
- YangConstructType yangConstructType,
- ParserRuleContext ctx) {
+ YangConstructType yangConstructType,
+ ParserRuleContext ctx) {
List<YangAtomicPath> targetNodes = new ArrayList<>();
YangNodeIdentifier yangNodeIdentifier;
@@ -963,7 +967,7 @@
// absolute-schema-nodeid = 1*("/" node-identifier)
if (!tmpSchemaNodeId.startsWith(SLASH)) {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstructType) + " name " + argumentString +
+ getYangConstructType(yangConstructType) + " name " + argumentString +
"is not valid");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
@@ -985,15 +989,17 @@
* @param yangConstructType yang construct for creating error message
* @param ctx yang construct's context to get the line number and character position
* @param errorInfo error information
+ * @param fileName YANG file name
*/
public static void handleUnsupportedYangConstruct(YangConstructType yangConstructType,
- ParserRuleContext ctx, String errorInfo) {
+ ParserRuleContext ctx, String errorInfo, String fileName) {
ParserException parserException = new ParserException(YANG_FILE_ERROR
- + QUOTES + YangConstructType.getYangConstructType(yangConstructType) + QUOTES
+ + QUOTES + getYangConstructType(yangConstructType) + QUOTES
+ errorInfo);
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
- throw parserException;
+ log.info(parserException.getMessage() + " at position " + parserException.getCharPositionInLine() +
+ " in line " + parserException.getLineNumber() + " of yang file " + fileName);
}
/**
@@ -1043,7 +1049,7 @@
return tmpData[0];
} else {
ParserException parserException = new ParserException("YANG file error : " +
- YangConstructType.getYangConstructType(yangConstruct) + " name " + inputString +
+ getYangConstructType(yangConstruct) + " name " + inputString +
" is not valid.");
parserException.setLine(ctx.getStart().getLine());
parserException.setCharPosition(ctx.getStart().getCharPositionInLine());
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 1d03496..af4deb9 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
@@ -32,14 +32,14 @@
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.utils.io.YangPluginConfig;
-import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
import org.onosproject.yangutils.linker.YangLinker;
import org.onosproject.yangutils.linker.exceptions.LinkerException;
import org.onosproject.yangutils.linker.impl.YangLinkerManager;
import org.onosproject.yangutils.parser.YangUtilsParser;
import org.onosproject.yangutils.parser.exceptions.ParserException;
import org.onosproject.yangutils.parser.impl.YangUtilsParserManager;
+import org.onosproject.yangutils.utils.io.YangPluginConfig;
+import org.onosproject.yangutils.utils.io.YangToJavaNamingConflictUtil;
import org.onosproject.yangutils.utils.io.impl.YangFileScanner;
import org.sonatype.plexus.build.incremental.BuildContext;
@@ -214,6 +214,7 @@
if (getCurYangFileInfo() != null) {
fileName = getCurYangFileInfo().getYangFileName();
}
+
try {
translatorErrorHandler(getRootNode(), yangPlugin);
deleteDirectory(getDirectory(baseDir, classFileDir) + DEFAULT_PKG);
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 f9a95bd..671635e 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
@@ -19,6 +19,9 @@
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;
@@ -50,6 +53,7 @@
*/
public final class JavaCodeGeneratorUtil {
+ private static final Log log = LogFactory.getLog(JavaCodeGeneratorUtil.class);
/**
* Current YANG node.
*/
@@ -125,6 +129,9 @@
}
continue;
} catch (Exception e) {
+ if (log.isDebugEnabled()) {
+ e.printStackTrace();
+ }
close(codeGenNode, yangPlugin);
throw new TranslatorException(e.getMessage());
}
@@ -137,6 +144,9 @@
try {
generateCodeExit(codeGenNode, yangPlugin);
} catch (Exception e) {
+ if (log.isDebugEnabled()) {
+ e.printStackTrace();
+ }
close(codeGenNode, yangPlugin);
throw new TranslatorException(e.getMessage());
}
@@ -146,6 +156,9 @@
try {
generateCodeExit(codeGenNode, yangPlugin);
} catch (Exception e) {
+ if (log.isDebugEnabled()) {
+ e.printStackTrace();
+ }
close(codeGenNode, yangPlugin);
throw new TranslatorException(e.getMessage());
}
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 18913d4..dd4c616 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
@@ -18,6 +18,7 @@
import java.io.File;
import java.io.IOException;
import java.util.List;
+
import org.onosproject.yangutils.datamodel.YangAugment;
import org.onosproject.yangutils.datamodel.YangAugmentableNode;
import org.onosproject.yangutils.datamodel.YangCase;
@@ -109,6 +110,7 @@
import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.ADD_TO_LIST;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD;
+import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.SETTER_METHOD;
import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath;
import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase;
@@ -1106,15 +1108,17 @@
/**
* Adds setter's implementation for class.
*
- * @param attr attribute info
+ * @param attr attribute info
+ * @param pluginConfig
* @throws IOException when fails to append to temporary file
*/
- private void addSetterImpl(JavaAttributeInfo attr)
+ private void addSetterImpl(JavaAttributeInfo attr, YangPluginConfig pluginConfig)
throws IOException {
if (isRooNode()) {
- appendToFile(getSetterImplTempFileHandle(),
+ appendToFile(getSetterImplTempFileHandle(), getJavaDoc(SETTER_METHOD, attr.getAttributeName(),
+ attr.isListAttr(), pluginConfig, null) +
getSetterForClass(attr, getGeneratedJavaClassName(), getGeneratedJavaFiles())
- + NEW_LINE);
+ + NEW_LINE);
} else {
appendToFile(getSetterImplTempFileHandle(), getOverRideString() +
getSetterForClass(attr, getGeneratedJavaClassName(), getGeneratedJavaFiles())
@@ -1531,7 +1535,7 @@
addSetterForInterface(newAttrInfo, pluginConfig);
}
if ((getGeneratedTempFiles() & SETTER_FOR_CLASS_MASK) != 0) {
- addSetterImpl(newAttrInfo);
+ addSetterImpl(newAttrInfo, pluginConfig);
}
if ((getGeneratedTempFiles() & HASH_CODE_IMPL_MASK) != 0) {
addHashCodeMethod(newAttrInfo);
@@ -1659,10 +1663,10 @@
//Append builder interface file to interface file and close it.
mergeJavaFiles(getBuilderInterfaceJavaFileHandle(), getInterfaceJavaFileHandle());
- validateLineLength(getInterfaceJavaFileHandle());
}
}
insertDataIntoJavaFile(getInterfaceJavaFileHandle(), getJavaClassDefClose());
+ validateLineLength(getInterfaceJavaFileHandle());
if (curNode instanceof YangAugmentableNode) {
addImportsForAugmentableClass(imports, false, true, curNode);
}
@@ -1702,9 +1706,9 @@
//Append impl class to builder class and close it.
mergeJavaFiles(getBuilderClassJavaFileHandle(), getImplClassJavaFileHandle());
- validateLineLength(getImplClassJavaFileHandle());
}
insertDataIntoJavaFile(getImplClassJavaFileHandle(), getJavaClassDefClose());
+ validateLineLength(getImplClassJavaFileHandle());
}
//Close all the file handles.
freeTemporaryResources(false);
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 412409a..45cb014 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
@@ -20,6 +20,7 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+
import org.onosproject.yangutils.datamodel.YangAugmentableNode;
import org.onosproject.yangutils.datamodel.YangCase;
import org.onosproject.yangutils.datamodel.YangChoice;
@@ -269,7 +270,7 @@
for (String method : methods) {
insertDataIntoJavaFile(file, method);
}
- return validateLineLength(file);
+ return file;
}
@@ -342,7 +343,7 @@
}
insertDataIntoJavaFile(file, CLOSE_CURLY_BRACKET + NEW_LINE);
- return validateLineLength(file);
+ return file;
}
/**
@@ -441,7 +442,7 @@
}
insertDataIntoJavaFile(file, CLOSE_CURLY_BRACKET);
- return validateLineLength(file);
+ return file;
}
/**
@@ -604,7 +605,7 @@
insertDataIntoJavaFile(file, method);
}
- return validateLineLength(file);
+ return file;
}
/**
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 431eecf..20cb3e8 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
@@ -18,6 +18,7 @@
import java.util.List;
import java.util.Map;
+
import org.onosproject.yangutils.datamodel.YangAtomicPath;
import org.onosproject.yangutils.datamodel.YangAugment;
import org.onosproject.yangutils.datamodel.YangAugmentableNode;
@@ -1939,7 +1940,7 @@
" */\n" +
" public " + name + BUILDER + " setOperationType(OperationType operationType) {\n" +
" this.operationType = operationType;\n" +
- " return this;\n" +
+ " return this;\n" +
" }\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 31e454f..251523b 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
@@ -91,15 +91,15 @@
/**
* Returns java docs.
*
- * @param type java doc type
- * @param name name of the YangNode
- * @param isList is list attribute
- * @param pluginConfig plugin configurations
+ * @param type java doc type
+ * @param name name of the YangNode
+ * @param isList is list attribute
+ * @param pluginConfig plugin configurations
* @param compilerAnnotation compiler annotations for user defined data type
* @return javadocs.
*/
public static String getJavaDoc(JavaDocType type, String name, boolean isList, YangPluginConfig pluginConfig,
- String compilerAnnotation) {
+ String compilerAnnotation) {
name = YangIoUtils.getSmallCase(getCamelCase(name, pluginConfig.getConflictResolver()));
switch (type) {
@@ -279,13 +279,13 @@
/**
* Generates javaDocs for getter method.
*
- * @param attribute attribute
- * @param isList is list attribute
+ * @param attribute attribute
+ * @param isList is list attribute
* @param compilerAnnotation compiler annotation
* @return javaDocs
*/
private static String generateForGetters(String attribute, boolean isList,
- String compilerAnnotation) {
+ String compilerAnnotation) {
String getter = NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
+ JAVA_DOC_GETTERS + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
@@ -325,13 +325,13 @@
/**
* Generates javaDocs for setter method.
*
- * @param attribute attribute
- * @param isList is list attribute
+ * @param attribute attribute
+ * @param isList is list attribute
* @param compilerAnnotation compiler annotation
* @return javaDocs
*/
private static String generateForSetters(String attribute, boolean isList,
- String compilerAnnotation) {
+ String compilerAnnotation) {
String setter = NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
+ JAVA_DOC_SETTERS + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
@@ -374,13 +374,13 @@
/**
* Generates javaDocs for setter method.
*
- * @param attribute attribute
- * @param isList is list attribute
+ * @param attribute attribute
+ * @param isList is list attribute
* @param compilerAnnotation compiler annotation
* @return javaDocs
*/
private static String generateForManagerSetters(String attribute, boolean isList,
- String compilerAnnotation) {
+ String compilerAnnotation) {
String setter = NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION
+ JAVA_DOC_MANAGER_SETTERS + attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK
@@ -646,7 +646,7 @@
public static String generateForGetMethodWithAttribute(String attribute) {
return NEW_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_FIRST_LINE + FOUR_SPACE_INDENTATION + JAVA_DOC_GETTERS
+ attribute + PERIOD + NEW_LINE + FOUR_SPACE_INDENTATION + NEW_LINE_ASTERISK + FOUR_SPACE_INDENTATION
- + JAVA_DOC_PARAM + attribute + SPACE + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
+ + JAVA_DOC_PARAM + getSmallCase(attribute) + SPACE + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
+ FOUR_SPACE_INDENTATION + JAVA_DOC_RETURN + VALUE + SPACE + OF + SPACE + attribute + NEW_LINE
+ FOUR_SPACE_INDENTATION + JAVA_DOC_END_LINE;
}
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 be6db1f..fe2d382 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
@@ -28,6 +28,7 @@
import java.util.List;
import java.util.Stack;
import java.util.regex.Pattern;
+
import org.apache.commons.io.FileUtils;
import org.onosproject.yangutils.translator.exception.TranslatorException;
import org.onosproject.yangutils.utils.io.YangPluginConfig;
@@ -76,8 +77,8 @@
*/
public final class YangIoUtils {
- private static final int LINE_SIZE = 118;
- private static final int SUB_LINE_SIZE = 112;
+ private static final int LINE_SIZE = 116;
+ private static final int SUB_LINE_SIZE = 114;
private static final int ZERO = 0;
/**
@@ -402,7 +403,7 @@
}
/* When spaces are present in the given line. */
- private static String whenSpaceIsPresent(String line, int lineSize) {
+ public static String whenSpaceIsPresent(String line, int lineSize) {
StringBuilder stringBuilder = new StringBuilder();
String append;
if (line.length() > lineSize) {
@@ -416,7 +417,7 @@
String[] strArray = stringBuilder.toString().split(NEW_LINE);
StringBuilder tempBuilder = new StringBuilder();
for (String str : strArray) {
- if (str.length() > SUB_LINE_SIZE) {
+ if (str.length() > LINE_SIZE) {
if (str.contains(SPACE)) {
String[] strArr = str.split(SPACE);
tempBuilder = updateString(strArr, tempBuilder, SPACE, SUB_LINE_SIZE);
@@ -445,15 +446,13 @@
stringBuilder.append(tempString);
if (string.equals(PERIOD)) {
append = NEW_LINE + TWELVE_SPACE_INDENTATION + PERIOD + str + string;
- stringBuilder.append(append);
} else {
append = NEW_LINE + TWELVE_SPACE_INDENTATION + str + string;
- stringBuilder.append(append);
}
+ stringBuilder.append(append);
tempBuilder.delete(ZERO, tempBuilder.length());
tempBuilder.append(TWELVE_SPACE_INDENTATION);
} else {
- append = str + string;
stringBuilder.append(append);
}
}