Merge "BUG-868: use a single version of ClassLoaderUtils"
[controller.git] / opendaylight / md-sal / sal-common-impl / src / main / java / org / opendaylight / controller / md / sal / common / impl / service / InitialDataChangeEventImpl.java
index 2764635720bfd7d4da05280778ad1dfd17d142ea..f35d6dc6af29e2780a4d090d44984eb6ec6d3f97 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
 package org.opendaylight.controller.md.sal.common.impl.service;
 
 import java.util.Collections;
@@ -5,27 +12,40 @@ import java.util.Map;
 import java.util.Set;
 
 import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent;
+import org.opendaylight.yangtools.concepts.Immutable;
+import org.opendaylight.yangtools.concepts.Path;
 
-public class InitialDataChangeEventImpl<P,D> implements DataChangeEvent<P, D> {
+public class InitialDataChangeEventImpl<P extends Path<P>,D> implements DataChangeEvent<P, D>, Immutable {
 
-    private final D originalOperationalTree;
-    private final D originalConfigurationTree;
+    private final D updatedOperationalTree;
+    private final D updatedConfigurationTree;
+    private final Map<P,D> updatedConfigurationData;
+    private final Map<P,D> updatedOperationalData;
 
     public InitialDataChangeEventImpl(D configTree, D operTree) {
-        originalConfigurationTree = configTree;
-        originalOperationalTree = operTree;
+        updatedConfigurationTree = configTree;
+        updatedOperationalTree = operTree;
+        updatedConfigurationData = Collections.emptyMap();
+        updatedOperationalData = Collections.emptyMap();
     }
-    
+
+    public InitialDataChangeEventImpl(D configTree, D operTree, Map<P, D> updatedCfgData, Map<P, D> updatedOperData) {
+        updatedConfigurationTree = configTree;
+        updatedOperationalTree = operTree;
+        updatedConfigurationData = updatedCfgData;
+        updatedOperationalData = updatedOperData;
+    }
+
     @Override
     public Map<P, D> getCreatedConfigurationData() {
         return Collections.emptyMap();
     }
-    
+
     @Override
     public Map<P, D> getCreatedOperationalData() {
         return Collections.emptyMap();
     }
-    
+
     @Override
     public Map<P, D> getOriginalConfigurationData() {
         return Collections.emptyMap();
@@ -44,32 +64,32 @@ public class InitialDataChangeEventImpl<P,D> implements DataChangeEvent<P, D> {
     }
     @Override
     public Map<P, D> getUpdatedConfigurationData() {
-        return Collections.emptyMap();
+        return updatedConfigurationData;
     }
-    
+
     @Override
     public D getUpdatedConfigurationSubtree() {
-        return originalConfigurationTree;
+        return updatedConfigurationTree;
     }
     @Override
     public D getUpdatedOperationalSubtree() {
-        return originalOperationalTree;
+        return updatedOperationalTree;
     }
-    
+
     @Override
     public D getOriginalConfigurationSubtree() {
-        return originalConfigurationTree;
+        return updatedConfigurationTree;
     }
-    
+
     @Override
     public D getOriginalOperationalSubtree() {
-        return originalOperationalTree;
+        return updatedOperationalTree;
     }
-    
+
     @Override
     public Map<P, D> getUpdatedOperationalData() {
-        return Collections.emptyMap();
+        return updatedOperationalData;
     }
-    
+
 
 }