Bug 4035: Removed sal-common which is unused since Helium.
[controller.git] / opendaylight / md-sal / sal-common-impl / src / main / java / org / opendaylight / controller / md / sal / common / impl / service / ListenerStateCapture.java
1 /*
2  * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.md.sal.common.impl.service;
10
11 import java.util.Map;
12
13 import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent;
14 import org.opendaylight.controller.md.sal.common.api.data.DataChangeListener;
15 import org.opendaylight.controller.md.sal.common.api.data.DataModification;
16 import org.opendaylight.yangtools.concepts.Path;
17
18 import com.google.common.base.Predicate;
19
20 @Deprecated
21 public final class ListenerStateCapture<P extends Path<P>, D, DCL extends DataChangeListener<P, D>> {
22
23     final P path;
24
25     final Iterable<DataChangeListenerRegistration<P, D, DCL>> listeners;
26
27     D initialOperationalState;
28
29     D initialConfigurationState;
30
31     D finalConfigurationState;
32
33     D finalOperationalState;
34
35     Map<P, D> additionalConfigOriginal;
36     Map<P, D> additionalConfigCreated;
37     Map<P, D> additionalConfigUpdated;
38     Map<P, D> additionalConfigDeleted;
39
40     Map<P, D> additionalOperOriginal;
41     Map<P, D> additionalOperCreated;
42     Map<P, D> additionalOperUpdated;
43     Map<P, D> additionalOperDeleted;
44
45     RootedChangeSet<P, D> normalizedConfigurationChanges;
46     RootedChangeSet<P, D> normalizedOperationalChanges;
47
48     private final Predicate<P> containsPredicate;
49
50     public ListenerStateCapture(P path, Iterable<DataChangeListenerRegistration<P, D, DCL>> listeners,
51             Predicate<P> containsPredicate) {
52         super();
53         this.path = path;
54         this.listeners = listeners;
55         this.containsPredicate = containsPredicate;
56     }
57
58     protected D getInitialOperationalState() {
59         return initialOperationalState;
60     }
61
62     protected void setInitialOperationalState(D initialOperationalState) {
63         this.initialOperationalState = initialOperationalState;
64     }
65
66     protected D getInitialConfigurationState() {
67         return initialConfigurationState;
68     }
69
70     protected void setInitialConfigurationState(D initialConfigurationState) {
71         this.initialConfigurationState = initialConfigurationState;
72     }
73
74     protected P getPath() {
75         return path;
76     }
77
78     protected Iterable<DataChangeListenerRegistration<P, D, DCL>> getListeners() {
79         return listeners;
80     }
81
82     protected D getFinalConfigurationState() {
83         return finalConfigurationState;
84     }
85
86     protected void setFinalConfigurationState(D finalConfigurationState) {
87         this.finalConfigurationState = finalConfigurationState;
88     }
89
90     protected D getFinalOperationalState() {
91         return finalOperationalState;
92     }
93
94     protected void setFinalOperationalState(D finalOperationalState) {
95         this.finalOperationalState = finalOperationalState;
96     }
97
98     protected RootedChangeSet<P, D> getNormalizedConfigurationChanges() {
99         return normalizedConfigurationChanges;
100     }
101
102     protected void setNormalizedConfigurationChanges(RootedChangeSet<P, D> normalizedConfigurationChanges) {
103         this.normalizedConfigurationChanges = normalizedConfigurationChanges;
104     }
105
106     protected RootedChangeSet<P, D> getNormalizedOperationalChanges() {
107         return normalizedOperationalChanges;
108     }
109
110     protected void setNormalizedOperationalChanges(RootedChangeSet<P, D> normalizedOperationalChange) {
111         this.normalizedOperationalChanges = normalizedOperationalChange;
112     }
113
114     protected DataChangeEvent<P, D> createEvent(DataModification<P, D> modification) {
115         return ImmutableDataChangeEvent.<P, D> builder()//
116                 .addTransaction(modification, containsPredicate) //
117                 .addConfigurationChangeSet(normalizedConfigurationChanges) //
118                 .addOperationalChangeSet(normalizedOperationalChanges) //
119                 .setOriginalConfigurationSubtree(initialConfigurationState) //
120                 .setOriginalOperationalSubtree(initialOperationalState) //
121                 .setUpdatedConfigurationSubtree(finalConfigurationState) //
122                 .setUpdatedOperationalSubtree(finalOperationalState) //
123                 .build();
124
125     }
126
127 }