Example usage for org.apache.commons.lang3 SerializationUtils deserialize

List of usage examples for org.apache.commons.lang3 SerializationUtils deserialize

Introduction

In this page you can find the example usage for org.apache.commons.lang3 SerializationUtils deserialize.

Prototype

public static <T> T deserialize(final byte[] objectData) 

Source Link

Document

Deserializes a single Object from an array of bytes.

Usage

From source file:org.opendaylight.controller.cluster.datastore.shardmanager.ShardManagerTest.java

@Test
public void testGetSnapshot() throws Throwable {
    LOG.info("testGetSnapshot starting");
    JavaTestKit kit = new JavaTestKit(getSystem());

    MockConfiguration mockConfig = new MockConfiguration(ImmutableMap.<String, List<String>>builder()
            .put("shard1", Arrays.asList("member-1")).put("shard2", Arrays.asList("member-1"))
            .put("astronauts", Collections.<String>emptyList()).build());

    TestActorRef<TestShardManager> shardManager = actorFactory
            .createTestActor(newShardMgrProps(mockConfig).withDispatcher(Dispatchers.DefaultDispatcherId()));

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());
    Failure failure = kit.expectMsgClass(Failure.class);
    assertEquals("Failure cause type", IllegalStateException.class, failure.cause().getClass());

    shardManager.tell(new UpdateSchemaContext(TestModel.createTestContext()), ActorRef.noSender());

    waitForShardInitialized(shardManager, "shard1", kit);
    waitForShardInitialized(shardManager, "shard2", kit);

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());

    DatastoreSnapshot datastoreSnapshot = expectMsgClassOrFailure(DatastoreSnapshot.class, kit, "GetSnapshot");

    assertEquals("getType", shardMrgIDSuffix, datastoreSnapshot.getType());
    assertNull("Expected null ShardManagerSnapshot", datastoreSnapshot.getShardManagerSnapshot());

    Function<ShardSnapshot, String> shardNameTransformer = s -> s.getName();

    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2"),
            Sets.newHashSet(Lists.transform(datastoreSnapshot.getShardSnapshots(), shardNameTransformer)));

    // Add a new replica

    JavaTestKit mockShardLeaderKit = new JavaTestKit(getSystem());

    TestShardManager shardManagerInstance = shardManager.underlyingActor();
    shardManagerInstance.setMessageInterceptor(newFindPrimaryInterceptor(mockShardLeaderKit.getRef()));

    shardManager.tell(new AddShardReplica("astronauts"), kit.getRef());
    mockShardLeaderKit.expectMsgClass(AddServer.class);
    mockShardLeaderKit.reply(new AddServerReply(ServerChangeStatus.OK, ""));
    kit.expectMsgClass(Status.Success.class);
    waitForShardInitialized(shardManager, "astronauts", kit);

    // Send another GetSnapshot and verify

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());
    datastoreSnapshot = expectMsgClassOrFailure(DatastoreSnapshot.class, kit, "GetSnapshot");

    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"),
            Sets.newHashSet(Lists.transform(datastoreSnapshot.getShardSnapshots(), shardNameTransformer)));

    byte[] snapshotBytes = datastoreSnapshot.getShardManagerSnapshot();
    assertNotNull("Expected ShardManagerSnapshot", snapshotBytes);
    ShardManagerSnapshot snapshot = SerializationUtils.deserialize(snapshotBytes);
    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"),
            Sets.newHashSet(snapshot.getShardList()));

    LOG.info("testGetSnapshot ending");
}

From source file:org.opendaylight.controller.cluster.datastore.shardmanager.ShardManagerTest.java

@Test
public void testRestoreFromSnapshot() throws Throwable {
    LOG.info("testRestoreFromSnapshot starting");

    datastoreContextBuilder.shardInitializationTimeout(3, TimeUnit.SECONDS);

    JavaTestKit kit = new JavaTestKit(getSystem());

    MockConfiguration mockConfig = new MockConfiguration(ImmutableMap.<String, List<String>>builder()
            .put("shard1", Collections.<String>emptyList()).put("shard2", Collections.<String>emptyList())
            .put("astronauts", Collections.<String>emptyList()).build());

    ShardManagerSnapshot snapshot = new ShardManagerSnapshot(Arrays.asList("shard1", "shard2", "astronauts"));
    DatastoreSnapshot restoreFromSnapshot = new DatastoreSnapshot(shardMrgIDSuffix,
            SerializationUtils.serialize(snapshot), Collections.<ShardSnapshot>emptyList());
    TestActorRef<TestShardManager> shardManager = actorFactory
            .createTestActor(newTestShardMgrBuilder(mockConfig).restoreFromSnapshot(restoreFromSnapshot).props()
                    .withDispatcher(Dispatchers.DefaultDispatcherId()));

    shardManager.underlyingActor().waitForRecoveryComplete();

    shardManager.tell(new UpdateSchemaContext(TestModel.createTestContext()), ActorRef.noSender());

    waitForShardInitialized(shardManager, "shard1", kit);
    waitForShardInitialized(shardManager, "shard2", kit);
    waitForShardInitialized(shardManager, "astronauts", kit);

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());

    DatastoreSnapshot datastoreSnapshot = expectMsgClassOrFailure(DatastoreSnapshot.class, kit, "GetSnapshot");

    assertEquals("getType", shardMrgIDSuffix, datastoreSnapshot.getType());

    byte[] snapshotBytes = datastoreSnapshot.getShardManagerSnapshot();
    assertNotNull("Expected ShardManagerSnapshot", snapshotBytes);
    snapshot = SerializationUtils.deserialize(snapshotBytes);
    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"),
            Sets.newHashSet(snapshot.getShardList()));

    LOG.info("testRestoreFromSnapshot ending");
}

