From: Robert Varga Date: Fri, 16 Nov 2018 06:34:37 +0000 (+0100) Subject: Define getImplementedInterface name in BindingMapping X-Git-Tag: release/fluorine-sr2~22 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=4f7d8892ae0efc0d1dfc580fab3ba23907cc6d1c;p=mdsal.git 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 (cherry picked from commit ee3d79b4cd72051048d734407a23981051f21197) --- 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 0babc42e81..cf6701ae8d 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 @@ -7,6 +7,9 @@ */ package org.opendaylight.mdsal.binding.dom.codec.impl; +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; import com.google.common.base.Optional; @@ -22,7 +25,6 @@ import java.util.Objects; 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; @@ -36,7 +38,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"; @@ -60,10 +61,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(); @@ -73,7 +74,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 d3becefe79..6c68d68378 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"; + public static final String RPC_INPUT_SUFFIX = "Input"; public static final String RPC_OUTPUT_SUFFIX = "Output";