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;