diff --git a/css/style.css b/css/style.css
index f3de76b..ddfdd07 100644
--- a/css/style.css
+++ b/css/style.css
@@ -7,8 +7,8 @@
svg polygon,
svg rect{
- fill:rgb(0,0,255);
- stroke-width:3;
+ fill:rgb(0,255,255);
+ stroke-width:5;
stroke:rgb(0,0,0);
}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..58d5446
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,64 @@
+
+ 4.0.0
+ de.srsoftware
+ web4rail
+ 0.0.1
+ Web4Rail
+ Java Model Railway Control
+ https://github.com/StephanRichter/Web4Rail
+
+ SRSoftware
+ https://srsoftware.de
+
+
+
+
+ MIT License
+ http://www.opensource.org/licenses/mit-license.php
+
+
+
+
+
+ Stephan Richter
+ s.richter@srsoftware.de
+ SRSoftware
+ http://www.srsoftware.de
+
+
+
+
+
+ de.srsoftware
+ tools
+ 1.1.6
+ compile
+
+
+ de.srsoftware
+ local-config
+ 0.0.7
+ compile
+
+
+ de.srsoftware
+ tools.translations
+ 1.1.2
+ compile
+
+
+
+
+
+
+ maven-compiler-plugin
+ 3.8.0
+
+ 11
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/de/srsoftware/web4rail/Application.java b/src/main/java/de/srsoftware/web4rail/Application.java
index a43b8e5..f1bde47 100644
--- a/src/main/java/de/srsoftware/web4rail/Application.java
+++ b/src/main/java/de/srsoftware/web4rail/Application.java
@@ -20,6 +20,7 @@ import de.srsoftware.web4rail.tiles.DiagNE;
import de.srsoftware.web4rail.tiles.DiagSW;
import de.srsoftware.web4rail.tiles.DiagWN;
import de.srsoftware.web4rail.tiles.EndE;
+import de.srsoftware.web4rail.tiles.EndW;
import de.srsoftware.web4rail.tiles.StraightH;
import de.srsoftware.web4rail.tiles.StraightV;
import de.srsoftware.web4rail.tiles.TurnoutSE;
@@ -42,6 +43,7 @@ public class Application {
plan.set(3, 1, new TurnoutSE());
plan.set(3, 0, new TurnoutSW());
plan.set(2, 0, new EndE());
+ plan.set(4, 1, new EndW());
InetSocketAddress addr = new InetSocketAddress(config.getOrAdd("port", 8080));
HttpServer server = HttpServer.create(addr, 0);
server.createContext("/plan", client -> sendPlan(client));
diff --git a/src/main/java/de/srsoftware/web4rail/Plan.java b/src/main/java/de/srsoftware/web4rail/Plan.java
index eca09b5..abf54b1 100644
--- a/src/main/java/de/srsoftware/web4rail/Plan.java
+++ b/src/main/java/de/srsoftware/web4rail/Plan.java
@@ -1,5 +1,6 @@
package de.srsoftware.web4rail;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map.Entry;
@@ -25,7 +26,7 @@ public class Plan {
return column == null ? null : column.get(y);
}
- public Page html() {
+ public Page html() throws IOException {
Page page = new Page();
for (Entry> column : tiles.entrySet()) {
int x = column.getKey();
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java b/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java
index dbb4104..26b6c2d 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java
@@ -1,20 +1,5 @@
package de.srsoftware.web4rail.tiles;
-import de.srsoftware.tools.Tag;
-
public class DiagNE extends Tile{
- public String html() {
- Tag svg = new Tag("svg")
- .id("tile-"+x+"-"+y)
- .clazz(classes)
- .size(100,100)
- .attr("viewbox", "0 0 100 100")
- .style("left: "+(30*x)+"px; top: "+(30*y)+"px");
-
- new Tag("polygon")
- .attr("points","35,0 65,0 100,35 100,65")
- .addTo(svg);
-
- return svg.toString();
- }
+
}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java b/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java
index cd2a2eb..6ed33f6 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java
@@ -1,20 +1,5 @@
package de.srsoftware.web4rail.tiles;
-import de.srsoftware.tools.Tag;
-
public class DiagSW extends Tile{
- public String html() {
- Tag svg = new Tag("svg")
- .id("tile-"+x+"-"+y)
- .clazz(classes)
- .size(100,100)
- .attr("viewbox", "0 0 100 100")
- .style("left: "+(30*x)+"px; top: "+(30*y)+"px");
-
- new Tag("polygon")
- .attr("points","0,35 65,100 35,100 0,65")
- .addTo(svg);
-
- return svg.toString();
- }
+
}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java b/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java
index f41e7ba..e8f82a9 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java
@@ -1,20 +1,4 @@
package de.srsoftware.web4rail.tiles;
-import de.srsoftware.tools.Tag;
-
public class DiagWN extends Tile{
- public String html() {
- Tag svg = new Tag("svg")
- .id("tile-"+x+"-"+y)
- .clazz(classes)
- .size(100,100)
- .attr("viewbox", "0 0 100 100")
- .style("left: "+(30*x)+"px; top: "+(30*y)+"px");
-
- new Tag("polygon")
- .attr("points","35,0 65,0 0,65 0,35")
- .addTo(svg);
-
- return svg.toString();
- }
}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/EndE.java b/src/main/java/de/srsoftware/web4rail/tiles/EndE.java
index f2ba47d..5aaa474 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/EndE.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/EndE.java
@@ -1,22 +1,4 @@
package de.srsoftware.web4rail.tiles;
-import de.srsoftware.tools.Tag;
-
public class EndE extends Tile{
- public String html() {
- Tag svg = new Tag("svg")
- .id("tile-"+x+"-"+y)
- .clazz(classes)
- .size(100,100)
- .attr("viewbox", "0 0 100 100")
- .style("left: "+(30*x)+"px; top: "+(30*y)+"px");
-
- new Tag("rect")
- .size(60,30)
- .pos(40,35)
- .addTo(svg);
-
- return svg.toString();
- }
-
}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/EndW.java b/src/main/java/de/srsoftware/web4rail/tiles/EndW.java
new file mode 100644
index 0000000..f0439e6
--- /dev/null
+++ b/src/main/java/de/srsoftware/web4rail/tiles/EndW.java
@@ -0,0 +1,5 @@
+package de.srsoftware.web4rail.tiles;
+
+import de.srsoftware.tools.Tag;
+
+public class EndW extends Tile{}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java b/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java
index c89bf11..155cc13 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/StraightH.java
@@ -1,21 +1,4 @@
package de.srsoftware.web4rail.tiles;
-import de.srsoftware.tools.Tag;
-
public class StraightH extends StretchableTile{
- public String html() {
- Tag svg = new Tag("svg")
- .id("tile-"+x+"-"+y)
- .clazz(classes)
- .size(100,100)
- .attr("viewbox", "0 0 100 100")
- .style("left: "+(30*x)+"px; top: "+(30*y)+"px");
-
- new Tag("rect")
- .size(100,30)
- .pos(0,35)
- .addTo(svg);
-
- return svg.toString();
- }
}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java b/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java
index 9cf0a82..94f5201 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/StraightV.java
@@ -1,21 +1,5 @@
package de.srsoftware.web4rail.tiles;
-import de.srsoftware.tools.Tag;
-
public class StraightV extends StretchableTile{
- public String html() {
- Tag svg = new Tag("svg")
- .id("tile-"+x+"-"+y)
- .clazz(classes)
- .size(100,100)
- .attr("viewbox", "0 0 100 100")
- .style("left: "+(30*x)+"px; top: "+(30*y)+"px");
-
- new Tag("rect")
- .size(30,100)
- .pos(35,0)
- .addTo(svg);
-
- return svg.toString();
- }
+
}
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
index 6b77e33..b04b9d4 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
@@ -1,6 +1,10 @@
package de.srsoftware.web4rail.tiles;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.HashSet;
+import java.util.Scanner;
import de.keawe.tools.translations.Translation;
import de.srsoftware.tools.Tag;
@@ -21,20 +25,33 @@ public abstract class Tile {
return this;
}
- public String html() {
+ public String html() throws IOException {
+
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
- new Tag("title").content(t("No display defined for this tile ({})",getClass().getSimpleName())).addTo(svg);
- new Tag("text")
+ File file = new File(System.getProperty("user.dir")+"/svg/"+getClass().getSimpleName()+".svg");
+ if (file.exists()) {
+ Scanner scanner = new Scanner(file, StandardCharsets.UTF_8);
+ StringBuffer sb = new StringBuffer();
+ while (scanner.hasNextLine()) {
+ String line = scanner.nextLine();
+ if (line.startsWith("