Example usage for org.apache.commons.lang SerializationUtils clone

List of usage examples for org.apache.commons.lang SerializationUtils clone

Introduction

In this page you can find the example usage for org.apache.commons.lang SerializationUtils clone.

Prototype

public static Object clone(Serializable object) 

Source Link

Document

Deep clone an Object using serialization.

This is many times slower than writing clone methods by hand on all objects in your object graph.

Usage

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());
}