BUG-614: Remove YangtoolsMappingHelper in favor of BindingReflections 44/7744/5
authorRobert Varga <rovarga@cisco.com>
Thu, 5 Jun 2014 15:15:11 +0000 (17:15 +0200)
committerRobert Varga <rovarga@cisco.com>
Tue, 10 Jun 2014 08:46:39 +0000 (08:46 +0000)
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 <rovarga@cisco.com>
opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/YangtoolsMappingHelper.java [deleted file]
opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/RuntimeCodeGenerator.xtend

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 (file)
index 4ad0bb0..0000000
+++ /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
index 1be6e2d..3fef544 100644 (file)
@@ -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<? extends Notification>].toSet;
 

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.