+++ /dev/null
-/*
- * Copyright (c) 2015 Brocade Communications Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.cluster.datastore.messages;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.ArrayList;
-import java.util.List;
-import org.opendaylight.controller.cluster.datastore.persisted.ShardDataTreeSnapshot;
-import org.opendaylight.controller.cluster.datastore.persisted.ShardManagerSnapshot;
-import org.opendaylight.controller.cluster.datastore.persisted.ShardSnapshotState;
-import org.opendaylight.controller.cluster.raft.Snapshot;
-import org.opendaylight.controller.cluster.raft.persisted.EmptyState;
-
-/**
- * Stores a list of DatastoreSnapshot instances.
- *
- * @deprecated Use {@link org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshotList} instead.
- */
-@Deprecated
-public class DatastoreSnapshotList extends ArrayList<DatastoreSnapshot> {
- private static final long serialVersionUID = 1L;
-
- public DatastoreSnapshotList() {
- }
-
- public DatastoreSnapshotList(List<DatastoreSnapshot> snapshots) {
- super(snapshots);
- }
-
- private Object readResolve() throws IOException, ClassNotFoundException {
- List<org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot> snapshots =
- new ArrayList<>(size());
- for (DatastoreSnapshot legacy: this) {
- snapshots.add(new org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot(
- legacy.getType(), deserializeShardManagerSnapshot(legacy.getShardManagerSnapshot()),
- fromLegacy(legacy.getShardSnapshots())));
- }
-
- return new org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshotList(snapshots);
- }
-
- private static org.opendaylight.controller.cluster.datastore.persisted.ShardManagerSnapshot
- deserializeShardManagerSnapshot(byte [] bytes) throws IOException, ClassNotFoundException {
- if (bytes == null) {
- return null;
- }
-
- try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
- return (ShardManagerSnapshot) ois.readObject();
- }
- }
-
- private static List<org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot.ShardSnapshot>
- fromLegacy(List<DatastoreSnapshot.ShardSnapshot> from) throws IOException, ClassNotFoundException {
- List<org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot.ShardSnapshot> snapshots =
- new ArrayList<>(from.size());
- for (DatastoreSnapshot.ShardSnapshot legacy: from) {
- snapshots.add(new org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot.ShardSnapshot(
- legacy.getName(), deserializeShardSnapshot(legacy.getSnapshot())));
- }
-
- return snapshots;
- }
-
- private static org.opendaylight.controller.cluster.raft.persisted.Snapshot deserializeShardSnapshot(byte[] bytes)
- throws IOException, ClassNotFoundException {
- try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
- Snapshot legacy = (Snapshot) ois.readObject();
-
- org.opendaylight.controller.cluster.raft.persisted.Snapshot.State state = EmptyState.INSTANCE;
- if (legacy.getState().length > 0) {
- state = new ShardSnapshotState(ShardDataTreeSnapshot.deserializePreCarbon(legacy.getState()));
- }
-
- return org.opendaylight.controller.cluster.raft.persisted.Snapshot.create(
- state, legacy.getUnAppliedEntries(), legacy.getLastIndex(),
- legacy.getLastTerm(), legacy.getLastAppliedIndex(), legacy.getLastAppliedTerm(),
- legacy.getElectionTerm(), legacy.getElectionVotedFor(), legacy.getServerConfiguration());
- }
- }
-}