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);