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.AbortTransactionTest.java

@Test
public void testSerialization() {
    AbortTransaction expected = new AbortTransaction(
            MockIdentifiers.transactionIdentifier(AbortTransactionTest.class, "mock"),
            DataStoreVersions.CURRENT_VERSION);

    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", AbortTransaction.class, serialized.getClass());

    AbortTransaction actual = AbortTransaction
            .fromSerializable(SerializationUtils.clone((Serializable) serialized));
    assertEquals("getTransactionID", expected.getTransactionID(), actual.getTransactionID());
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.BatchedModificationsTest.java

@Test
public void testSerialization() {
    YangInstanceIdentifier writePath = TestModel.TEST_PATH;
    NormalizedNode<?, ?> writeData = ImmutableContainerNodeBuilder.create()
            .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TestModel.TEST_QNAME))
            .withChild(ImmutableNodes.leafNode(TestModel.DESC_QNAME, "foo")).build();

    YangInstanceIdentifier mergePath = TestModel.OUTER_LIST_PATH;
    NormalizedNode<?, ?> mergeData = ImmutableContainerNodeBuilder.create()
            .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TestModel.OUTER_LIST_QNAME)).build();

    YangInstanceIdentifier deletePath = TestModel.TEST_PATH;

    final TransactionIdentifier tx1 = nextTransactionId();
    BatchedModifications batched = new BatchedModifications(tx1, DataStoreVersions.CURRENT_VERSION);
    batched.addModification(new WriteModification(writePath, writeData));
    batched.addModification(new MergeModification(mergePath, mergeData));
    batched.addModification(new DeleteModification(deletePath));
    batched.setReady(true);/*w w w  .ja v a2s  . co  m*/
    batched.setTotalMessagesSent(5);

    BatchedModifications clone = (BatchedModifications) SerializationUtils
            .clone((Serializable) batched.toSerializable());

    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, clone.getVersion());
    assertEquals("getTransactionID", tx1, clone.getTransactionID());
    assertEquals("isReady", true, clone.isReady());
    assertEquals("getTotalMessagesSent", 5, clone.getTotalMessagesSent());

    assertEquals("getModifications size", 3, clone.getModifications().size());

    WriteModification write = (WriteModification) clone.getModifications().get(0);
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, write.getVersion());
    assertEquals("getPath", writePath, write.getPath());
    assertEquals("getData", writeData, write.getData());

    MergeModification merge = (MergeModification) clone.getModifications().get(1);
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, merge.getVersion());
    assertEquals("getPath", mergePath, merge.getPath());
    assertEquals("getData", mergeData, merge.getData());

    DeleteModification delete = (DeleteModification) clone.getModifications().get(2);
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, delete.getVersion());
    assertEquals("getPath", deletePath, delete.getPath());

    // Test with different params.
    final TransactionIdentifier tx2 = nextTransactionId();
    batched = new BatchedModifications(tx2, (short) 10000);

    clone = (BatchedModifications) SerializationUtils.clone((Serializable) batched.toSerializable());

    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, clone.getVersion());
    assertEquals("getTransactionID", tx2, clone.getTransactionID());
    assertEquals("isReady", false, clone.isReady());

    assertEquals("getModifications size", 0, clone.getModifications().size());

}

From source file:org.opendaylight.controller.cluster.datastore.messages.BatchedModificationsTest.java

@Test
public void testBatchedModificationsReplySerialization() {
    BatchedModificationsReply clone = (BatchedModificationsReply) SerializationUtils
            .clone((Serializable) new BatchedModificationsReply(100).toSerializable());
    assertEquals("getNumBatched", 100, clone.getNumBatched());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.CanCommitTransactionReplyTest.java

private static void testSerialization(CanCommitTransactionReply expected, Class<?> expSerialized) {
    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", expSerialized, serialized.getClass());

    CanCommitTransactionReply actual = CanCommitTransactionReply
            .fromSerializable(SerializationUtils.clone((Serializable) serialized));
    assertEquals("getCanCommit", expected.getCanCommit(), actual.getCanCommit());
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.CanCommitTransactionTest.java

@Test
public void testSerialization() {
    CanCommitTransaction expected = new CanCommitTransaction(nextTransactionId(),
            DataStoreVersions.CURRENT_VERSION);

    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", CanCommitTransaction.class, serialized.getClass());

    CanCommitTransaction actual = CanCommitTransaction
            .fromSerializable(SerializationUtils.clone((Serializable) serialized));
    assertEquals("getTransactionID", expected.getTransactionID(), actual.getTransactionID());
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.CloseTransactionChainTest.java

@Test
public void testSerialization() {
    CloseTransactionChain expected = new CloseTransactionChain(nextHistoryId(),
            DataStoreVersions.CURRENT_VERSION);

    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", CloseTransactionChain.class, serialized.getClass());

    CloseTransactionChain actual = CloseTransactionChain
            .fromSerializable(SerializationUtils.clone((Serializable) serialized));
    assertEquals("getIdentifier", expected.getIdentifier(), actual.getIdentifier());
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.CloseTransactionTest.java

@Test
public void testCloseTransactionSerialization() {
    CloseTransaction expected = new CloseTransaction(DataStoreVersions.CURRENT_VERSION);

    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", CloseTransaction.class, serialized.getClass());

    CloseTransaction actual = (CloseTransaction) SerializationUtils.clone((Serializable) serialized);
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.CloseTransactionTest.java

@Test
public void testCloseTransactionReplySerialization() {
    CloseTransactionReply expected = new CloseTransactionReply();

    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", CloseTransactionReply.class, serialized.getClass());

    CloseTransactionReply actual = (CloseTransactionReply) SerializationUtils.clone((Serializable) serialized);
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.CommitTransactionReplyTest.java

@Test
public void testSerialization() {
    CommitTransactionReply expected = CommitTransactionReply.instance(DataStoreVersions.CURRENT_VERSION);

    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", CommitTransactionReply.class, serialized.getClass());

    CommitTransactionReply actual = (CommitTransactionReply) SerializationUtils
            .clone((Serializable) serialized);
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}

From source file:org.opendaylight.controller.cluster.datastore.messages.CommitTransactionTest.java

@Test
public void testSerialization() {
    CommitTransaction expected = new CommitTransaction(nextTransactionId(), DataStoreVersions.CURRENT_VERSION);

    Object serialized = expected.toSerializable();
    assertEquals("Serialized type", CommitTransaction.class, serialized.getClass());

    CommitTransaction actual = CommitTransaction
            .fromSerializable(SerializationUtils.clone((Serializable) serialized));
    assertEquals("getTransactionID", expected.getTransactionID(), actual.getTransactionID());
    assertEquals("getVersion", DataStoreVersions.CURRENT_VERSION, actual.getVersion());
}