private void onAppConfigChanged(final Collection<DataTreeModification<DataObject>> changes) { for (DataTreeModification<DataObject> change: changes) { DataObjectModification<DataObject> changeRoot = change.getRootNode(); ModificationType type = changeRoot.getModificationType(); LOG.debug("{}: onAppConfigChanged: {}, {}", logName(), type, change.getRootPath()); if (type == ModificationType.SUBTREE_MODIFIED || type == ModificationType.WRITE) { DataObject newAppConfig = changeRoot.getDataAfter(); LOG.debug("New app config instance: {}, previous: {}", newAppConfig, currentAppConfig); if (!setInitialAppConfig(Optional.of(newAppConfig)) && !Objects.equals(currentAppConfig, newAppConfig)) { LOG.debug("App config was updated"); if (appConfigUpdateStrategy == UpdateStrategy.RELOAD) { restartContainer(); } } } else if (type == ModificationType.DELETE) { LOG.debug("App config was deleted"); if (appConfigUpdateStrategy == UpdateStrategy.RELOAD) { restartContainer(); } } } }
private static synchronized void logDataTreeChangeEvent(final int eventNum, final Collection<DataTreeModification<TestExec>> changes) { LOG.debug("DsbenchmarkListener-onDataTreeChanged: Event {}", eventNum); for (DataTreeModification<TestExec> change : changes) { final DataObjectModification<TestExec> rootNode = change.getRootNode(); final ModificationType modType = rootNode.getModificationType(); final PathArgument changeId = rootNode.getIdentifier(); final Collection<? extends DataObjectModification<? extends DataObject>> modifications = rootNode.getModifiedChildren(); LOG.debug(" changeId {}, modType {}, mods: {}", changeId, modType, modifications.size()); for (DataObjectModification<? extends DataObject> mod : modifications) { LOG.debug(" mod-getDataAfter: {}", mod.getDataAfter()); } } }
/** * Implemented from the DataTreeChangeListener interface. */ @Override public void onDataTreeChanged(final Collection<DataTreeModification<Toaster>> changes) { for (DataTreeModification<Toaster> change: changes) { DataObjectModification<Toaster> rootNode = change.getRootNode(); if (rootNode.getModificationType() == WRITE) { Toaster oldToaster = rootNode.getDataBefore(); Toaster newToaster = rootNode.getDataAfter(); LOG.info("onDataTreeChanged - Toaster config with path {} was added or replaced: " + "old Toaster: {}, new Toaster: {}", change.getRootPath().getRootIdentifier(), oldToaster, newToaster); Long darkness = newToaster.getDarknessFactor(); if (darkness != null) { darknessFactor.set(darkness); } } else if (rootNode.getModificationType() == DELETE) { LOG.info("onDataTreeChanged - Toaster config with path {} was deleted: old Toaster: {}", change.getRootPath().getRootIdentifier(), rootNode.getDataBefore()); } } }
@Override public void onDataTreeChanged(final Collection<DataTreeModification<Node>> changes) { for (DataTreeModification<Node> change: changes) { final DataObjectModification<Node> rootNode = change.getRootNode(); switch (rootNode.getModificationType()) { case WRITE: case SUBTREE_MODIFIED: final Node node = rootNode.getDataAfter(); if (getNodeIdRegexPattern().matcher(node.getNodeId().getValue()).matches()) { notifyNode(change.getRootPath().getRootIdentifier()); } break; default: break; } } }
@Override public void onDataTreeChanged(final Collection<DataTreeModification<Receiver>> changed) { for (final DataTreeModification<Receiver> change : changed) { final ReceiverKey receiverKey = getReceiverKey(change.getRootPath()); final DataObjectModification<Receiver> rootChange = change.getRootNode(); switch (rootChange.getModificationType()) { case WRITE: case SUBTREE_MODIFIED: createOrModifyReceiver(receiverKey, rootChange.getDataAfter()); break; case DELETE: removeReceiver(receiverKey); default: break; } } } }