From 79a91220f6d95be715f0da48832ad34c9ada48c4 Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Sat, 19 Mar 2016 09:09:19 +0000 Subject: [PATCH] Fix possible NPE - Relates to #182 --- .../persist/AbstractStateMachinePersister.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java index b7ef5f71..a9a6dd57 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java @@ -120,9 +120,12 @@ public abstract class AbstractStateMachinePersister implements StateMac for (State ss : states) { if (ss.isSubmachineState()) { StateMachine submachine = ((AbstractState) ss).getSubmachine(); - PseudoState hh = ((AbstractStateMachine) submachine).getHistoryState(); - if (hh != null) { - historyStates.put(ss.getId(), ((HistoryPseudoState)hh).getState().getId()); + PseudoState ps = ((AbstractStateMachine) submachine).getHistoryState(); + if (ps != null) { + State pss = ((HistoryPseudoState)ps).getState(); + if (pss != null) { + historyStates.put(ss.getId(), pss.getId()); + } } } }