From source file:org.opendaylight.controller.cluster.datastore.ShardManagerTest.java

@Test
public void testGetSnapshot() throws Throwable {
    LOG.info("testGetSnapshot starting");
    JavaTestKit kit = new JavaTestKit(getSystem());

    MockConfiguration mockConfig = new MockConfiguration(ImmutableMap.<String, List<String>>builder()
            .put("shard1", Arrays.asList("member-1")).put("shard2", Arrays.asList("member-1"))
            .put("astronauts", Collections.<String>emptyList()).build());

    TestActorRef<TestShardManager> shardManager = actorFactory
            .createTestActor(newShardMgrProps(mockConfig).withDispatcher(Dispatchers.DefaultDispatcherId()));

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());
    Failure failure = kit.expectMsgClass(Failure.class);
    assertEquals("Failure cause type", IllegalStateException.class, failure.cause().getClass());

    shardManager.tell(new UpdateSchemaContext(TestModel.createTestContext()), ActorRef.noSender());

    waitForShardInitialized(shardManager, "shard1", kit);
    waitForShardInitialized(shardManager, "shard2", kit);

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());

    DatastoreSnapshot datastoreSnapshot = expectMsgClassOrFailure(DatastoreSnapshot.class, kit, "GetSnapshot");

    assertEquals("getType", shardMrgIDSuffix, datastoreSnapshot.getType());
    assertNull("Expected null ShardManagerSnapshot", datastoreSnapshot.getShardManagerSnapshot());

    Function<ShardSnapshot, String> shardNameTransformer = new Function<ShardSnapshot, String>() {
        @Override//from  w w  w. j  a v a2s . c  o  m
        public String apply(ShardSnapshot s) {
            return s.getName();
        }
    };

    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2"),
            Sets.newHashSet(Lists.transform(datastoreSnapshot.getShardSnapshots(), shardNameTransformer)));

    // Add a new replica

    JavaTestKit mockShardLeaderKit = new JavaTestKit(getSystem());

    TestShardManager shardManagerInstance = shardManager.underlyingActor();
    shardManagerInstance.setMessageInterceptor(newFindPrimaryInterceptor(mockShardLeaderKit.getRef()));

    shardManager.tell(new AddShardReplica("astronauts"), kit.getRef());
    mockShardLeaderKit.expectMsgClass(AddServer.class);
    mockShardLeaderKit.reply(new AddServerReply(ServerChangeStatus.OK, ""));
    kit.expectMsgClass(Status.Success.class);
    waitForShardInitialized(shardManager, "astronauts", kit);

    // Send another GetSnapshot and verify

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());
    datastoreSnapshot = expectMsgClassOrFailure(DatastoreSnapshot.class, kit, "GetSnapshot");

    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"),
            Sets.newHashSet(Lists.transform(datastoreSnapshot.getShardSnapshots(), shardNameTransformer)));

    byte[] snapshotBytes = datastoreSnapshot.getShardManagerSnapshot();
    assertNotNull("Expected ShardManagerSnapshot", snapshotBytes);
    ShardManagerSnapshot snapshot = SerializationUtils.deserialize(snapshotBytes);
    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"),
            Sets.newHashSet(snapshot.getShardList()));

    LOG.info("testGetSnapshot ending");
}

From source file:org.opendaylight.controller.cluster.datastore.ShardManagerTest.java

