Merge "Prevent password hash from being shown"
[controller.git] / opendaylight / config / yang-jmx-generator / src / main / java / org / opendaylight / controller / config / yangjmxgenerator / TypeProviderWrapper.java
index 7490ad60847aaa45728d0b627a3091ff2d7a3fb7..764ecd38868c7b224c1c8e0065d7989f8126fa37 100644 (file)
@@ -11,6 +11,8 @@ import org.opendaylight.yangtools.sal.binding.generator.spi.TypeProvider;
 import org.opendaylight.yangtools.sal.binding.model.api.Type;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.SchemaNode;
+import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 
 public class TypeProviderWrapper {
     private final TypeProvider typeProvider;
@@ -20,10 +22,19 @@ public class TypeProviderWrapper {
     }
 
     public Type getType(LeafSchemaNode leaf) {
+        TypeDefinition<?> type = leaf.getType();
+        return getType(leaf, type);
+    }
+
+    public String getDefault(LeafSchemaNode node) {
+        return typeProvider.getTypeDefaultConstruction(node);
+    }
+
+    public Type getType(SchemaNode leaf, TypeDefinition<?> type) {
         Type javaType;
         try {
             javaType = typeProvider.javaTypeForSchemaDefinitionType(
-                    leaf.getType(), leaf);
+                    type, leaf);
             if (javaType == null)
                 throw new IllegalArgumentException("Unknown type received for "
                         + leaf.toString());
@@ -50,4 +61,7 @@ public class TypeProviderWrapper {
         return javaType;
     }
 
+    public String getJMXParamForBaseType(TypeDefinition<?> baseType) {
+        return typeProvider.getConstructorPropertyName(baseType);
+    }
 }