From ee3d79b4cd72051048d734407a23981051f21197 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 16 Nov 2018 07:34:37 +0100 Subject: [PATCH] Define getImplementedInterface name in BindingMapping This moves the definition from LazyDataObject to a common place, so we have one place which defines it. Also remove unused Throwable declaration. Change-Id: Icfbc861419fca3b207e9aebfc2b00ddf8a1fc38f Signed-off-by: Robert Varga --- .../mdsal/binding/dom/codec/impl/LazyDataObject.java | 10 +++++----- .../mdsal/binding/spec/naming/BindingMapping.java | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LazyDataObject.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LazyDataObject.java index 4b8da65f93..4437c00772 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LazyDataObject.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LazyDataObject.java @@ -9,6 +9,8 @@ package org.opendaylight.mdsal.binding.dom.codec.impl; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; +import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTABLE_AUGMENTATION_NAME; +import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.DATA_CONTAINER_GET_IMPLEMENTED_INTERFACE_NAME; import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; @@ -24,7 +26,6 @@ import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import org.opendaylight.mdsal.binding.dom.codec.util.AugmentationReader; -import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.yang.binding.Augmentable; import org.opendaylight.yangtools.yang.binding.Augmentation; @@ -38,7 +39,6 @@ import org.slf4j.LoggerFactory; class LazyDataObject implements InvocationHandler, AugmentationReader { private static final Logger LOG = LoggerFactory.getLogger(LazyDataObject.class); - private static final String GET_IMPLEMENTED_INTERFACE = "getImplementedInterface"; private static final String TO_STRING = "toString"; private static final String EQUALS = "equals"; private static final String HASHCODE = "hashCode"; @@ -62,10 +62,10 @@ class LazyDataObject implements InvocationHandler, Augment } @Override - public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable { + public Object invoke(final Object proxy, final Method method, final Object[] args) { if (method.getParameterTypes().length == 0) { final String name = method.getName(); - if (GET_IMPLEMENTED_INTERFACE.equals(name)) { + if (DATA_CONTAINER_GET_IMPLEMENTED_INTERFACE_NAME.equals(name)) { return context.getBindingClass(); } else if (TO_STRING.equals(name)) { return bindingToString(); @@ -75,7 +75,7 @@ class LazyDataObject implements InvocationHandler, Augment return getAugmentationsImpl(); } return getBindingData(method); - } else if (BindingMapping.AUGMENTABLE_AUGMENTATION_NAME.equals(method.getName())) { + } else if (AUGMENTABLE_AUGMENTATION_NAME.equals(method.getName())) { return getAugmentationImpl((Class) args[0]); } else if (EQUALS.equals(method.getName())) { return bindingEquals(args[0]); diff --git a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java index fdd567cf0b..d02f05f4ff 100644 --- a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java +++ b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java @@ -24,6 +24,7 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.opendaylight.yangtools.yang.binding.Augmentable; +import org.opendaylight.yangtools.yang.binding.DataContainer; import org.opendaylight.yangtools.yang.binding.Identifiable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -73,6 +74,11 @@ public final class BindingMapping { */ public static final String IDENTIFIABLE_KEY_NAME = "key"; + /** + * Name of {@link DataContainer#getImplementedInterface()}. + */ + public static final String DATA_CONTAINER_GET_IMPLEMENTED_INTERFACE_NAME = "getImplementedInterface"; + /** * Prefix for getter methods working on top of boolean. */ -- 2.36.6