From: Tony Tkacik Date: Mon, 7 Apr 2014 10:31:55 +0000 (+0200) Subject: Bug 509: Fixed order of invoking Schema listeners. X-Git-Tag: release/beryllium~149^2~443^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=57974b87bbc61dddab2df5c6c0d6e1615e2eae68;p=mdsal.git Bug 509: Fixed order of invoking Schema listeners. Explicitly registered SchemaServiceListeners are invoked before listeners picked-up by whiteboard pattern, which by default are not aware of the service. Change-Id: Id41b89a1ba2ccb5323d5ab5ad8a95d2048776679 Signed-off-by: Tony Tkacik --- diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java index a60a30d256..dab8fd5cd1 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/GlobalBundleScanningSchemaServiceImpl.java @@ -135,6 +135,13 @@ public class GlobalBundleScanningSchemaServiceImpl implements // private void updateContext(final SchemaContext snapshot) { Object[] services = listenerTracker.getServices(); + for (ListenerRegistration listener : listeners) { + try { + listener.getInstance().onGlobalContextUpdated(snapshot); + } catch (Exception e) { + logger.error("Exception occured during invoking listener", e); + } + } if (services != null) { for (Object rawListener : services) { SchemaServiceListener listener = (SchemaServiceListener) rawListener; @@ -145,13 +152,6 @@ public class GlobalBundleScanningSchemaServiceImpl implements // } } } - for (ListenerRegistration listener : listeners) { - try { - listener.getInstance().onGlobalContextUpdated(snapshot); - } catch (Exception e) { - logger.error("Exception occured during invoking listener", e); - } - } } private class BundleScanner implements BundleTrackerCustomizer>> {