*/
package org.opendaylight.controller.cluster.datastore;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
*
* @author Thomas Pantelis
*/
-public class DatastoreSnapshotRestore {
+public final class DatastoreSnapshotRestore {
private static final Logger LOG = LoggerFactory.getLogger(DatastoreSnapshotRestore.class);
private static AtomicReference<DatastoreSnapshotRestore> instance = new AtomicReference<>();
private final String restoreDirectoryPath;
private final Map<String, DatastoreSnapshot> datastoreSnapshots = new ConcurrentHashMap<>();
- public static DatastoreSnapshotRestore instance(String restoreDirectoryPath) {
+ public static DatastoreSnapshotRestore instance(final String restoreDirectoryPath) {
instance.compareAndSet(null, new DatastoreSnapshotRestore(restoreDirectoryPath));
return instance.get();
}
- private DatastoreSnapshotRestore(String restoreDirectoryPath) {
- this.restoreDirectoryPath = Preconditions.checkNotNull(restoreDirectoryPath);
+ private DatastoreSnapshotRestore(final String restoreDirectoryPath) {
+ this.restoreDirectoryPath = requireNonNull(restoreDirectoryPath);
}
// synchronize this method so that, in case of concurrent access to getAndRemove(),
}
}
- private static DatastoreSnapshotList deserialize(InputStream inputStream)
+ private static DatastoreSnapshotList deserialize(final InputStream inputStream)
throws IOException, ClassNotFoundException {
try (ObjectInputStream ois = new ObjectInputStream(inputStream)) {
return (DatastoreSnapshotList) ois.readObject();
}
}
- public DatastoreSnapshot getAndRemove(String datastoreType) {
+ public DatastoreSnapshot getAndRemove(final String datastoreType) {
initialize();
return datastoreSnapshots.remove(datastoreType);
}