From 37d0ddfb07e91ba80ca108428ae599a0710a5c9b Mon Sep 17 00:00:00 2001
From: Raphael Girardot <raphael.girardot@synchrotron-soleil.fr>
Date: Wed, 8 Mar 2017 15:02:38 +0000
Subject: [PATCH] NullPointerException avoided

---
 .../history/manager/XMLHistoryManager.java      | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/main/java/fr/soleil/bensikin/history/manager/XMLHistoryManager.java b/src/main/java/fr/soleil/bensikin/history/manager/XMLHistoryManager.java
index f7455d0..4998f06 100644
--- a/src/main/java/fr/soleil/bensikin/history/manager/XMLHistoryManager.java
+++ b/src/main/java/fr/soleil/bensikin/history/manager/XMLHistoryManager.java
@@ -128,8 +128,21 @@ public class XMLHistoryManager extends XMLDataManager<History, Map<String, Map<S
             // BEGIN OPEN CHAPTERS
             // Map selectedSnapshotChapter = (Map) snapshotsBook.get
             // ( History.SELECTED_SNAPSHOT_KEY );
-            List<?> selectedSnapshotsChapter = (List<?>) snapshotsBook.get(History.SELECTED_SNAPSHOTS_KEY);
-            List<?> openedSnapshotsChapter = (List<?>) snapshotsBook.get(History.OPENED_SNAPSHOTS_KEY);
+            List<?> selectedSnapshotsChapter;
+            List<?> openedSnapshotsChapter;
+            if (snapshotsBook == null) {
+                selectedSnapshotsChapter = null;
+                openedSnapshotsChapter = null;
+            } else {
+                selectedSnapshotsChapter = (List<?>) snapshotsBook.get(History.SELECTED_SNAPSHOTS_KEY);
+                openedSnapshotsChapter = (List<?>) snapshotsBook.get(History.OPENED_SNAPSHOTS_KEY);
+            }
+            if (selectedSnapshotsChapter == null) {
+                selectedSnapshotsChapter = new ArrayList<Object>();
+            }
+            if (openedSnapshotsChapter == null) {
+                openedSnapshotsChapter = new ArrayList<Object>();
+            }
             // END OPEN CHAPTERS
 
             // BEGIN OPEN PAGES
-- 
GitLab