X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fmodification%2FMutableCompositeModification.java;h=f2a8c00d19035120b8bcac7b522d3d97465cd29e;hb=a3cecfd01d0ef8922530924e3ee9684eb03ee5d6;hp=6372b21befbb02cd81f30658c8f67f64fcc59a1e;hpb=0ed60f58d8a8d73544df74f5bb4f93c13cd3ca7d;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModification.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModification.java index 6372b21bef..f2a8c00d19 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModification.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/modification/MutableCompositeModification.java @@ -13,6 +13,7 @@ import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import org.opendaylight.controller.cluster.datastore.DataStoreVersions; import org.opendaylight.controller.cluster.datastore.messages.VersionedExternalizableMessage; @@ -29,6 +30,7 @@ public class MutableCompositeModification extends VersionedExternalizableMessage private static final long serialVersionUID = 1L; private final List modifications = new ArrayList<>(); + private List immutableModifications = null; public MutableCompositeModification() { this(DataStoreVersions.CURRENT_VERSION); @@ -63,12 +65,23 @@ public class MutableCompositeModification extends VersionedExternalizableMessage * @param modification the modification to add. */ public void addModification(Modification modification) { + Preconditions.checkNotNull(modification); modifications.add(modification); } + public void addModifications(Iterable newMods) { + for (Modification mod : newMods) { + addModification(mod); + } + } + @Override public List getModifications() { - return modifications; + if (immutableModifications == null) { + immutableModifications = Collections.unmodifiableList(modifications); + } + + return immutableModifications; } @Override