From a9d3c61911df12dfef480d07dc8f9227ffde0683 Mon Sep 17 00:00:00 2001 From: Xiqinger <163422483+Xiqinger@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:42:49 +0800 Subject: [PATCH] add null pointer check to avoid null pointer exception. --- src/main/java/org/lemsml/jlems/core/run/StateInstance.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/org/lemsml/jlems/core/run/StateInstance.java b/src/main/java/org/lemsml/jlems/core/run/StateInstance.java index 7595e156..a87ef92e 100644 --- a/src/main/java/org/lemsml/jlems/core/run/StateInstance.java +++ b/src/main/java/org/lemsml/jlems/core/run/StateInstance.java @@ -300,6 +300,9 @@ public void advance(StateRunnable parent, double t, double dt) throws RuntimeErr public void transitionTo(String rnm) throws RuntimeError { + if (regimeHM == null) { + throw new IllegalStateException("No Regimes."); + } activeRegime = regimeHM.get(rnm); activeRegime.enter(); } @@ -314,6 +317,9 @@ public void doneInit() { public void initRegime() throws RuntimeError { if (activeRegime == null) { + if (regimeHM == null || regimeHM.isEmpty()) { + throw new IllegalStateException("No Regimes."); + } activeRegime = regimeHM.get(regimeHM.keySet().iterator().next()); // TODO just picks random regime }