@Test
public void testRestoreFromSnapshot() throws Throwable {
    LOG.info("testRestoreFromSnapshot starting");

    JavaTestKit kit = new JavaTestKit(getSystem());

    MockConfiguration mockConfig = new MockConfiguration(ImmutableMap.<String, List<String>>builder()
            .put("shard1", Collections.<String>emptyList()).put("shard2", Collections.<String>emptyList())
            .put("astronauts", Collections.<String>emptyList()).build());

    ShardManagerSnapshot snapshot = new ShardManagerSnapshot(Arrays.asList("shard1", "shard2", "astronauts"));
    DatastoreSnapshot restoreFromSnapshot = new DatastoreSnapshot(shardMrgIDSuffix,
            SerializationUtils.serialize(snapshot), Collections.<ShardSnapshot>emptyList());
    TestActorRef<TestShardManager> shardManager = actorFactory
            .createTestActor(newTestShardMgrBuilder(mockConfig).restoreFromSnapshot(restoreFromSnapshot).props()
                    .withDispatcher(Dispatchers.DefaultDispatcherId()));

    shardManager.underlyingActor().waitForRecoveryComplete();

    shardManager.tell(new UpdateSchemaContext(TestModel.createTestContext()), ActorRef.noSender());

    waitForShardInitialized(shardManager, "shard1", kit);
    waitForShardInitialized(shardManager, "shard2", kit);
    waitForShardInitialized(shardManager, "astronauts", kit);

    shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());

    DatastoreSnapshot datastoreSnapshot = expectMsgClassOrFailure(DatastoreSnapshot.class, kit, "GetSnapshot");

    assertEquals("getType", shardMrgIDSuffix, datastoreSnapshot.getType());

    byte[] snapshotBytes = datastoreSnapshot.getShardManagerSnapshot();
    assertNotNull("Expected ShardManagerSnapshot", snapshotBytes);
    snapshot = SerializationUtils.deserialize(snapshotBytes);
    assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"),
            Sets.newHashSet(snapshot.getShardList()));

    LOG.info("testRestoreFromSnapshot ending");
}

From source file:org.opendaylight.controller.cluster.example.ExampleActor.java

@SuppressWarnings("unchecked")
@Override//from   ww  w.j a v a 2  s  .c om
public Snapshot.State deserializeSnapshot(ByteSource snapshotBytes) {
    try {
        return new MapState((Map<String, String>) SerializationUtils.deserialize(snapshotBytes.read()));
    } catch (IOException e) {
        throw Throwables.propagate(e);
    }
}

From source file:org.opendaylight.controller.cluster.raft.behaviors.SnapshotTrackerTest.java

@Test
public void testAddChunks() throws IOException {
    try (SnapshotTracker tracker = new SnapshotTracker(LOG, 3, "leader", mockContext)) {
        tracker.addChunk(1, chunk1, Optional.of(LeaderInstallSnapshotState.INITIAL_LAST_CHUNK_HASH_CODE));
        tracker.addChunk(2, chunk2, Optional.of(Arrays.hashCode(chunk1)));
        tracker.addChunk(3, chunk3, Optional.of(Arrays.hashCode(chunk2)));

        ByteSource snapshotBytes = tracker.getSnapshotBytes();
        assertEquals("Deserialized", data, SerializationUtils.deserialize(snapshotBytes.read()));
    }//from  w  ww  .  ja  v a 2s.  c  o  m

    verify(fbos).cleanup();
}

From source file:org.opendaylight.controller.cluster.raft.MockRaftActor.java

@Override
public Snapshot.State deserializeSnapshot(final ByteSource snapshotBytes) {
    try {//ww w .ja  v  a2 s . com
        return (Snapshot.State) SerializationUtils.deserialize(snapshotBytes.read());
    } catch (IOException e) {
        throw new RuntimeException("Error deserializing state", e);
    }
}

From source file:org.opendaylight.controller.cluster.raft.RaftActorTest.java

