From: Robert Varga Date: Thu, 5 Jun 2014 15:15:11 +0000 (+0200) Subject: BUG-614: Remove YangtoolsMappingHelper in favor of BindingReflections X-Git-Tag: release/helium~669^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=721677fcf9f9f4085422eb3523e1cf752d698b4d BUG-614: Remove YangtoolsMappingHelper in favor of BindingReflections As it turns out YangtoolsMappingHelper is an old duplicate of BindingReflections, with a single isNotification() method. That method is buggy, as it does not perform all the checks required. Remove it and use the unified method exposed from BindingReflections. Change-Id: Ifc2ef9746c2556feac05466439ed910208289413 Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/YangtoolsMappingHelper.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/YangtoolsMappingHelper.java deleted file mode 100644 index 4ad0bb0558..0000000000 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/YangtoolsMappingHelper.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.controller.sal.binding.codegen; - -import java.lang.reflect.Method; - -import org.opendaylight.yangtools.yang.binding.Notification; - -public final class YangtoolsMappingHelper { - private YangtoolsMappingHelper() { - throw new UnsupportedOperationException("Utility class"); - } - - public static boolean isNotificationCallback(final Method it) { - return it.getName().startsWith("on") && (it.getParameterTypes().length == 1) && - Notification.class.isAssignableFrom(it.getParameterTypes()[0]); - } -} \ No newline at end of file diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend index 1be6e2dfb1..3fef544f81 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend @@ -12,7 +12,7 @@ import javassist.ClassPool import org.opendaylight.yangtools.yang.binding.InstanceIdentifier import org.opendaylight.yangtools.yang.binding.Notification import org.opendaylight.yangtools.yang.binding.RpcImplementation -import org.opendaylight.controller.sal.binding.codegen.YangtoolsMappingHelper +import org.opendaylight.yangtools.yang.binding.util.BindingReflections import org.opendaylight.yangtools.yang.binding.util.ClassLoaderUtils import static extension org.opendaylight.controller.sal.binding.codegen.RuntimeCodeSpecification.* @@ -111,7 +111,7 @@ class RuntimeCodeGenerator extends AbstractRuntimeCodeGenerator { } override generateListenerInvoker(Class iface) { - val callbacks = iface.methods.filter[YangtoolsMappingHelper.isNotificationCallback(it)] + val callbacks = iface.methods.filter[BindingReflections.isNotificationCallback(it)] val supportedNotification = callbacks.map[parameterTypes.get(0) as Class].toSet;