<type>pom</type>
<scope>import</scope>
</dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>mdsal-artifacts</artifactId>
+ <version>1.5.0-SNAPSHOT</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
</dependencies>
</dependencyManagement>
<artifactId>akka-testkit_2.11</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>sal-distributed-datastore</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataInput;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput;
+import org.opendaylight.controller.cluster.datastore.utils.SerializationUtils;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
/**
* Message which holds node data, prepared to sending between remote hosts with serialization.
@Override
public void writeExternal(final ObjectOutput out) throws IOException {
- final NormalizedNodeDataOutput dataOutput = NormalizedNodeInputOutput.newDataOutput(out);
- final NormalizedNodeWriter normalizedNodeWriter =
- NormalizedNodeWriter.forStreamWriter((NormalizedNodeStreamWriter) dataOutput);
-
- dataOutput.writeYangInstanceIdentifier(identifier);
-
- normalizedNodeWriter.write(node);
+ SerializationUtils.serializePathAndNode(getIdentifier(), node, out);
}
@Override
public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
- final NormalizedNodeDataInput dataInput = NormalizedNodeInputOutput.newDataInput(in);
-
- identifier = dataInput.readYangInstanceIdentifier();
- node = dataInput.readNormalizedNode();
+ SerializationUtils.deserializePathAndNode(in, this, APPLIER);
}
+
+ private static final SerializationUtils.Applier<NormalizedNodeMessage> APPLIER = (instance, path, node) -> {
+ instance.identifier = path;
+ instance.node = node;
+ };
}