diff --git a/pom.xml b/pom.xml
index 8e66684..2d46456 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 0.4.1
+ 0.4.2
Web4Rail
Java Model Railway Control
https://github.com/StephanRichter/Web4Rail
diff --git a/resources/js/plan.js b/resources/js/plan.js
index 30550c5..e470d52 100644
--- a/resources/js/plan.js
+++ b/resources/js/plan.js
@@ -176,6 +176,7 @@ window.onload = function () {
$('.menu .move .list div').click(enableMove);
$('.menu .actions .list > div').click(runAction);
$('.menu .trains .list > div').click(runAction);
+ $('.menu .hardware .list > div').click(runAction);
$(PLAN).click(planClick);
(new EventSource("stream")).onmessage = stream;
}
diff --git a/src/main/java/de/srsoftware/web4rail/Plan.java b/src/main/java/de/srsoftware/web4rail/Plan.java
index 86df724..26f44b4 100644
--- a/src/main/java/de/srsoftware/web4rail/Plan.java
+++ b/src/main/java/de/srsoftware/web4rail/Plan.java
@@ -112,6 +112,7 @@ public class Plan {
public static final String ACTION_ADD_LOCO = "addLoco";
public static final String ACTION_ADD_TRAIN = "addTrain";
public static final String ACTION_UPDATE_CAR = "updateCar";
+ private static final String ACTION_CONTROL_UNIT = "controlProps";
public HashMap tiles = new HashMap();
private HashSet blocks = new HashSet();
@@ -123,10 +124,10 @@ public class Plan {
private Tag actionMenu() throws IOException {
Tag tileMenu = new Tag("div").clazz("actions").content(t("Actions"));
- StringBuffer tiles = new StringBuffer();
- tiles.append(new Div("save").content(t("Save plan")));
- tiles.append(new Div("analyze").content(t("Analyze plan")));
- return new Tag("div").clazz("list").content(tiles.toString()).addTo(tileMenu);
+ Tag tiles = new Tag("div").clazz("list").content("");
+ new Div("save").content(t("Save plan")).addTo(tiles);
+ new Div("analyze").content(t("Analyze plan")).addTo(tiles);
+ return tiles.addTo(tileMenu);
}
public void addClient(OutputStreamWriter client) {
@@ -234,6 +235,14 @@ public class Plan {
return tile;
}
+
+ private Tag hardwareMenu() throws IOException {
+ Tag tileMenu = new Tag("div").clazz("hardware").content(t("Hardware"));
+ Tag list = new Tag("div").clazz("list").content("");
+ new Div(ACTION_CONTROL_UNIT).content(t("Control unit")).addTo(list);
+ return list.addTo(tileMenu);
+ }
+
private Tag heartbeat() {
return new Div("heartbeat").content("");
}
@@ -295,6 +304,7 @@ public class Plan {
moveMenu().addTo(menu);
tileMenu().addTo(menu);
trainMenu().addTo(menu);
+ hardwareMenu().addTo(menu);
return menu;
}
@@ -304,12 +314,12 @@ public class Plan {
private Tag moveMenu() {
Tag tileMenu = new Tag("div").clazz("move").title(t("Move tiles")).content(t("↹"));
- StringBuffer tiles = new StringBuffer();
- tiles.append(new Div("west").title(t("Move west")).content("↤"));
- tiles.append(new Div("east").title(t("Move east")).content("↦"));
- tiles.append(new Div("north").title(t("Move north")).content("↥"));
- tiles.append(new Div("south").title(t("Move south")).content("↧"));
- return new Tag("div").clazz("list").content(tiles.toString()).addTo(tileMenu);
+ Tag tiles = new Tag("div").clazz("list").content("");
+ new Div("west").title(t("Move west")).content("↤").addTo(tiles);
+ new Div("east").title(t("Move east")).content("↦").addTo(tiles);
+ new Div("north").title(t("Move north")).content("↥").addTo(tiles);
+ new Div("south").title(t("Move south")).content("↧").addTo(tiles);
+ return tiles.addTo(tileMenu);
}
private String moveTile(String direction, String tileId) throws NumberFormatException, IOException {
@@ -517,46 +527,46 @@ public class Plan {
private Tag tileMenu() throws IOException {
Tag tileMenu = new Tag("div").clazz("addtile").title(t("Add tile")).content("◫");
- StringBuffer tiles = new StringBuffer();
- tiles.append(new StraightH().tag(null));
- tiles.append(new StraightV().tag(null));
- tiles.append(new ContactH().tag(null));
- tiles.append(new ContactV().tag(null));
- tiles.append(new SignalW().tag(null));
- tiles.append(new SignalE().tag(null));
- tiles.append(new SignalS().tag(null));
- tiles.append(new SignalN().tag(null));
- tiles.append(new BlockH().tag(null));
- tiles.append(new BlockV().tag(null));
- tiles.append(new DiagES().tag(null));
- tiles.append(new DiagSW().tag(null));
- tiles.append(new DiagNE().tag(null));
- tiles.append(new DiagWN().tag(null));
- tiles.append(new EndE().tag(null));
- tiles.append(new EndW().tag(null));
- tiles.append(new EndN().tag(null));
- tiles.append(new EndS().tag(null));
- tiles.append(new TurnoutRS().tag(null));
- tiles.append(new TurnoutRN().tag(null));
- tiles.append(new TurnoutRW().tag(null));
- tiles.append(new TurnoutRE().tag(null));
- tiles.append(new TurnoutLN().tag(null));
- tiles.append(new TurnoutLS().tag(null));
- tiles.append(new TurnoutLW().tag(null));
- tiles.append(new TurnoutLE().tag(null));
- tiles.append(new Turnout3E().tag(null));
- tiles.append(new CrossH().tag(null));
- tiles.append(new CrossV().tag(null));
- tiles.append(new Eraser().tag(null));
- return new Tag("div").clazz("list").content(tiles.toString()).addTo(tileMenu);
+ Tag tiles = new Tag("div").clazz("list").content("");
+ new StraightH().tag(null).addTo(tiles);
+ new StraightV().tag(null).addTo(tiles);
+ new ContactH().tag(null).addTo(tiles);
+ new ContactV().tag(null).addTo(tiles);
+ new SignalW().tag(null).addTo(tiles);
+ new SignalE().tag(null).addTo(tiles);
+ new SignalS().tag(null).addTo(tiles);
+ new SignalN().tag(null).addTo(tiles);
+ new BlockH().tag(null).addTo(tiles);
+ new BlockV().tag(null).addTo(tiles);
+ new DiagES().tag(null).addTo(tiles);
+ new DiagSW().tag(null).addTo(tiles);
+ new DiagNE().tag(null).addTo(tiles);
+ new DiagWN().tag(null).addTo(tiles);
+ new EndE().tag(null).addTo(tiles);
+ new EndW().tag(null).addTo(tiles);
+ new EndN().tag(null).addTo(tiles);
+ new EndS().tag(null).addTo(tiles);
+ new TurnoutRS().tag(null).addTo(tiles);
+ new TurnoutRN().tag(null).addTo(tiles);
+ new TurnoutRW().tag(null).addTo(tiles);
+ new TurnoutRE().tag(null).addTo(tiles);
+ new TurnoutLN().tag(null).addTo(tiles);
+ new TurnoutLS().tag(null).addTo(tiles);
+ new TurnoutLW().tag(null).addTo(tiles);
+ new TurnoutLE().tag(null).addTo(tiles);
+ new Turnout3E().tag(null).addTo(tiles);
+ new CrossH().tag(null).addTo(tiles);
+ new CrossV().tag(null).addTo(tiles);
+ new Eraser().tag(null).addTo(tiles);
+ return tiles.addTo(tileMenu);
}
private Tag trainMenu() throws IOException {
Tag tileMenu = new Tag("div").clazz("trains").content(t("Trains"));
- StringBuffer tiles = new StringBuffer();
- tiles.append(new Div("trains").content(t("Manage trains")));
- tiles.append(new Div("locos").content(t("Manage locos")));
- return new Tag("div").clazz("list").content(tiles.toString()).addTo(tileMenu);
+ Tag tiles = new Tag("div").clazz("list").content("");
+ new Div(ACTION_TRAINS).content(t("Manage trains")).addTo(tiles);
+ new Div(ACTION_LOCOS).content(t("Manage locos")).addTo(tiles);
+ return tiles.addTo(tileMenu);
}
private Object update(HashMap params) throws IOException {
diff --git a/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java b/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
index b894625..4bf0e2c 100644
--- a/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
+++ b/src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
@@ -104,8 +104,7 @@ public class Locomotive extends Car {
}
public void setSpeed(int v) {
- // TODO Auto-generated method stub
-
+ LOG.debug("{}.setSpeed({})",this,v);
}
@Override