From: Prasanth Pallamreddy Date: Wed, 22 Jan 2014 18:45:40 +0000 (-0800) Subject: Fix ClassCastException in logging bridge stop X-Git-Tag: jenkins-controller-bulk-release-prepare-only-2-1~19^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=refs%2Fchanges%2F05%2F4605%2F1 Fix ClassCastException in logging bridge stop - Additional fix to handle NPE during logging bridge start Change-Id: Id6d4b727dd08db18a91b509cad99450fd41a5171 Signed-off-by: Prasanth Pallamreddy --- diff --git a/opendaylight/logging/bridge/src/main/java/org/opendaylight/controller/logging/bridge/internal/Activator.java b/opendaylight/logging/bridge/src/main/java/org/opendaylight/controller/logging/bridge/internal/Activator.java index b231faf153..75990c7c51 100644 --- a/opendaylight/logging/bridge/src/main/java/org/opendaylight/controller/logging/bridge/internal/Activator.java +++ b/opendaylight/logging/bridge/src/main/java/org/opendaylight/controller/logging/bridge/internal/Activator.java @@ -50,14 +50,15 @@ public class Activator implements BundleActivator { if (reader == null) { this.log.error("Cannot register the LogListener because " + "cannot retrieve LogReaderService"); - } - reader.addLogListener(this.listener); - // Now lets walk all the exiting messages - Enumeration entries = reader.getLog(); - if (entries != null) { - while (entries.hasMoreElements()) { - LogEntry entry = (LogEntry) entries.nextElement(); - this.listener.logged(entry); + } else { + reader.addLogListener(this.listener); + // Now lets walk all the exiting messages + Enumeration entries = reader.getLog(); + if (entries != null) { + while (entries.hasMoreElements()) { + LogEntry entry = entries.nextElement(); + this.listener.logged(entry); + } } } @@ -98,10 +99,10 @@ public class Activator implements BundleActivator { @Override public void stop(BundleContext context) { - ServiceReference service = null; - service = context.getServiceReference(LogReaderService.class.getName()); - if (service != null) { - LogReaderService reader = (LogReaderService) service; + ServiceReference serviceRef = context.getServiceReference( + LogReaderService.class.getName()); + if (serviceRef != null) { + LogReaderService reader = (LogReaderService) context.getService(serviceRef); reader.removeLogListener(this.listener); } if (this.shutdownHandler != null) {