From cabab80b5c248aa9380aeb676e0c6a7fd8686ad1 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Tue, 23 Feb 2021 00:57:04 +0100 Subject: [PATCH] =?UTF-8?q?added=20op=C3=9Ftion=20to=20simplify=20all=20ro?= =?UTF-8?q?ute=20names=20in=20one=20step?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../translations/Application.de.translation | 1 + .../java/de/srsoftware/web4rail/Constants.java | 2 +- src/main/java/de/srsoftware/web4rail/Plan.java | 3 ++- .../java/de/srsoftware/web4rail/Route.java | 18 ++++++++++++------ .../srsoftware/web4rail/actions/SetSignal.java | 6 ++++-- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 89b5adb..fd02014 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 1.3.46 + 1.3.47 Web4Rail jar Java Model Railway Control diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation index 8efef62..ef9ad4c 100644 --- a/resources/translations/Application.de.translation +++ b/resources/translations/Application.de.translation @@ -308,6 +308,7 @@ Setup actions : Vorbereitung-Aktionen ShowText : Text anzeigen Shunting : Rangieren Signals : Signale +simplify all names : alle Namen vereinfachen simplify name : Name vereinfachen Simulating movement of {}... : Simuliere Fahrt von {}... Slower (10 {}) : 10 {} langsamer diff --git a/src/main/java/de/srsoftware/web4rail/Constants.java b/src/main/java/de/srsoftware/web4rail/Constants.java index 58ba06d..23d8501 100644 --- a/src/main/java/de/srsoftware/web4rail/Constants.java +++ b/src/main/java/de/srsoftware/web4rail/Constants.java @@ -50,7 +50,7 @@ public interface Constants { public static final String REALM_PLAN = "plan"; public static final String REALM_TRAIN = "train"; - public static final String ASSIGN = "assign"; + public static final String ASSIGN = "assign"; public static final String BLOCK = "block"; public static final String COL = ": "; public static final String CONTACT = "contact"; diff --git a/src/main/java/de/srsoftware/web4rail/Plan.java b/src/main/java/de/srsoftware/web4rail/Plan.java index 2cb0d71..1f98551 100644 --- a/src/main/java/de/srsoftware/web4rail/Plan.java +++ b/src/main/java/de/srsoftware/web4rail/Plan.java @@ -797,7 +797,8 @@ public class Plan extends BaseClass{ actions); if (route.isDisabled()) row.clazz("disabled"); } - return table.clazz("turnouts").addTo(fieldset); + table.clazz("turnouts").addTo(fieldset); + return button(t("simplify all names"), Map.of(REALM,REALM_ROUTE,ACTION,ACTION_AUTO,ID,"*")).addTo(fieldset); } /** diff --git a/src/main/java/de/srsoftware/web4rail/Route.java b/src/main/java/de/srsoftware/web4rail/Route.java index c616b35..ba85193 100644 --- a/src/main/java/de/srsoftware/web4rail/Route.java +++ b/src/main/java/de/srsoftware/web4rail/Route.java @@ -240,10 +240,13 @@ public class Route extends BaseClass { */ public static Object action(HashMap params) throws IOException { Route route = BaseClass.get(Id.from(params)); - if (isNull(route)) return t("Unknown route: {}",params.get(ID)); + String action = params.get(ACTION); + if (isNull(route) && !ACTION_AUTO.equals(action)) return t("Unknown route: {}",params.get(ID)); switch (params.get(ACTION)) { case ACTION_AUTO: - return route.simplyfyName().properties(); + if (isSet(route)) return route.simplyfyName().properties(); + for (Route rt : BaseClass.listElements(Route.class)) rt.simplyfyName(); + return plan.properties(new HashMap()); case ACTION_DROP: route.remove(); plan.stream(t("Removed {}.",route)); @@ -414,10 +417,13 @@ public class Route extends BaseClass { add(trigger,new BrakeStart(this)); add(trigger,new PreserveRoute(this)); - for (int i=1;i params) { - Tile tile = plan.get(new Id(params.get(SIGNAL)), false); + public Object update(HashMap params) { + String signalId = params.get(SIGNAL); + Id tileId = isSet(signalId) ? new Id(signalId) : null; + Tile tile = isSet(tileId) ? plan.get(tileId, false) : null; if (tile instanceof Signal) signal = (Signal) tile; String st = params.get(Signal.STATE); if (isSet(st)) state = st;