From 559538d55e088f66e88c2c1ddf5c1917662e5e42 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Thu, 3 Dec 2020 02:18:33 +0100 Subject: [PATCH] refactoring... --- pom.xml | 2 +- src/main/java/de/srsoftware/web4rail/BaseClass.java | 7 ++++++- .../java/de/srsoftware/web4rail/actions/Action.java | 13 +++++++++++-- .../de/srsoftware/web4rail/actions/SetSignal.java | 7 ++----- .../de/srsoftware/web4rail/actions/SetSpeed.java | 6 ++---- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index b8e33e6..88a5fbc 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 1.2.5 + 1.2.6 Web4Rail jar Java Model Railway Control diff --git a/src/main/java/de/srsoftware/web4rail/BaseClass.java b/src/main/java/de/srsoftware/web4rail/BaseClass.java index 1284453..1ae7dbd 100644 --- a/src/main/java/de/srsoftware/web4rail/BaseClass.java +++ b/src/main/java/de/srsoftware/web4rail/BaseClass.java @@ -11,6 +11,8 @@ import java.util.Map; import java.util.Random; import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import de.keawe.tools.translations.Translation; import de.srsoftware.tools.Tag; @@ -37,6 +39,8 @@ public abstract class BaseClass implements Constants{ private static final char[] HEX_CHARS = "0123456789ABCDEF".toCharArray(); protected Id id = null; protected String notes; + + public static final Logger LOG = LoggerFactory.getLogger(BaseClass.class); private BaseClass parent; public static class Context { @@ -145,7 +149,7 @@ public abstract class BaseClass implements Constants{ } catch (InterruptedException e) { e.printStackTrace(); } - internalId = md5sum(new Date()); + internalId = ""+new Date().getTime(); } @@ -351,6 +355,7 @@ public abstract class BaseClass implements Constants{ } protected Object update(HashMap params) { + LOG.debug("update: {}",params); if (params.containsKey(NOTES)) notes = params.get(NOTES).trim(); return this; } diff --git a/src/main/java/de/srsoftware/web4rail/actions/Action.java b/src/main/java/de/srsoftware/web4rail/actions/Action.java index d3479ca..21de10b 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/Action.java +++ b/src/main/java/de/srsoftware/web4rail/actions/Action.java @@ -125,8 +125,17 @@ public abstract class Action extends BaseClass { public String toString() { return t(getClass().getSimpleName()); } - + + @Override protected Object update(HashMap params) { - return t("Nothing changed"); + super.update(params); + BaseClass parent = parent(); + if (isNull(parent)) return properties(); + if (parent instanceof ActionList) { + ActionList al = (ActionList) parent; + return al.parent().properties(); + } + return parent.properties(); + } } diff --git a/src/main/java/de/srsoftware/web4rail/actions/SetSignal.java b/src/main/java/de/srsoftware/web4rail/actions/SetSignal.java index 61ac807..f18d30b 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/SetSignal.java +++ b/src/main/java/de/srsoftware/web4rail/actions/SetSignal.java @@ -83,14 +83,11 @@ public class SetSignal extends Action { }; @Override - protected Object update(HashMap params) { - LOG.debug("update: {}",params); + public Object update(HashMap params) { Tile tile = plan.get(new Id(params.get(SIGNAL)), false); if (tile instanceof Signal) signal = (Signal) tile; String st = params.get(Signal.STATE); if (isSet(st)) state = st; - return properties(); + return super.update(params); } - - } diff --git a/src/main/java/de/srsoftware/web4rail/actions/SetSpeed.java b/src/main/java/de/srsoftware/web4rail/actions/SetSpeed.java index 926c756..72f2760 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/SetSpeed.java +++ b/src/main/java/de/srsoftware/web4rail/actions/SetSpeed.java @@ -5,7 +5,6 @@ import java.util.List; import org.json.JSONObject; -import de.srsoftware.tools.Tag; import de.srsoftware.web4rail.BaseClass; import de.srsoftware.web4rail.Window; import de.srsoftware.web4rail.tags.Fieldset; @@ -59,7 +58,6 @@ public class SetSpeed extends Action{ @Override protected Object update(HashMap params) { - LOG.debug("update: {}",params); String error = null; String ms = params.get(MAX_SPEED); if (ms == null) { @@ -76,7 +74,7 @@ public class SetSpeed extends Action{ error = t("Not a valid number!"); } } - Window win = properties(); - return new Tag("span").content(error).addTo(win); + if (isSet(error)) return error; + return super.update(params); } }