diff --git a/pom.xml b/pom.xml
index 5d4ef4d..36db1da 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 0.10.8s
+ 0.10.9
Web4Rail
jar
Java Model Railway Control
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/BlockH.java b/src/main/java/de/srsoftware/web4rail/tiles/BlockH.java
index 8959ebb..69d981f 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/BlockH.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/BlockH.java
@@ -13,6 +13,7 @@ public class BlockH extends Block{
@Override
public Map connections(Direction from) {
+ if (isNull(from)) return new HashMap();
switch (from) {
case WEST:
return Map.of(new Connector(x+width(),y,Direction.WEST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/BlockV.java b/src/main/java/de/srsoftware/web4rail/tiles/BlockV.java
index 6e15019..0be0f5b 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/BlockV.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/BlockV.java
@@ -13,6 +13,7 @@ public class BlockV extends Block{
@Override
public Map connections(Direction from) {
+ if (isNull(from)) return new HashMap();
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+height(),Direction.NORTH),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/ContactH.java b/src/main/java/de/srsoftware/web4rail/tiles/ContactH.java
index 89e2c7d..b7bb9f7 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/ContactH.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/ContactH.java
@@ -11,7 +11,7 @@ import de.srsoftware.web4rail.tiles.Turnout.State;
public class ContactH extends Contact {
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case WEST:
return Map.of(new Connector(x+1,y,from),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/ContactV.java b/src/main/java/de/srsoftware/web4rail/tiles/ContactV.java
index d3782f1..2732e55 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/ContactV.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/ContactV.java
@@ -12,7 +12,7 @@ public class ContactV extends Contact {
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+1,from),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/CrossH.java b/src/main/java/de/srsoftware/web4rail/tiles/CrossH.java
index 397a4f4..f70f7d3 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/CrossH.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/CrossH.java
@@ -13,6 +13,7 @@ public class CrossH extends Cross{
@Override
public Map connections(Direction from) {
+ if (isNull(from)) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x+1,y+1,Direction.NORTH),State.UNDEF);
@@ -30,6 +31,7 @@ public class CrossH extends Cross{
@Override
public Map offsetConnections(Direction from) {
+ if (isNull(from)) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/DiagES.java b/src/main/java/de/srsoftware/web4rail/tiles/DiagES.java
index b361d33..49b86f7 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/DiagES.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/DiagES.java
@@ -11,6 +11,7 @@ public class DiagES extends Tile{
@Override
public Map connections(Direction from) {
+ if (isNull(from)) return new HashMap<>();
switch (from) {
case SOUTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java b/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java
index a8525c3..c1524bf 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java
@@ -11,6 +11,7 @@ public class DiagNE extends Tile{
@Override
public Map connections(Direction from) {
+ if (isNull(from)) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java b/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java
index 24fa300..82291ea 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java
@@ -10,6 +10,7 @@ import de.srsoftware.web4rail.tiles.Turnout.State;
public class DiagSW extends Tile{
@Override
public Map connections(Direction from) {
+ if (isNull(from)) return new HashMap<>();
switch (from) {
case SOUTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java b/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java
index 60000c4..0ac848a 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java
@@ -11,6 +11,8 @@ public class DiagWN extends Tile{
@Override
public Map connections(Direction from) {
+ if (isNull(from)) return new HashMap<>();
+
switch (from) {
case NORTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/SignalE.java b/src/main/java/de/srsoftware/web4rail/tiles/SignalE.java
index d9c0968..72a5c1e 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/SignalE.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/SignalE.java
@@ -11,7 +11,7 @@ import de.srsoftware.web4rail.tiles.Turnout.State;
public class SignalE extends Signal{
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/SignalN.java b/src/main/java/de/srsoftware/web4rail/tiles/SignalN.java
index bc9ecad..525eb76 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/SignalN.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/SignalN.java
@@ -12,7 +12,7 @@ public class SignalN extends Signal {
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/SignalS.java b/src/main/java/de/srsoftware/web4rail/tiles/SignalS.java
index d727ce1..c5ae17c 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/SignalS.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/SignalS.java
@@ -12,7 +12,7 @@ public class SignalS extends Signal{
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/SignalW.java b/src/main/java/de/srsoftware/web4rail/tiles/SignalW.java
index eb60bb7..bf184ff 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/SignalW.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/SignalW.java
@@ -11,7 +11,7 @@ import de.srsoftware.web4rail.tiles.Turnout.State;
public class SignalW extends Signal{
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java b/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java
index e31c1a7..2d5a678 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java
@@ -12,7 +12,7 @@ public class StraightH extends StretchableTile{
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case WEST:
return Map.of(new Connector(x+width(),y,Direction.WEST),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java b/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java
index 96a48a7..52c09d4 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java
@@ -12,7 +12,7 @@ public class StraightV extends StretchableTile{
@Override
public Map connections(Direction from) {
- if (oneWay == from) return new HashMap<>();
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+height(),Direction.NORTH),State.UNDEF);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Turnout3E.java b/src/main/java/de/srsoftware/web4rail/tiles/Turnout3E.java
index 42769fa..c3ae382 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/Turnout3E.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/Turnout3E.java
@@ -16,6 +16,7 @@ public class Turnout3E extends Turnout{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case EAST:
return Map.of(
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLE.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLE.java
index 79f56ba..4f371bc 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLE.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLE.java
@@ -10,6 +10,7 @@ public class TurnoutLE extends TurnoutL{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case EAST:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.LEFT,new Connector(x-1, y, Direction.EAST),State.STRAIGHT);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLN.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLN.java
index 3fc7809..57b3c37 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLN.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLN.java
@@ -10,6 +10,7 @@ public class TurnoutLN extends TurnoutL{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x,y+1,Direction.NORTH),State.STRAIGHT,new Connector(x+1, y, Direction.WEST),State.LEFT);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLS.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLS.java
index 015f844..b75fa59 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLS.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLS.java
@@ -10,6 +10,7 @@ public class TurnoutLS extends TurnoutL{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case SOUTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.LEFT,new Connector(x, y-1, Direction.SOUTH),State.STRAIGHT);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLW.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLW.java
index e0450d7..3226db9 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLW.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutLW.java
@@ -10,6 +10,7 @@ public class TurnoutLW extends TurnoutL{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.STRAIGHT,new Connector(x, y-1, Direction.SOUTH),State.LEFT);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRE.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRE.java
index fe88d59..f402ebb 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRE.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRE.java
@@ -10,6 +10,7 @@ public class TurnoutRE extends TurnoutR{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case EAST:
return Map.of(new Connector(x,y-1,Direction.SOUTH),State.RIGHT,new Connector(x-1, y, Direction.EAST),State.STRAIGHT);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRN.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRN.java
index 093ee0e..eef2ffa 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRN.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRN.java
@@ -10,6 +10,7 @@ public class TurnoutRN extends TurnoutR{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case NORTH:
return Map.of(new Connector(x-1,y,Direction.EAST),State.RIGHT,new Connector(x, y+1, Direction.NORTH),State.STRAIGHT);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRS.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRS.java
index 8308858..a4fdebe 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRS.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRS.java
@@ -10,6 +10,7 @@ public class TurnoutRS extends TurnoutR{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case SOUTH:
return Map.of(new Connector(x+1,y,Direction.WEST),State.RIGHT,new Connector(x, y-1, Direction.SOUTH),State.STRAIGHT);
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRW.java b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRW.java
index f9cb9e0..ca7b0e2 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRW.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/TurnoutRW.java
@@ -10,6 +10,7 @@ public class TurnoutRW extends TurnoutR{
@Override
public Map connections(Direction from) {
+ if (isNull(from) || oneWay == from) return new HashMap<>();
switch (from) {
case WEST:
return Map.of(new Connector(x+1,y,Direction.WEST),State.STRAIGHT,new Connector(x, y+1, Direction.NORTH),State.RIGHT);