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;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
-import org.opendaylight.controller.cluster.datastore.utils.SerializationUtils;
-import org.opendaylight.controller.sal.core.spi.data.DOMStoreWriteTransaction;
+import org.opendaylight.controller.cluster.datastore.node.utils.stream.SerializationUtils;
+import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
/**
private static final long serialVersionUID = 1L;
private final List<Modification> modifications = new ArrayList<>();
+ private List<Modification> immutableModifications = null;
public MutableCompositeModification() {
this(DataStoreVersions.CURRENT_VERSION);
* @param modification the modification to add.
*/
public void addModification(Modification modification) {
+ Preconditions.checkNotNull(modification);
modifications.add(modification);
}
+ public void addModifications(Iterable<Modification> newMods) {
+ for (Modification mod : newMods) {
+ addModification(mod);
+ }
+ }
+
@Override
public List<Modification> getModifications() {
- return modifications;
+ if (immutableModifications == null) {
+ immutableModifications = Collections.unmodifiableList(modifications);
+ }
+
+ return immutableModifications;
}
@Override
int size = in.readInt();
if (size > 1) {
- SerializationUtils.REUSABLE_READER_TL.set(new NormalizedNodeInputStreamReader(in));
+ SerializationUtils.REUSABLE_READER_TL.set(NormalizedNodeInputOutput.newDataInputWithoutValidation(in));
}
try {