From 44abb92ed5ccf6ecd37475325125b26fd776517d Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Mon, 14 Sep 2020 00:16:57 +0200 Subject: [PATCH] fixed bug when saving plan --- .../java/de/srsoftware/web4rail/Plan.java | 29 ++++++++++++++----- .../de/srsoftware/web4rail/tiles/Shadow.java | 9 ++++++ .../de/srsoftware/web4rail/tiles/Tile.java | 4 +-- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/main/java/de/srsoftware/web4rail/Plan.java b/src/main/java/de/srsoftware/web4rail/Plan.java index 8510de8..065ea46 100644 --- a/src/main/java/de/srsoftware/web4rail/Plan.java +++ b/src/main/java/de/srsoftware/web4rail/Plan.java @@ -70,12 +70,12 @@ public class Plan { int x = Integer.parseInt(xs); int y = Integer.parseInt(ys); if (clazz == null) throw new NullPointerException(TILE+" must not be null!"); - Class tc = Tile.class; - clazz = tc.getName().replace(".Tile", "."+clazz); + Class tc = Tile.class; + clazz = tc.getName().replace(".Tile", "."+clazz); Tile tile = (Tile) tc.getClassLoader().loadClass(clazz).getDeclaredConstructor().newInstance(); set(x, y, tile); - for (int i=1; i row : column.getValue().entrySet()) { int y = row.getKey(); Tile tile = row.getValue().position(x, y); - if (tile != null) br.append(x+":"+y+":"+tile.getClass().getSimpleName()+"\n"); + if (tile != null && !(tile instanceof Shadow)) br.append(x+":"+y+":"+tile.getClass().getSimpleName()+"\n"); } } br.close(); diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Shadow.java b/src/main/java/de/srsoftware/web4rail/tiles/Shadow.java index 9094cd4..a11b540 100644 --- a/src/main/java/de/srsoftware/web4rail/tiles/Shadow.java +++ b/src/main/java/de/srsoftware/web4rail/tiles/Shadow.java @@ -2,4 +2,13 @@ package de.srsoftware.web4rail.tiles; public class Shadow extends Tile{ + private Tile overlay; + + public Shadow(Tile overlay) { + this.overlay = overlay; + } + + public Tile overlay() { + return overlay; + } } diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java index 51d5126..2d52645 100644 --- a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java +++ b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java @@ -35,8 +35,8 @@ public abstract class Tile { return this; } - public static Tag propMenu() { - return new Window("tile-properties",t("Properties")).content(t("This tile has no properties")); + public Tag propMenu() { + return new Window("tile-properties",t("Properties")).content(t("This tile ({}) has no properties",getClass().getSimpleName())); } public Tag tag() throws IOException {