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> listeners; D initialOperationalState; D initialConfigurationState; D finalConfigurationState; D finalOperationalState; Map 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> listeners, Predicate

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> getListeners() { return listeners; } protected D getFinalConfigurationState() { return finalConfigurationState; } protected void setFinalConfigurationState(D finalConfigurationState) { this.finalConfigurationState = finalConfigurationState; } protected D getFinalOperationalState() { return finalOperationalState; } protected void setFinalOperationalState(D finalOperationalState) { this.finalOperationalState = finalOperationalState; } protected RootedChangeSet 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(); } }