Merge "Fixed publishDataChangeEvent in 2phase commit"
[controller.git] / opendaylight / md-sal / sal-common-impl / src / main / java / org / opendaylight / controller / md / sal / common / impl / service / InitialDataChangeEventImpl.java
1 /*
2  * Copyright (c) 2014 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 package org.opendaylight.controller.md.sal.common.impl.service;
9
10 import java.util.Collections;
11 import java.util.Map;
12 import java.util.Set;
13
14 import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent;
15 import org.opendaylight.yangtools.concepts.Immutable;
16 import org.opendaylight.yangtools.concepts.Path;
17
18 public class InitialDataChangeEventImpl<P extends Path<P>,D> implements DataChangeEvent<P, D>, Immutable {
19
20     private final D updatedOperationalTree;
21     private final D updatedConfigurationTree;
22     private final Map<P,D> updatedConfigurationData;
23     private final Map<P,D> updatedOperationalData;
24
25     public InitialDataChangeEventImpl(D configTree, D operTree) {
26         updatedConfigurationTree = configTree;
27         updatedOperationalTree = operTree;
28         updatedConfigurationData = Collections.emptyMap();
29         updatedOperationalData = Collections.emptyMap();
30     }
31     
32     public InitialDataChangeEventImpl(D configTree, D operTree, Map<P, D> updatedCfgData, Map<P, D> updatedOperData) {
33         updatedConfigurationTree = configTree;
34         updatedOperationalTree = operTree;
35         updatedConfigurationData = updatedCfgData;
36         updatedOperationalData = updatedOperData;
37     }
38     
39     @Override
40     public Map<P, D> getCreatedConfigurationData() {
41         return Collections.emptyMap();
42     }
43     
44     @Override
45     public Map<P, D> getCreatedOperationalData() {
46         return Collections.emptyMap();
47     }
48     
49     @Override
50     public Map<P, D> getOriginalConfigurationData() {
51         return Collections.emptyMap();
52     }
53     @Override
54     public Map<P, D> getOriginalOperationalData() {
55         return Collections.emptyMap();
56     }
57     @Override
58     public Set<P> getRemovedConfigurationData() {
59         return Collections.emptySet();
60     }
61     @Override
62     public Set<P> getRemovedOperationalData() {
63         return Collections.emptySet();
64     }
65     @Override
66     public Map<P, D> getUpdatedConfigurationData() {
67         return updatedConfigurationData;
68     }
69     
70     @Override
71     public D getUpdatedConfigurationSubtree() {
72         return updatedConfigurationTree;
73     }
74     @Override
75     public D getUpdatedOperationalSubtree() {
76         return updatedOperationalTree;
77     }
78     
79     @Override
80     public D getOriginalConfigurationSubtree() {
81         return updatedConfigurationTree;
82     }
83     
84     @Override
85     public D getOriginalOperationalSubtree() {
86         return updatedOperationalTree;
87     }
88     
89     @Override
90     public Map<P, D> getUpdatedOperationalData() {
91         return updatedOperationalData;
92     }
93     
94
95 }