X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FKeyedListNodeCodecContext.java;h=ceb30a41b1b2d65625ea0fab6fdaaec8addd0c9b;hb=c34db6e95f9ee1221fc37d4ecbf234b17b8766c9;hp=da8438980dd1c0d098a905fe0e73c896a6d2737e;hpb=812a658cb4bc85ec29b0656d5e91ccd541890f20;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java index da8438980d..ceb30a41b1 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyedListNodeCodecContext.java @@ -7,7 +7,6 @@ */ package org.opendaylight.mdsal.binding.dom.codec.impl; -import java.lang.reflect.Method; import java.util.List; import org.opendaylight.yangtools.concepts.Codec; import org.opendaylight.yangtools.yang.binding.DataObject; @@ -23,14 +22,15 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; final class KeyedListNodeCodecContext> extends ListNodeCodecContext { private final Codec> codec; - private final Method keyGetter; KeyedListNodeCodecContext(final DataContainerCodecPrototype prototype) { super(prototype); - this.codec = factory().getPathArgumentCodec(getBindingClass(), getSchema()); + final Class bindingClass = getBindingClass(); + this.codec = factory().getPathArgumentCodec(bindingClass, getSchema()); try { - this.keyGetter = getBindingClass().getMethod("getKey"); + // This just verifies the method is present + bindingClass.getMethod("getKey"); } catch (NoSuchMethodException e) { throw new IllegalStateException("Required method not available", e); } @@ -58,12 +58,12 @@ final class KeyedListNodeCodecContext> ex @Override @SuppressWarnings("rawtypes") - Object getBindingChildValue(final Method method, final NormalizedNodeContainer dom) { - if (dom instanceof MapEntryNode && keyGetter.equals(method)) { + Object getBindingChildValue(final String methodName, final NormalizedNodeContainer dom) { + if (dom instanceof MapEntryNode && "getKey".equals(methodName)) { NodeIdentifierWithPredicates identifier = ((MapEntryNode) dom).getIdentifier(); return codec.deserialize(identifier).getKey(); } - return super.getBindingChildValue(method, dom); + return super.getBindingChildValue(methodName, dom); } @Override