List of usage examples for org.apache.commons.lang SerializationUtils clone
public static Object clone(Serializable object)
Deep clone an Object
using serialization.
This is many times slower than writing clone methods by hand on all objects in your object graph.
From source file:org.opendaylight.controller.cluster.datastore.messages.CreateTransactionReplyTest.java
@Test public void testSerialization() { CreateTransactionReply expected = new CreateTransactionReply("txPath", nextTransactionId(), DataStoreVersions.CURRENT_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", CreateTransactionReply.class, serialized.getClass()); CreateTransactionReply actual = CreateTransactionReply .fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("getTransactionId", expected.getTransactionId(), actual.getTransactionId()); assertEquals("getTransactionPath", expected.getTransactionPath(), actual.getTransactionPath()); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.CreateTransactionTest.java
@Test public void testSerialization() { CreateTransaction expected = new CreateTransaction(nextTransactionId(), 2, DataStoreVersions.CURRENT_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", CreateTransaction.class, serialized.getClass()); CreateTransaction actual = CreateTransaction .fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("getTransactionId", expected.getTransactionId(), actual.getTransactionId()); assertEquals("getTransactionType", expected.getTransactionType(), actual.getTransactionType()); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.CreateTransactionTest.java
@Test public void testSerializationWithNewerVersion() { short newerVersion = DataStoreVersions.CURRENT_VERSION + (short) 1; CreateTransaction expected = new CreateTransaction(nextTransactionId(), 2, newerVersion); Object serialized = expected.toSerializable(); assertEquals("Serialized type", CreateTransaction.class, serialized.getClass()); CreateTransaction actual = CreateTransaction .fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("getTransactionId", expected.getTransactionId(), actual.getTransactionId()); assertEquals("getTransactionType", expected.getTransactionType(), actual.getTransactionType()); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.DataChangedTest.java
@Test public void testSerialization() { DOMImmutableDataChangeEvent change = DOMImmutableDataChangeEvent.builder(DataChangeScope.SUBTREE) .addCreated(TestModel.TEST_PATH, ImmutableContainerNodeBuilder.create() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TestModel.TEST_QNAME)) .withChild(ImmutableNodes.leafNode(TestModel.DESC_QNAME, "foo")).build()) .addUpdated(TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME), ImmutableContainerNodeBuilder.create() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TestModel.TEST_QNAME)) .withChild(ImmutableNodes.leafNode(TestModel.NAME_QNAME, "bar")).build()) .addRemoved(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build()) .setBefore(ImmutableNodes.containerNode(TestModel.TEST_QNAME)) .setAfter(ImmutableContainerNodeBuilder.create() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TestModel.TEST_QNAME)) .withChild(ImmutableNodes.leafNode(TestModel.DESC_QNAME, "foo")) .withChild(ImmutableNodes.leafNode(TestModel.NAME_QNAME, "bar")).build()) .build();// w w w .j av a2 s . c om DataChanged expected = new DataChanged(change); DataChanged actual = (DataChanged) SerializationUtils.clone(expected); assertEquals("getCreatedData", change.getCreatedData(), actual.getChange().getCreatedData()); assertEquals("getOriginalData", change.getOriginalData(), actual.getChange().getOriginalData()); assertEquals("getOriginalSubtree", change.getOriginalSubtree(), actual.getChange().getOriginalSubtree()); assertEquals("getRemovedPaths", change.getRemovedPaths(), actual.getChange().getRemovedPaths()); assertEquals("getUpdatedData", change.getUpdatedData(), actual.getChange().getUpdatedData()); assertEquals("getUpdatedSubtree", change.getUpdatedSubtree(), actual.getChange().getUpdatedSubtree()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.DataExistsReplyTest.java
@Test public void testSerialization() { DataExistsReply expected = new DataExistsReply(true, DataStoreVersions.CURRENT_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", DataExistsReply.class, serialized.getClass()); DataExistsReply actual = DataExistsReply .fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("exists", expected.exists(), actual.exists()); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.DataExistsTest.java
@Test public void testSerialization() { DataExists expected = new DataExists(TestModel.TEST_PATH, DataStoreVersions.CURRENT_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", DataExists.class, serialized.getClass()); DataExists actual = DataExists.fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("getPath", expected.getPath(), actual.getPath()); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.DeleteDataTest.java
@Test public void testSerialization() { YangInstanceIdentifier path = TestModel.TEST_PATH; DeleteData expected = new DeleteData(path, DataStoreVersions.CURRENT_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", DeleteData.class, serialized.getClass()); assertEquals("Version", DataStoreVersions.CURRENT_VERSION, ((DeleteData) serialized).getVersion()); Object clone = SerializationUtils.clone((Serializable) serialized); DeleteData actual = DeleteData.fromSerializable(clone); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); assertEquals("getPath", expected.getPath(), actual.getPath()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.DeleteDataTest.java
/** * Tests backwards compatible serialization/deserialization of a DeleteData message with the * base and R1 Helium versions, which used the protobuff DeleteData message. *//*from w w w . j a v a2 s . c o m*/ @Test public void testSerializationWithHeliumR1Version() throws Exception { YangInstanceIdentifier path = TestModel.TEST_PATH; DeleteData expected = new DeleteData(path, DataStoreVersions.HELIUM_1_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", ShardTransactionMessages.DeleteData.class, serialized.getClass()); DeleteData actual = DeleteData.fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("getPath", expected.getPath(), actual.getPath()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.ReadDataReplyTest.java
@Test public void testSerialization() { NormalizedNode<?, ?> data = ImmutableContainerNodeBuilder.create() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TestModel.TEST_QNAME)) .withChild(ImmutableNodes.leafNode(TestModel.DESC_QNAME, "foo")).build(); ReadDataReply expected = new ReadDataReply(data, DataStoreVersions.CURRENT_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", ReadDataReply.class, serialized.getClass()); ReadDataReply actual = ReadDataReply.fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); assertEquals("getNormalizedNode", expected.getNormalizedNode(), actual.getNormalizedNode()); }
From source file:org.opendaylight.controller.cluster.datastore.messages.ReadDataTest.java
@Test public void testSerialization() { ReadData expected = new ReadData(TestModel.TEST_PATH, DataStoreVersions.CURRENT_VERSION); Object serialized = expected.toSerializable(); assertEquals("Serialized type", ReadData.class, serialized.getClass()); ReadData actual = ReadData.fromSerializable(SerializationUtils.clone((Serializable) serialized)); assertEquals("getPath", expected.getPath(), actual.getPath()); assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion()); }