From b41e973e1a69a4e34aa724da22bd1af9b09a9e50 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Sun, 22 Nov 2020 23:25:52 +0100 Subject: [PATCH] implemented re-init of turnout on address change --- pom.xml | 2 +- src/main/java/de/srsoftware/web4rail/tiles/Turnout.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7d3786a..2039ffc 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 1.0.13 + 1.0.14 Web4Rail jar Java Model Railway Control diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Turnout.java b/src/main/java/de/srsoftware/web4rail/tiles/Turnout.java index 8242d17..bd7f8c4 100644 --- a/src/main/java/de/srsoftware/web4rail/tiles/Turnout.java +++ b/src/main/java/de/srsoftware/web4rail/tiles/Turnout.java @@ -199,7 +199,13 @@ public abstract class Turnout extends Tile implements Device{ @Override public Tile update(HashMap params) throws IOException { if (params.containsKey(PROTOCOL)) protocol = Protocol.valueOf(params.get(PROTOCOL)); - if (params.containsKey(ADDRESS)) address = Integer.parseInt(params.get(ADDRESS)); + if (params.containsKey(ADDRESS)) { + int newAddress = Integer.parseInt(params.get(ADDRESS)); + if (newAddress != address) { + initialized = false; + address = newAddress; + } + } if (params.containsKey(PORT_A)) portA = Integer.parseInt(params.get(PORT_A)); if (params.containsKey(PORT_B)) portB = Integer.parseInt(params.get(PORT_B)); return super.update(params);