Fix license header violations in sal-common-impl
[controller.git] / opendaylight / md-sal / sal-common-impl / src / main / java / org / opendaylight / controller / md / sal / common / impl / service / ImmutableDataChangeEvent.java
index 776ff7bfb2005219c3fcb4635420647fa1a08c67..5671b480c0b6719c2975c7fda2fd754568c58b06 100644 (file)
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2014, 2015 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.Map;
@@ -11,8 +19,10 @@ import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
 
-final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChangeEvent<P,D> {
+@Deprecated
+public final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChangeEvent<P,D> {
 
     private final D updatedOperationalSubtree;
     private final Map<P, D> updatedOperational;
@@ -28,7 +38,7 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
     private final Map<P, D> createdConfiguration;
 
 
-    public ImmutableDataChangeEvent(Builder<P, D> builder) {
+    private ImmutableDataChangeEvent(final Builder<P, D> builder) {
 
         createdConfiguration = builder.getCreatedConfiguration().build();
         createdOperational = builder.getCreatedOperational().build();
@@ -95,11 +105,11 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
         return updatedOperationalSubtree;
     }
 
-    static final <P extends Path<P>,D> Builder<P, D> builder() {
+    public static final <P extends Path<P>,D> Builder<P, D> builder() {
         return new Builder<>();
     }
 
-    static final class Builder<P extends Path<P>,D> {
+    public static final class Builder<P extends Path<P>,D> {
 
         private  D updatedOperationalSubtree;
         private  D originalOperationalSubtree;
@@ -117,17 +127,22 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
         private final ImmutableMap.Builder<P, D> createdConfiguration = ImmutableMap.builder();
 
 
-        protected Builder<P,D> addTransaction(DataModification<P, D> data, Predicate<P> keyFilter) {
+
+
+
+        protected Builder<P,D> addTransaction(final DataModification<P, D> data, final Predicate<P> keyFilter) {
             updatedOperational.putAll(Maps.filterKeys(data.getUpdatedOperationalData(), keyFilter));
             updatedConfiguration.putAll(Maps.filterKeys(data.getUpdatedConfigurationData(), keyFilter));
             originalConfiguration.putAll(Maps.filterKeys(data.getOriginalConfigurationData(), keyFilter));
             originalOperational.putAll(Maps.filterKeys(data.getOriginalOperationalData(), keyFilter));
             createdOperational.putAll(Maps.filterKeys(data.getCreatedOperationalData(), keyFilter));
             createdConfiguration.putAll(Maps.filterKeys(data.getCreatedConfigurationData(), keyFilter));
+            removedOperational.addAll(Sets.filter(data.getRemovedOperationalData(), keyFilter));
+            removedConfiguration.addAll(Sets.filter(data.getRemovedConfigurationData(), keyFilter));
             return this;
         }
 
-        protected Builder<P, D> addConfigurationChangeSet(RootedChangeSet<P, D> changeSet) {
+        protected Builder<P, D> addConfigurationChangeSet(final RootedChangeSet<P, D> changeSet) {
             if(changeSet == null) {
                 return this;
             }
@@ -139,7 +154,7 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
             return this;
         }
 
-        protected Builder<P, D> addOperationalChangeSet(RootedChangeSet<P, D> changeSet) {
+        protected Builder<P, D> addOperationalChangeSet(final RootedChangeSet<P, D> changeSet) {
             if(changeSet == null) {
                 return this;
             }
@@ -150,7 +165,7 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
             return this;
         }
 
-        protected ImmutableDataChangeEvent<P, D> build() {
+        public ImmutableDataChangeEvent<P, D> build() {
             return new ImmutableDataChangeEvent<P,D>(this);
         }
 
@@ -158,7 +173,7 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
             return updatedOperationalSubtree;
         }
 
-        protected Builder<P, D> setUpdatedOperationalSubtree(D updatedOperationalSubtree) {
+        public Builder<P, D> setUpdatedOperationalSubtree(final D updatedOperationalSubtree) {
             this.updatedOperationalSubtree = updatedOperationalSubtree;
             return this;
         }
@@ -167,7 +182,7 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
             return originalOperationalSubtree;
         }
 
-        protected Builder<P,D> setOriginalOperationalSubtree(D originalOperationalSubtree) {
+        public Builder<P,D> setOriginalOperationalSubtree(final D originalOperationalSubtree) {
             this.originalOperationalSubtree = originalOperationalSubtree;
             return this;
         }
@@ -176,7 +191,7 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
             return originalConfigurationSubtree;
         }
 
-        protected Builder<P, D> setOriginalConfigurationSubtree(D originalConfigurationSubtree) {
+        public Builder<P, D> setOriginalConfigurationSubtree(final D originalConfigurationSubtree) {
             this.originalConfigurationSubtree = originalConfigurationSubtree;
             return this;
         }
@@ -185,7 +200,7 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
             return updatedConfigurationSubtree;
         }
 
-        protected Builder<P,D> setUpdatedConfigurationSubtree(D updatedConfigurationSubtree) {
+        public Builder<P,D> setUpdatedConfigurationSubtree(final D updatedConfigurationSubtree) {
             this.updatedConfigurationSubtree = updatedConfigurationSubtree;
             return this;
         }
@@ -221,6 +236,26 @@ final class ImmutableDataChangeEvent<P extends Path<P>, D> implements DataChange
         protected ImmutableMap.Builder<P, D> getCreatedConfiguration() {
             return createdConfiguration;
         }
+
+        public Builder<P,D> putOriginalOperational(final Map<? extends P, ? extends D> originalData) {
+            originalOperational.putAll(originalData);
+            return this;
+        }
+
+        public Builder<P,D> putCreatedOperational(final Map<? extends P, ? extends D> originalData) {
+            createdOperational.putAll(originalData);
+            return this;
+        }
+
+        public Builder<P,D> putUpdatedOperational(final Map<? extends P, ? extends D> originalData) {
+            updatedOperational.putAll(originalData);
+            return this;
+        }
+
+        public Builder<P,D> putRemovedOperational(final Set<? extends P> originalData) {
+            removedOperational.addAll(originalData);
+            return this;
+        }
     }
 
 }