List of usage examples for org.apache.commons.lang3 SerializationUtils deserialize
public static <T> T deserialize(final byte[] objectData)
Deserializes a single Object from an array of bytes.
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); }