Yang validation moved to validator package and validation listener refactored.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / main / java / org / opendaylight / controller / yang / model / parser / impl / YangModelParserImpl.java
index e2ebea7f883235daa613af19fd1e4f77ba773abc..af972f08a5a687849d0bc2a67f41b312a0063133 100644 (file)
@@ -78,6 +78,7 @@ import org.opendaylight.controller.yang.model.parser.util.YangParseException;
 import org.opendaylight.controller.yang.model.util.ExtendedType;
 import org.opendaylight.controller.yang.model.util.IdentityrefType;
 import org.opendaylight.controller.yang.model.util.UnknownType;
+import org.opendaylight.controller.yang.model.validator.YangModelBasicValidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -161,19 +162,8 @@ public class YangModelParserImpl implements YangModelParser {
         final List<ParseTree> trees = parseStreams(yangFiles);
         final ModuleBuilder[] builders = new ModuleBuilder[trees.size()];
 
-        // validation
-        // if validation fails with any file, do not continue and throw
-        // exception
-        for (int i = 0; i < trees.size(); i++) {
-            try {
-                final YangModelValidationListener yangModelParser = new YangModelValidationListener();
-                walker.walk(yangModelParser, trees.get(i));
-            } catch (IllegalStateException e) {
-                // wrap exception to add information about which file failed
-                throw new YangValidationException(
-                        "Yang validation failed for file" + yangFiles[i], e);
-            }
-        }
+        // validate yang
+        new YangModelBasicValidator(walker).validate(trees);
 
         YangModelParserListenerImpl yangModelParser = null;
         for (int i = 0; i < trees.size(); i++) {