diff --git a/pom.xml b/pom.xml index c74566d..df0326b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 1.5.6 + 1.5.7 Web4Rail jar Java Model Railway Control diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation index bb4a249..4da6c47 100644 --- a/resources/translations/Application.de.translation +++ b/resources/translations/Application.de.translation @@ -142,7 +142,7 @@ disable : deaktivieren disabled : deaktiviert disable {} : {} deaktivieren disabled routes : deaktivierte Fahrstraßen -DisableEnableBlock : Block (de)aktivieren +DisableEnableTile : Kachel (de)aktivieren dismount : ausbauen Display "{}" on {}. : „{}“ auf {} anzeigen. Do you know, what you are doing? : Weißt du, was du da tust? diff --git a/src/main/java/de/srsoftware/web4rail/Plan.java b/src/main/java/de/srsoftware/web4rail/Plan.java index 804d5f2..45b5a46 100644 --- a/src/main/java/de/srsoftware/web4rail/Plan.java +++ b/src/main/java/de/srsoftware/web4rail/Plan.java @@ -910,20 +910,22 @@ public class Plan extends BaseClass{ public void sensor(int addr, boolean active) { Contact contact = Contact.get(addr); - if (active && isSet(learningContact)) { - if (isSet(contact)) { - contact.addr(0); - LOG.debug("unsibscribed {} from {}",contact,addr); - } - - stream(learningContact.addr(addr).properties().toString()); - LOG.debug("learned: {} = {}",addr,learningContact); - learningContact = null; - return; - } + if (active && isSet(learningContact)) learnContact(addr,contact); if (isSet(contact)) contact.activate(active); } + private void learnContact(int addr, Contact contact) { + if (isSet(contact)) { + contact.addr(0); + LOG.debug("unsibscribed {} from {}",contact,addr); + } + + stream(learningContact.addr(addr).properties().toString()); + LOG.debug("learned: {} = {}",addr,learningContact); + learningContact = null; + return; + } + public void setAppConfig(Configuration config) { appConfig = config; } diff --git a/src/main/java/de/srsoftware/web4rail/actions/Action.java b/src/main/java/de/srsoftware/web4rail/actions/Action.java index aecb12d..5ab1ed8 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/Action.java +++ b/src/main/java/de/srsoftware/web4rail/actions/Action.java @@ -49,7 +49,7 @@ public abstract class Action extends BaseClass { CoupleTrain.class, DelayedAction.class, DetermineTrainInBlock.class, - DisableEnableBlock.class, + DisableEnableTile.class, EngageDecoupler.class, FinishRoute.class, Loop.class, diff --git a/src/main/java/de/srsoftware/web4rail/actions/ActionList.java b/src/main/java/de/srsoftware/web4rail/actions/ActionList.java index 09f5416..5bbcd49 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/ActionList.java +++ b/src/main/java/de/srsoftware/web4rail/actions/ActionList.java @@ -162,6 +162,8 @@ public class ActionList extends Action implements Iterable{ switch (type) { case "AddDestination": return AddRemoveDestination.class.getSimpleName(); + case "DisableEnableBlock": + return DisableEnableTile.class.getSimpleName(); default: return type; } diff --git a/src/main/java/de/srsoftware/web4rail/actions/DisableEnableBlock.java b/src/main/java/de/srsoftware/web4rail/actions/DisableEnableTile.java similarity index 66% rename from src/main/java/de/srsoftware/web4rail/actions/DisableEnableBlock.java rename to src/main/java/de/srsoftware/web4rail/actions/DisableEnableTile.java index 2e2176c..a87c51a 100644 --- a/src/main/java/de/srsoftware/web4rail/actions/DisableEnableBlock.java +++ b/src/main/java/de/srsoftware/web4rail/actions/DisableEnableTile.java @@ -16,34 +16,34 @@ import de.srsoftware.web4rail.tiles.Block; import de.srsoftware.web4rail.tiles.Shadow; import de.srsoftware.web4rail.tiles.Tile; -public class DisableEnableBlock extends Action { +public class DisableEnableTile extends Action { - public DisableEnableBlock(BaseClass parent) { + public DisableEnableTile(BaseClass parent) { super(parent); } - private Block block = null; + private Tile tile = null; private boolean disable = true; @Override public boolean fire(Context context) { - if (isNull(block)) block = context.block(); - if (isNull(block)) return false; - block.setEnabled(!disable); + if (isNull(tile)) tile = context.block(); + if (isNull(tile)) return false; + tile.setEnabled(!disable); return true; } @Override public JSONObject json() { JSONObject json = super.json(); - if (isSet(block)) json.put(BLOCK, block.id()); + if (isSet(tile)) json.put(BLOCK, tile.id()); json.put(STATE, !disable); return json; } @Override protected String highlightId() { - return isSet(block) ? block.id().toString() : null; + return isSet(tile) ? tile.id().toString() : null; } @@ -53,7 +53,7 @@ public class DisableEnableBlock extends Action { if (json.has(BLOCK)) new LoadCallback() { @Override public void afterLoad() { - block = Block.get(Id.from(json,BLOCK)); + tile = Block.get(Id.from(json,BLOCK)); } }; return super.load(json); @@ -62,7 +62,7 @@ public class DisableEnableBlock extends Action { @Override protected Window properties(List
preForm, FormInput formInputs, List
postForm,String...errors) { - formInputs.add(t("Block")+": "+(isNull(block) ? t("block from context") : block),button(t("Select from plan"),Map.of(ACTION,ACTION_UPDATE,ASSIGN,Block.class.getSimpleName()))); + formInputs.add(t("Block")+": "+(isNull(tile) ? t("tile from context") : tile),button(t("Select from plan"),Map.of(ACTION,ACTION_UPDATE,ASSIGN,Tile.class.getSimpleName()))); Tag radios = new Tag("p"); new Radio(STATE, "enable", t("enable"), !disable).addTo(radios); new Radio(STATE, "disable", t("disable"), disable).addTo(radios); @@ -72,22 +72,22 @@ public class DisableEnableBlock extends Action { @Override protected void removeChild(BaseClass child) { - if (child == block) block = null; + if (child == tile) tile = null; super.removeChild(child); } public String toString() { - String blk = isSet(block) ? block.toString() : t("block from context"); + String blk = isSet(tile) ? tile.toString() : t("block from context"); return t(disable ? "disable {}" : "enable {}",blk); }; @Override protected Object update(Params params) { LOG.debug("update: {}",params); - Id blockId = Id.from(params,Block.class.getSimpleName()); - Tile tile = isSet(blockId) ? BaseClass.get(blockId) : null; - if (tile instanceof Shadow) tile = ((Shadow)tile).overlay(); - if (tile instanceof Block) block = (Block) tile; + Id tileId = Id.from(params,Tile.class.getSimpleName()); + Tile newTile = BaseClass.get(tileId);; + if (newTile instanceof Shadow) newTile = ((Shadow)newTile).overlay(); + if (isSet(newTile)) tile = newTile; disable = !"enable".equals(params.get(STATE)); return properties(); }