package org.opendaylight.controller.md.sal.common.impl.service; import java.util.Map; import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.DataChangeListener; import org.opendaylight.controller.md.sal.common.api.data.DataModification; import org.opendaylight.yangtools.concepts.Path; import com.google.common.base.Predicate; public final class ListenerStateCapture
, D, DCL extends DataChangeListener
> {
final P path;
final Iterable additionalConfigOriginal;
Map additionalConfigCreated;
Map additionalConfigUpdated;
Map additionalConfigDeleted;
Map additionalOperOriginal;
Map additionalOperCreated;
Map additionalOperUpdated;
Map additionalOperDeleted;
RootedChangeSet normalizedConfigurationChanges;
RootedChangeSet normalizedOperationalChanges;
private final Predicate containsPredicate;
public ListenerStateCapture(P path, Iterable containsPredicate) {
super();
this.path = path;
this.listeners = listeners;
this.containsPredicate = containsPredicate;
}
protected D getInitialOperationalState() {
return initialOperationalState;
}
protected void setInitialOperationalState(D initialOperationalState) {
this.initialOperationalState = initialOperationalState;
}
protected D getInitialConfigurationState() {
return initialConfigurationState;
}
protected void setInitialConfigurationState(D initialConfigurationState) {
this.initialConfigurationState = initialConfigurationState;
}
protected P getPath() {
return path;
}
protected Iterable getNormalizedConfigurationChanges() {
return normalizedConfigurationChanges;
}
protected void setNormalizedConfigurationChanges(RootedChangeSet normalizedConfigurationChanges) {
this.normalizedConfigurationChanges = normalizedConfigurationChanges;
}
protected RootedChangeSet getNormalizedOperationalChanges() {
return normalizedOperationalChanges;
}
protected void setNormalizedOperationalChanges(RootedChangeSet normalizedOperationalChange) {
this.normalizedOperationalChanges = normalizedOperationalChange;
}
protected DataChangeEvent createEvent(DataModification modification) {
return ImmutableDataChangeEvent. builder()//
.addTransaction(modification, containsPredicate) //
.addConfigurationChangeSet(normalizedConfigurationChanges) //
.addOperationalChangeSet(normalizedOperationalChanges) //
.setOriginalConfigurationSubtree(initialConfigurationState) //
.setOriginalOperationalSubtree(initialOperationalState) //
.setUpdatedConfigurationSubtree(finalConfigurationState) //
.setUpdatedOperationalSubtree(finalOperationalState) //
.build();
}
}