@Test
public void testGetSnapshot() throws Exception {
    TEST_LOG.info("testGetSnapshot starting");

    JavaTestKit kit = new JavaTestKit(getSystem());

    String persistenceId = factory.generateActorId("test-actor-");
    DefaultConfigParamsImpl config = new DefaultConfigParamsImpl();
    config.setCustomRaftPolicyImplementationClass(DisableElectionsRaftPolicy.class.getName());

    long term = 3;
    long seqN = 1;
    InMemoryJournal.addEntry(persistenceId, seqN++, new UpdateElectionTerm(term, "member-1"));
    InMemoryJournal.addEntry(persistenceId, seqN++, new MockRaftActorContext.MockReplicatedLogEntry(term, 0,
            new MockRaftActorContext.MockPayload("A")));
    InMemoryJournal.addEntry(persistenceId, seqN++, new MockRaftActorContext.MockReplicatedLogEntry(term, 1,
            new MockRaftActorContext.MockPayload("B")));
    InMemoryJournal.addEntry(persistenceId, seqN++, new ApplyJournalEntries(1));
    InMemoryJournal.addEntry(persistenceId, seqN++, new MockRaftActorContext.MockReplicatedLogEntry(term, 2,
            new MockRaftActorContext.MockPayload("C")));

    TestActorRef<MockRaftActor> raftActorRef = factory
            .createTestActor(MockRaftActor
                    .props(persistenceId,
                            ImmutableMap.<String, String>builder().put("member1", "address").build(), config)
                    .withDispatcher(Dispatchers.DefaultDispatcherId()), persistenceId);
    MockRaftActor mockRaftActor = raftActorRef.underlyingActor();

    mockRaftActor.waitForRecoveryComplete();

    mockRaftActor.snapshotCohortDelegate = mock(RaftActorSnapshotCohort.class);

    raftActorRef.tell(GetSnapshot.INSTANCE, kit.getRef());

    ArgumentCaptor<ActorRef> replyActor = ArgumentCaptor.forClass(ActorRef.class);
    verify(mockRaftActor.snapshotCohortDelegate, timeout(5000)).createSnapshot(replyActor.capture());

    byte[] stateSnapshot = new byte[] { 1, 2, 3 };
    replyActor.getValue().tell(new CaptureSnapshotReply(stateSnapshot), ActorRef.noSender());

    GetSnapshotReply reply = kit.expectMsgClass(GetSnapshotReply.class);

    assertEquals("getId", persistenceId, reply.getId());
    Snapshot replySnapshot = SerializationUtils.deserialize(reply.getSnapshot());
    assertEquals("getElectionTerm", term, replySnapshot.getElectionTerm());
    assertEquals("getElectionVotedFor", "member-1", replySnapshot.getElectionVotedFor());
    assertEquals("getLastAppliedIndex", 1L, replySnapshot.getLastAppliedIndex());
    assertEquals("getLastAppliedTerm", term, replySnapshot.getLastAppliedTerm());
    assertEquals("getLastIndex", 2L, replySnapshot.getLastIndex());
    assertEquals("getLastTerm", term, replySnapshot.getLastTerm());
    assertArrayEquals("getState", stateSnapshot, replySnapshot.getState());
    assertEquals("getUnAppliedEntries size", 1, replySnapshot.getUnAppliedEntries().size());
    assertEquals("UnApplied entry index ", 2L, replySnapshot.getUnAppliedEntries().get(0).getIndex());

    // Test with timeout

    mockRaftActor.getSnapshotMessageSupport()
            .setSnapshotReplyActorTimeout(Duration.create(200, TimeUnit.MILLISECONDS));
    reset(mockRaftActor.snapshotCohortDelegate);

    raftActorRef.tell(GetSnapshot.INSTANCE, kit.getRef());
    Failure failure = kit.expectMsgClass(akka.actor.Status.Failure.class);
    assertEquals("Failure cause type", TimeoutException.class, failure.cause().getClass());

    mockRaftActor.getSnapshotMessageSupport()
            .setSnapshotReplyActorTimeout(Duration.create(30, TimeUnit.SECONDS));

    // Test with persistence disabled.

    mockRaftActor.setPersistence(false);
    reset(mockRaftActor.snapshotCohortDelegate);

    raftActorRef.tell(GetSnapshot.INSTANCE, kit.getRef());
    reply = kit.expectMsgClass(GetSnapshotReply.class);
    verify(mockRaftActor.snapshotCohortDelegate, never()).createSnapshot(any(ActorRef.class));

    assertEquals("getId", persistenceId, reply.getId());
    replySnapshot = SerializationUtils.deserialize(reply.getSnapshot());
    assertEquals("getElectionTerm", term, replySnapshot.getElectionTerm());
    assertEquals("getElectionVotedFor", "member-1", replySnapshot.getElectionVotedFor());
    assertEquals("getLastAppliedIndex", -1L, replySnapshot.getLastAppliedIndex());
    assertEquals("getLastAppliedTerm", -1L, replySnapshot.getLastAppliedTerm());
    assertEquals("getLastIndex", -1L, replySnapshot.getLastIndex());
    assertEquals("getLastTerm", -1L, replySnapshot.getLastTerm());
    assertEquals("getState length", 0, replySnapshot.getState().length);
    assertEquals("getUnAppliedEntries size", 0, replySnapshot.getUnAppliedEntries().size());

    TEST_LOG.info("testGetSnapshot ending");
}

From source file:org.optaplanner.core.impl.testdata.util.PlannerTestUtils.java

public static <T> T serializeAndDeserializeWithJavaSerialization(T input) {
    byte[] bytes = SerializationUtils.serialize((Serializable) input);
    return (T) SerializationUtils.deserialize(bytes);
}

From source file:org.ow2.proactive.scheduler.core.db.JobContent.java

@Transient
public TaskFlowJob getInitJobContent() {
    try {//from  w  w w. jav a 2 s.  c  om
        byte[] deCompressed = ByteCompressionUtils.decompress(jobContentAsByteArray);
        return SerializationUtils.deserialize(deCompressed);
    } catch (Exception e) {
        LOGGER.error(e);
    }
    return SerializationUtils.deserialize(jobContentAsByteArray);
}