Merge "Added conflict handling between configuration and state choice nodes. -unique...
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / mapping / attributes / fromxml / AbstractAttributeReadingStrategy.java
index 2ba1b61b80d5a76d3856d76d71cb910746dae462..793911262810f826f332f84c75bb642bb1d7fe6e 100644 (file)
@@ -8,31 +8,33 @@
 
 package org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml;
 
-import java.util.List;
-
-import org.opendaylight.controller.config.yangjmxgenerator.attribute.AttributeIfc;
 import org.opendaylight.controller.netconf.util.xml.XmlElement;
 
-public abstract class AbstractAttributeReadingStrategy<A extends AttributeIfc> implements AttributeReadingStrategy {
+import java.util.List;
 
-    private final A attributeIfc;
+public abstract class AbstractAttributeReadingStrategy implements AttributeReadingStrategy {
 
-    public AbstractAttributeReadingStrategy(A attributeIfc) {
-        this.attributeIfc = attributeIfc;
+    private final String nullableDefault;
+
+    public AbstractAttributeReadingStrategy(String nullableDefault) {
+        this.nullableDefault = nullableDefault;
     }
 
-    public A getAttributeIfc() {
-        return attributeIfc;
+    public String getNullableDefault() {
+        return nullableDefault;
     }
 
     @Override
     public AttributeConfigElement readElement(List<XmlElement> configNodes) {
         if (configNodes.size() == 0)
-            return AttributeConfigElement.createNullValue(attributeIfc);
+            return AttributeConfigElement.createNullValue(postprocessNullableDefault(nullableDefault));
 
         return readElementHook(configNodes);
     }
 
     abstract AttributeConfigElement readElementHook(List<XmlElement> configNodes);
 
+    protected Object postprocessNullableDefault(String nullableDefault) {
+        return nullableDefault;
+    }
 }