Fix loose typing in ItmMonitorWorker 30/90230/5
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 3 Jun 2020 11:27:16 +0000 (13:27 +0200)
committerHema Gopalakrishnan <hema.gopalkrishnan@ericsson.com>
Mon, 3 Aug 2020 17:09:22 +0000 (17:09 +0000)
commite195feae40b31a814231bf20b9670bf3d1e192d6
treefb8821f2490b23c2cc2823914567b61ef8880996
parenta96aa4442f86a17a753b335665432702fd926417
Fix loose typing in ItmMonitorWorker

Having a type-variant constructor with internal instanceof checks
prevents proper type safety. Fix this by introducing two separate
constructors. Fixes:

java.lang.ClassCastException: class org.opendaylight.yangtools.yang.common.Uint16 cannot be cast to class java.lang.Integer
at org.opendaylight.genius.itm.confighelpers.ItmMonitorWorker.<init>(ItmMonitorWorker.java:71) ~[bundleFile:?]
at org.opendaylight.genius.itm.listeners.TunnelMonitorIntervalListener.add(TunnelMonitorIntervalListener.java:127) ~[bundleFile:?]
at org.opendaylight.genius.itm.listeners.TunnelMonitorIntervalListener.add(TunnelMonitorIntervalListener.java:34) ~[bundleFile:?]
at org.opendaylight.serviceutils.tools.listener.DataTreeChangeListenerActions.onDataTreeChanged(DataTreeChangeListenerActions.java:65) ~[bundleFile:?]
at org.opendaylight.serviceutils.tools.listener.AbstractSyncDataTreeChangeListener.onDataTreeChanged(AbstractSyncDataTreeChangeListener.java:50) ~[bundleFile:?]
at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:37) ~[bundleFile:?]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataTreeChanged(DataTreeChangeListenerActor.java:83) [bundleFile:?]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:44) [bundleFile:?]

Change-Id: I3d6e312532dead3b1668e03fe58984d77b40d6de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
itm/itm-impl/src/main/java/org/opendaylight/genius/itm/confighelpers/ItmMonitorWorker.java