diff --git a/pom.xml b/pom.xml
index ac705af..ffe0812 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 0.9.10
+ 0.9.11
Web4Rail
jar
Java Model Railway Control
diff --git a/src/main/java/de/srsoftware/web4rail/actions/ConditionalAction.java b/src/main/java/de/srsoftware/web4rail/actions/ConditionalAction.java
index 1c92377..75e8de8 100644
--- a/src/main/java/de/srsoftware/web4rail/actions/ConditionalAction.java
+++ b/src/main/java/de/srsoftware/web4rail/actions/ConditionalAction.java
@@ -54,7 +54,7 @@ public class ConditionalAction extends Action {
@Override
public boolean fire(Context context) throws IOException {
for (Condition condition : conditions) {
- if (condition.fulfilledBy(context) != condition.inverted) return actions.fire(context);
+ if (condition.fulfilledBy(context)) return actions.fire(context);
}
return false;
}
diff --git a/src/main/java/de/srsoftware/web4rail/conditions/Condition.java b/src/main/java/de/srsoftware/web4rail/conditions/Condition.java
index 97a9061..02ba8ba 100644
--- a/src/main/java/de/srsoftware/web4rail/conditions/Condition.java
+++ b/src/main/java/de/srsoftware/web4rail/conditions/Condition.java
@@ -29,7 +29,6 @@ public abstract class Condition implements Constants {
private static final String INVERTED = "inverted";
private static final String PREFIX = Condition.class.getPackageName();
private static HashMap conditions = new HashMap();
- public abstract boolean fulfilledBy(Context context);
public boolean inverted = false;
protected int id;
@@ -70,6 +69,8 @@ public abstract class Condition implements Constants {
return null;
}
+ public abstract boolean fulfilledBy(Context context);
+
public int id() {
return id;
}
diff --git a/src/main/java/de/srsoftware/web4rail/conditions/TrainHasTag.java b/src/main/java/de/srsoftware/web4rail/conditions/TrainHasTag.java
index b6dc232..390602f 100644
--- a/src/main/java/de/srsoftware/web4rail/conditions/TrainHasTag.java
+++ b/src/main/java/de/srsoftware/web4rail/conditions/TrainHasTag.java
@@ -17,7 +17,7 @@ public class TrainHasTag extends Condition {
@Override
public boolean fulfilledBy(Context context) {
if (tag == null) return true;
- return context.train.tags().contains(tag);
+ return context.train.tags().contains(tag) != inverted;
}
@Override
diff --git a/src/main/java/de/srsoftware/web4rail/conditions/TrainLength.java b/src/main/java/de/srsoftware/web4rail/conditions/TrainLength.java
index 7d2e487..81017d7 100644
--- a/src/main/java/de/srsoftware/web4rail/conditions/TrainLength.java
+++ b/src/main/java/de/srsoftware/web4rail/conditions/TrainLength.java
@@ -17,7 +17,7 @@ public class TrainLength extends Condition {
@Override
public boolean fulfilledBy(Context context) {
- return context.train.length() < maxLength;
+ return (context.train.length() < maxLength) != inverted;
}
@Override
diff --git a/src/main/java/de/srsoftware/web4rail/conditions/TrainSelect.java b/src/main/java/de/srsoftware/web4rail/conditions/TrainSelect.java
index 4a0232e..3f3c7c2 100644
--- a/src/main/java/de/srsoftware/web4rail/conditions/TrainSelect.java
+++ b/src/main/java/de/srsoftware/web4rail/conditions/TrainSelect.java
@@ -16,7 +16,7 @@ public class TrainSelect extends Condition {
@Override
public boolean fulfilledBy(Context context) {
- return context.train == train;
+ return (context.train == train) != inverted;
}
@Override
diff --git a/src/main/java/de/srsoftware/web4rail/moving/Train.java b/src/main/java/de/srsoftware/web4rail/moving/Train.java
index 1cf421c..ec4f20a 100644
--- a/src/main/java/de/srsoftware/web4rail/moving/Train.java
+++ b/src/main/java/de/srsoftware/web4rail/moving/Train.java
@@ -38,7 +38,7 @@ import de.srsoftware.web4rail.tags.Select;
import de.srsoftware.web4rail.tiles.Block;
import de.srsoftware.web4rail.tiles.Signal;
-public class Train implements Comparable,Constants {
+public class Train implements Comparable,Constants {
private static final Logger LOG = LoggerFactory.getLogger(Train.class);
private static final HashMap trains = new HashMap<>();
@@ -516,7 +516,7 @@ public class Train implements Comparable,Constants {
}
@Override
- public int compareTo(Object o) {
+ public int compareTo(Train o) {
return name().compareTo(o.toString());
}
}