diff options
Diffstat (limited to 'yang-comparator/src/main/java/org/onap/modeling/yangkit/comparator/app/YangComparatorPlugin.java')
-rw-r--r-- | yang-comparator/src/main/java/org/onap/modeling/yangkit/comparator/app/YangComparatorPlugin.java | 52 |
1 files changed, 14 insertions, 38 deletions
diff --git a/yang-comparator/src/main/java/org/onap/modeling/yangkit/comparator/app/YangComparatorPlugin.java b/yang-comparator/src/main/java/org/onap/modeling/yangkit/comparator/app/YangComparatorPlugin.java index a46b97d..45b3941 100644 --- a/yang-comparator/src/main/java/org/onap/modeling/yangkit/comparator/app/YangComparatorPlugin.java +++ b/yang-comparator/src/main/java/org/onap/modeling/yangkit/comparator/app/YangComparatorPlugin.java @@ -18,6 +18,7 @@ package org.onap.modeling.yangkit.comparator.app; import com.google.gson.JsonElement; +import java.io.File; import java.io.IOException; import java.util.List; @@ -47,44 +48,8 @@ import org.yangcentral.yangkit.utils.xml.XmlWriter; */ public class YangComparatorPlugin implements YangCompilerPlugin { @Override - public YangCompilerPluginParameter getParameter(String name, JsonElement value) - throws YangCompilerException { - if (!name.equals("old-yang") && !name.equals("settings") - && !name.equals("compare-type") && !name.equals("rule") - && !name.equals("result")) { - throw new YangCompilerException("unrecognized parameter:" + name); - } - if (name.equals("old-yang") || name.equals("compare-type")) { - YangCompilerPluginParameter yangCompilerPluginParameter = new YangCompilerPluginParameter() { - @Override - public String getName() { - return name; - } - - @Override - public Object getValue() throws YangCompilerException { - if (name.equals("old-yang")) { - return BuildOption.parseSources(value); - } - - if (name.equals("compare-type")) { - if (value.equals("stmt")) { - return CompareType.STMT; - } else if (value.equals("tree")) { - return CompareType.TREE; - } else if (value.equals("compatible-check")) { - return CompareType.COMPATIBLE_CHECK; - } - throw new YangCompilerException("unrecognized value:" + value); - } - return null; - } - - }; - return yangCompilerPluginParameter; - } - return YangCompilerPlugin.super.getParameter(name, value); - + public YangCompilerPluginParameter getParameter(String name, JsonElement value) { + return new YangComparatorPluginParameter(name,value); } @Override @@ -124,6 +89,17 @@ public class YangComparatorPlugin implements YangCompilerPlugin { if (resultPath == null) { throw new YangCompilerException("missing mandatory parameter:result"); } + File outputFile = new File(resultPath); + if (!outputFile.exists()) { + if (outputFile.getParentFile() != null && !outputFile.getParentFile().exists()) { + outputFile.getParentFile().mkdirs(); + } + try { + outputFile.createNewFile(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } YangSchemaContext oldSchemaContext = YangCompilerUtil.buildSchemaContext(sources, settings); ValidatorResult oldResult = oldSchemaContext.validate(); if (!oldResult.isOk()) { |