[ONOS-5096][ONOS-5104] Checkstyle issues fixed for generated code.

Change-Id: I6a0984c2b397dbeda912e75138d5ad9e7adf33d5
diff --git a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
index 9aaf61b..e40f81d 100644
--- a/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
+++ b/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangNode.java
@@ -17,6 +17,7 @@
 
 import java.io.Serializable;
 import java.util.Map;
+
 import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
 import org.onosproject.yangutils.datamodel.utils.Parsable;
 
@@ -141,7 +142,8 @@
     /**
      * Creates a specific type of node.
      *
-     * @param type of YANG node
+     * @param type              of YANG node
+     * @param ysnContextInfoMap YSN context info map
      */
     protected YangNode(YangNodeType type, Map<YangSchemaNodeIdentifier, YangSchemaNodeContextInfo> ysnContextInfoMap) {
         setNodeType(type);
diff --git a/plugin/pom.xml b/plugin/pom.xml
index 13eed0c..ee692f2 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -115,6 +115,12 @@
             <artifactId>build-helper-maven-plugin</artifactId>
             <version>1.10</version>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.21</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
     <build>
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);
             }
         }
diff --git a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/TreeWalkListenerTest.java b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/TreeWalkListenerTest.java
index 1056d98..1688d2d 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/parser/impl/TreeWalkListenerTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/parser/impl/TreeWalkListenerTest.java
@@ -38,9 +38,7 @@
      */
     @Test
     public void processOrderedByStatement() throws IOException, ParserException {
-        thrown.expect(ParserException.class);
-        thrown.expectMessage("YANG file error : \"ordered-by\" is not supported in current version, please check wiki" +
-                " for YANG utils road map.");
+        // Now no exception should be thrown. logs should come.
         manager.getDataModel("src/test/resources/OrderedByStatement.yang");
     }
 
@@ -49,8 +47,7 @@
      */
     @Test
     public void processAnyXmlStatement() throws IOException, ParserException {
-        thrown.expect(ParserException.class);
-        thrown.expectMessage("YANG file error : \"anyxml\" is not supported.");
+        // Now no exception should be thrown. logs should come.
         manager.getDataModel("src/test/resources/AnyxmlStatement.yang");
     }
 
diff --git a/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/AugmentTranslatorTest.java b/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/AugmentTranslatorTest.java
index 1fab8e6..d913828 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/AugmentTranslatorTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/plugin/manager/AugmentTranslatorTest.java
@@ -20,8 +20,8 @@
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.junit.Test;
-import org.onosproject.yangutils.utils.io.YangPluginConfig;
 import org.onosproject.yangutils.parser.exceptions.ParserException;
+import org.onosproject.yangutils.utils.io.YangPluginConfig;
 import org.onosproject.yangutils.utils.io.impl.YangFileScanner;
 
 import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory;
diff --git a/plugin/src/test/java/org/onosproject/yangutils/utils/io/impl/YangIoUtilsTest.java b/plugin/src/test/java/org/onosproject/yangutils/utils/io/impl/YangIoUtilsTest.java
index a3506a0..6766aec 100644
--- a/plugin/src/test/java/org/onosproject/yangutils/utils/io/impl/YangIoUtilsTest.java
+++ b/plugin/src/test/java/org/onosproject/yangutils/utils/io/impl/YangIoUtilsTest.java
@@ -20,12 +20,13 @@
 import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
+
 import org.apache.commons.io.FileUtils;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
-import org.onosproject.yangutils.utils.io.YangPluginConfig;
 import org.onosproject.yangutils.utils.UtilConstants;
+import org.onosproject.yangutils.utils.io.YangPluginConfig;
 
 import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.IsNot.not;
@@ -124,11 +125,11 @@
     /**
      * A private constructor is tested.
      *
-     * @throws SecurityException if any security violation is observed
-     * @throws NoSuchMethodException if when the method is not found
-     * @throws IllegalArgumentException if there is illegal argument found
-     * @throws InstantiationException if instantiation is provoked for the private constructor
-     * @throws IllegalAccessException if instance is provoked or a method is provoked
+     * @throws SecurityException         if any security violation is observed
+     * @throws NoSuchMethodException     if when the method is not found
+     * @throws IllegalArgumentException  if there is illegal argument found
+     * @throws InstantiationException    if instantiation is provoked for the private constructor
+     * @throws IllegalAccessException    if instance is provoked or a method is provoked
      * @throws InvocationTargetException when an exception occurs by the method or constructor
      */
     @Test
@@ -136,7 +137,7 @@
             throws SecurityException, NoSuchMethodException, IllegalArgumentException,
             InstantiationException, IllegalAccessException, InvocationTargetException {
 
-        Class<?>[] classesToConstruct = {YangIoUtils.class };
+        Class<?>[] classesToConstruct = {YangIoUtils.class};
         for (Class<?> clazz : classesToConstruct) {
             Constructor<?> constructor = clazz.getDeclaredConstructor();
             constructor.setAccessible(true);
@@ -205,4 +206,5 @@
         pluginConfig.setConflictResolver(null);
         return pluginConfig;
     }
+
 }
diff --git a/pom.xml b/pom.xml
index 4a4fae9..5d1d355 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,13 +14,13 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
         <groupId>org.onosproject</groupId>
-        <artifactId>onos-dependencies</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <artifactId>onos-base</artifactId>
+        <version>1</version>
     </parent>
 
     <artifactId>onos-yangutils</artifactId>
@@ -41,20 +41,35 @@
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
+            <version>19.0</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
+            <version>5.0.0</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
 
     <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>3.5.1</version>
+                    <configuration>
+                        <source>1.8</source>
+                        <target>1.8</target>
+                    </configuration>
+
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <version>2.3.7</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
     </build>
 </project>