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%2Fmessages%2FModifyData.java;h=bbd090f9291ccde682b33a46e748e6f618352754;hb=ff0ca2ab34a016be25fc13fc05bfbd6aa698cee0;hp=b5c39d1c3fa630a674efb1302d3441f8dd8403ed;hpb=11e9ade9af527aba7faeb633d3c9c7552fd09d2d;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ModifyData.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ModifyData.java index b5c39d1c3f..bbd090f929 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ModifyData.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ModifyData.java @@ -8,25 +8,31 @@ package org.opendaylight.controller.cluster.datastore.messages; -import com.google.common.base.Preconditions; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import org.opendaylight.controller.cluster.datastore.utils.SerializationUtils; +import org.opendaylight.controller.cluster.datastore.utils.SerializationUtils.Applier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -public abstract class ModifyData implements SerializableMessage { - protected final YangInstanceIdentifier path; - protected final NormalizedNode data; - protected final SchemaContext schemaContext; +/** + * @deprecated Replaced by BatchedModifications. + */ +@Deprecated +public abstract class ModifyData extends VersionedExternalizableMessage { + private static final long serialVersionUID = 1L; - public ModifyData(YangInstanceIdentifier path, NormalizedNode data, - SchemaContext context) { - Preconditions.checkNotNull(context, - "Cannot serialize an object which does not have a schema schemaContext"); + private YangInstanceIdentifier path; + private NormalizedNode data; + protected ModifyData() { + } + protected ModifyData(YangInstanceIdentifier path, NormalizedNode data, short version) { + super(version); this.path = path; this.data = data; - this.schemaContext = context; } public YangInstanceIdentifier getPath() { @@ -37,4 +43,23 @@ public abstract class ModifyData implements SerializableMessage { return data; } + @Override + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { + super.readExternal(in); + SerializationUtils.deserializePathAndNode(in, this, APPLIER); + } + + @Override + public void writeExternal(ObjectOutput out) throws IOException { + super.writeExternal(out); + SerializationUtils.serializePathAndNode(path, data, out); + } + + private static final Applier APPLIER = new Applier() { + @Override + public void apply(ModifyData instance, YangInstanceIdentifier path, NormalizedNode data) { + instance.path = path; + instance.data = data; + } + }; }