BUG-2453 (De)Serialize enum values as defined in yang
[controller.git] / opendaylight / netconf / config-netconf-connector / src / main / java / org / opendaylight / controller / netconf / confignetconfconnector / mapping / rpc / ModuleRpcs.java
index 67c178e219709ec0450941a1e189a63a5bdb30d7..7316dbcb06e7d083ee3d271039ebfb02a3091ace 100644 (file)
@@ -10,15 +10,20 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.rpc;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Maps;
+import java.util.Map;
 import org.opendaylight.controller.config.yangjmxgenerator.RuntimeBeanEntry;
 import org.opendaylight.controller.config.yangjmxgenerator.RuntimeBeanEntry.Rpc;
-
-import java.util.Map;
+import org.opendaylight.controller.netconf.confignetconfconnector.osgi.EnumResolver;
 
 public final class ModuleRpcs {
 
     private final Map<String, String> yangToJavaNames = Maps.newHashMap();
     private final Map<String, Map<String, InstanceRuntimeRpc>> rpcMapping = Maps.newHashMap();
+    private final EnumResolver enumResolver;
+
+    public ModuleRpcs(final EnumResolver enumResolver) {
+        this.enumResolver = enumResolver;
+    }
 
     public void addNameMapping(RuntimeBeanEntry runtimeEntry) {
         String yangName = runtimeEntry.getYangName();
@@ -37,7 +42,7 @@ public final class ModuleRpcs {
 
         Preconditions.checkState(!map.containsKey(rpc.getYangName()), "Rpc %s for runtime bean %s added twice",
                 rpc.getYangName(), yangName);
-        map.put(rpc.getYangName(), new InstanceRuntimeRpc(rpc));
+        map.put(rpc.getYangName(), new InstanceRuntimeRpc(rpc, enumResolver));
     }
 
     public String getRbeJavaName(String yangName) {