Merge "Statistics Northbound Test"
[controller.git] / opendaylight / sal / yang-prototype / code-generator / maven-yang-plugin / src / main / java / org / opendaylight / controller / yang2sources / plugin / ConfigArg.java
index f6602e6aae5bf029773cefb38cc1162bfa29aa2f..0ce985d334c4f6baee81f57713f7fe91d84ec906 100644 (file)
@@ -12,9 +12,11 @@ import java.io.File;
 import com.google.common.base.Preconditions;
 
 /**
- * Complex configuration arguments
+ * Base complex configuration arguments
  */
 public abstract class ConfigArg {
+    public static final String CODE_GEN_DEFAULT_DIR = "code-generator-files/";
+    public static final String RESOURCE_GEN_DEFAULT_DIR = "resource-generator-files/";
 
     protected File outputBaseDir;
 
@@ -31,12 +33,19 @@ public abstract class ConfigArg {
 
     public abstract void check();
 
+    /**
+     * Configuration argument for resource generator class and output directory.
+     */
     public static final class ResourceProviderArg extends ConfigArg {
         private String resourceProviderClass;
 
         public ResourceProviderArg() {
         }
 
+        public ResourceProviderArg(String resourceProviderClass) {
+            this(resourceProviderClass, new File(RESOURCE_GEN_DEFAULT_DIR));
+        }
+
         public ResourceProviderArg(String resourceProviderClass,
                 File outputBaseDir) {
             super(outputBaseDir);
@@ -48,9 +57,6 @@ public abstract class ConfigArg {
             Preconditions
                     .checkNotNull(resourceProviderClass,
                             "resourceProviderClass for ResourceProvider cannot be null");
-            Preconditions.checkNotNull(outputBaseDir,
-                    "outputBaseDir for ResourceProvider cannot be null, "
-                            + resourceProviderClass);
         }
 
         public String getResourceProviderClass() {
@@ -59,12 +65,17 @@ public abstract class ConfigArg {
     }
 
     /**
-     * Transfer object for code generator class and output directory.
+     * Configuration argument for code generator class and output directory.
      */
     public static final class CodeGeneratorArg extends ConfigArg {
         private String codeGeneratorClass;
 
         public CodeGeneratorArg() {
+            super(new File(CODE_GEN_DEFAULT_DIR));
+        }
+
+        public CodeGeneratorArg(String codeGeneratorClass) {
+            this(codeGeneratorClass, new File(CODE_GEN_DEFAULT_DIR));
         }
 
         public CodeGeneratorArg(String codeGeneratorClass, File outputBaseDir) {
@@ -76,9 +87,6 @@ public abstract class ConfigArg {
         public void check() {
             Preconditions.checkNotNull(codeGeneratorClass,
                     "codeGeneratorClass for CodeGenerator cannot be null");
-            Preconditions.checkNotNull(outputBaseDir,
-                    "outputBaseDir for CodeGenerator cannot be null, "
-                            + codeGeneratorClass);
         }
 
         public String getCodeGeneratorClass() {