From 1b7103ffbd49de70822238ce9e4dd39d7fe52024 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Thu, 10 Dec 2020 10:16:21 +0100 Subject: [PATCH] bugfixes --- pom.xml | 2 +- resources/translations/Application.de.translation | 1 + src/main/java/de/srsoftware/web4rail/Route.java | 4 ++++ src/main/java/de/srsoftware/web4rail/tiles/Block.java | 1 + src/main/java/de/srsoftware/web4rail/tiles/Contact.java | 5 ++++- 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 74c2d3e..e7f6766 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 1.2.37 + 1.2.38 Web4Rail jar Java Model Railway Control diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation index 0090a61..ddb0f36 100644 --- a/resources/translations/Application.de.translation +++ b/resources/translations/Application.de.translation @@ -7,6 +7,7 @@ ActivateRoute : Route aktivieren add : hinzufügen Added {} : {} hinzugefügt add action : Aktion hinzufügen +Add action to action list : Aktion zur Liste hinzufügen add car\: : Waggon hinzufügen: Add condition : Bedingung hinzufügen add locomotive\: : Lok hinzufügen: diff --git a/src/main/java/de/srsoftware/web4rail/Route.java b/src/main/java/de/srsoftware/web4rail/Route.java index 0839373..daad6b1 100644 --- a/src/main/java/de/srsoftware/web4rail/Route.java +++ b/src/main/java/de/srsoftware/web4rail/Route.java @@ -406,6 +406,10 @@ public class Route extends BaseClass { return win; } + public Context context() { + return context.clone(); + } + public Block endBlock() { return endBlock; } diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Block.java b/src/main/java/de/srsoftware/web4rail/tiles/Block.java index 0f26a8f..cfcbea5 100644 --- a/src/main/java/de/srsoftware/web4rail/tiles/Block.java +++ b/src/main/java/de/srsoftware/web4rail/tiles/Block.java @@ -274,6 +274,7 @@ public abstract class Block extends StretchableTile{ Id trainId = Id.from(params,Train.class.getSimpleName()); if (trainId.equals(0)) { // TODO: this is rubbish if (isSet(train)) train.dropTrace(); + train.set(null); train = null; } else { Train newTrain = Train.get(trainId); diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Contact.java b/src/main/java/de/srsoftware/web4rail/tiles/Contact.java index 12699a6..47d28a4 100644 --- a/src/main/java/de/srsoftware/web4rail/tiles/Contact.java +++ b/src/main/java/de/srsoftware/web4rail/tiles/Contact.java @@ -75,12 +75,15 @@ public class Contact extends Tile{ LOG.debug("{} activated.",this); state = true; if (isSet(timer)) timer.abort(); + Context context = null; if (isSet(route)) { + context = route.context(); route.contact(this); } else if (getClass() != Contact.class) { plan.warn(this); } - actions.fire(new Context(this)); + if (isNull(context)) context = new Context(this); + actions.fire(context); stream(); } }