Browse Source

refactoring tile delete method

lookup-tables
Stephan Richter 4 years ago
parent
commit
5aa66099fe
  1. 2
      pom.xml
  2. 4
      src/main/java/de/srsoftware/web4rail/Plan.java
  3. 17
      src/main/java/de/srsoftware/web4rail/Route.java
  4. 7
      src/main/java/de/srsoftware/web4rail/actions/ActionList.java
  5. 7
      src/main/java/de/srsoftware/web4rail/conditions/ConditionList.java
  6. 17
      src/main/java/de/srsoftware/web4rail/moving/Car.java
  7. 2
      src/main/java/de/srsoftware/web4rail/moving/Locomotive.java
  8. 23
      src/main/java/de/srsoftware/web4rail/moving/Train.java
  9. 5
      src/main/java/de/srsoftware/web4rail/tiles/Block.java
  10. 2
      src/main/java/de/srsoftware/web4rail/tiles/Bridge.java
  11. 2
      src/main/java/de/srsoftware/web4rail/tiles/Contact.java
  12. 6
      src/main/java/de/srsoftware/web4rail/tiles/Cross.java
  13. 6
      src/main/java/de/srsoftware/web4rail/tiles/CrossPlus.java
  14. 6
      src/main/java/de/srsoftware/web4rail/tiles/DiagES.java
  15. 6
      src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java
  16. 6
      src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java
  17. 7
      src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java
  18. 9
      src/main/java/de/srsoftware/web4rail/tiles/EndE.java
  19. 10
      src/main/java/de/srsoftware/web4rail/tiles/EndN.java
  20. 9
      src/main/java/de/srsoftware/web4rail/tiles/EndS.java
  21. 9
      src/main/java/de/srsoftware/web4rail/tiles/EndW.java
  22. 9
      src/main/java/de/srsoftware/web4rail/tiles/Eraser.java
  23. 5
      src/main/java/de/srsoftware/web4rail/tiles/Relay.java
  24. 2
      src/main/java/de/srsoftware/web4rail/tiles/Shadow.java
  25. 6
      src/main/java/de/srsoftware/web4rail/tiles/Signal.java
  26. 6
      src/main/java/de/srsoftware/web4rail/tiles/StraightH.java
  27. 6
      src/main/java/de/srsoftware/web4rail/tiles/StraightV.java
  28. 5
      src/main/java/de/srsoftware/web4rail/tiles/TextDisplay.java
  29. 29
      src/main/java/de/srsoftware/web4rail/tiles/Tile.java
  30. 6
      src/main/java/de/srsoftware/web4rail/tiles/Turnout.java

2
pom.xml

@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.srsoftware</groupId>
<artifactId>web4rail</artifactId>
<version>1.2.7</version>
<version>1.2.8</version>
<name>Web4Rail</name>
<packaging>jar</packaging>
<description>Java Model Railway Control</description>

4
src/main/java/de/srsoftware/web4rail/Plan.java

@ -240,6 +240,7 @@ public class Plan extends BaseClass{ @@ -240,6 +240,7 @@ public class Plan extends BaseClass{
}
//if (configJson != null) tile.configure(new JSONObject(configJson));
set(x, y, tile);
tile.parent(this);
return t("Added {}",tile.getClass().getSimpleName());
}
@ -647,7 +648,7 @@ public class Plan extends BaseClass{ @@ -647,7 +648,7 @@ public class Plan extends BaseClass{
newRoute.path().stream().filter(Tile::isSet).forEach(tile -> tile.add(newRoute));
Route existingRoute = BaseClass.get(newRoute.id());
if (isSet(existingRoute)) newRoute.addPropertiesFrom(existingRoute);
newRoute.register();
newRoute.parent(this).register();
return newRoute;
}
@ -655,6 +656,7 @@ public class Plan extends BaseClass{ @@ -655,6 +656,7 @@ public class Plan extends BaseClass{
protected void removeChild(BaseClass child) {
if (child instanceof Tile) {
Tile tile = (Tile) child;
stream("remove "+tile.id());
for (int i=1; i<tile.width(); i++) removeTile(tile.x+i, tile.y); // remove shadow tiles
for (int i=1; i<tile.height(); i++) removeTile(tile.x, tile.y+i); // remove shadow tiles
}

17
src/main/java/de/srsoftware/web4rail/Route.java

@ -650,7 +650,22 @@ public class Route extends BaseClass implements Comparable<Route>{ @@ -650,7 +650,22 @@ public class Route extends BaseClass implements Comparable<Route>{
}
@Override
protected void removeChild(BaseClass child) {
public BaseClass remove() {
super.remove();
if (isSet(train)) train.removeChild(this);
path.forEach(tile -> tile.removeChild(this));
conditions.remove();
for (String key : new Vector<String>(triggers.keySet())){
ActionList actionList = triggers.remove(key);
if (isSet(actionList)) actionList.remove();
};
setupActions.remove();
startActions.remove();
return this;
}
@Override
public void removeChild(BaseClass child) {
conditions.remove(child);
contacts.remove(child);
if (child == endBlock) endBlock = null;

7
src/main/java/de/srsoftware/web4rail/actions/ActionList.java

@ -193,6 +193,13 @@ public class ActionList extends Action implements Iterable<Action>{ @@ -193,6 +193,13 @@ public class ActionList extends Action implements Iterable<Action>{
return super.properties(preForm, formInputs, postForm);
}
@Override
public BaseClass remove() {
super.remove();
while (!actions.isEmpty()) actions.lastElement().remove();
return this;
}
@Override
public void removeChild(BaseClass child) {
actions.remove(child);

7
src/main/java/de/srsoftware/web4rail/conditions/ConditionList.java

@ -90,6 +90,13 @@ public class ConditionList extends Condition implements Iterable<Condition>{ @@ -90,6 +90,13 @@ public class ConditionList extends Condition implements Iterable<Condition>{
return form;
}
@Override
public BaseClass remove() {
super.remove();
while (!conditions.isEmpty()) conditions.lastElement().remove();
return this;
}
public boolean remove(Object condition) {
return conditions.remove(condition);
}

17
src/main/java/de/srsoftware/web4rail/moving/Car.java

@ -45,7 +45,6 @@ public class Car extends BaseClass implements Comparable<Car>{ @@ -45,7 +45,6 @@ public class Car extends BaseClass implements Comparable<Car>{
public int length;
protected String stockId = "";
private Train train;
protected Plan plan;
protected int maxSpeed = 0;
public Car(String name) {
@ -66,8 +65,8 @@ public class Car extends BaseClass implements Comparable<Car>{ @@ -66,8 +65,8 @@ public class Car extends BaseClass implements Comparable<Car>{
switch (params.get(ACTION)) {
case ACTION_ADD:
if (isSet(car)) {
car.clone().plan(plan);
} else new Car(params.get(Car.NAME)).plan(plan);
car.clone();
} else new Car(params.get(Car.NAME)).parent(plan);
return Car.manager();
case ACTION_PROPS:
return car == null ? Car.manager() : car.properties();
@ -85,6 +84,7 @@ public class Car extends BaseClass implements Comparable<Car>{ @@ -85,6 +84,7 @@ public class Car extends BaseClass implements Comparable<Car>{
clone.length = length;
clone.tags = new HashSet<String>(tags);
clone.notes = notes;
clone.parent(parent());
return clone;
}
@ -136,7 +136,7 @@ public class Car extends BaseClass implements Comparable<Car>{ @@ -136,7 +136,7 @@ public class Car extends BaseClass implements Comparable<Car>{
String name = json.getString(Car.NAME);
Id id = Id.from(json);
Car car = json.has(Locomotive.LOCOMOTIVE) ? new Locomotive(name, id) : new Car(name,id);
car.load(json).plan(plan);
car.load(json).parent(plan);
line = file.readLine();
}
@ -189,15 +189,6 @@ public class Car extends BaseClass implements Comparable<Car>{ @@ -189,15 +189,6 @@ public class Car extends BaseClass implements Comparable<Car>{
return name;
}
public Plan plan() {
return plan;
}
public Car plan(Plan plan) {
this.plan = plan;
return this;
}
@Override
protected Window properties(List<Fieldset> preForm, FormInput formInputs, List<Fieldset> postForm) {
formInputs.add(t("Name"),new Input(NAME,name));

2
src/main/java/de/srsoftware/web4rail/moving/Locomotive.java

@ -49,7 +49,7 @@ public class Locomotive extends Car implements Constants,Device{ @@ -49,7 +49,7 @@ public class Locomotive extends Car implements Constants,Device{
Locomotive loco = id == null ? null : Locomotive.get(id);
switch (params.get(ACTION)) {
case ACTION_ADD:
new Locomotive(params.get(Locomotive.NAME)).plan(plan);
new Locomotive(params.get(Locomotive.NAME)).parent(plan);
return Locomotive.manager();
case ACTION_FASTER10:
return loco.faster(10);

23
src/main/java/de/srsoftware/web4rail/moving/Train.java

@ -78,6 +78,11 @@ public class Train extends BaseClass implements Comparable<Train> { @@ -78,6 +78,11 @@ public class Train extends BaseClass implements Comparable<Train> {
private Block currentBlock,destination = null;
LinkedList<Tile> trace = new LinkedList<Tile>();
public int speed = 0;
private Autopilot autopilot = null;
private Route nextRoute;
private class Autopilot extends Thread{
boolean stop = false;
int waitTime = 100;
@ -103,13 +108,6 @@ public class Train extends BaseClass implements Comparable<Train> { @@ -103,13 +108,6 @@ public class Train extends BaseClass implements Comparable<Train> {
}
}
public int speed = 0;
private Autopilot autopilot = null;
private Plan plan;
private Route nextRoute;
public Train(Locomotive loco) {
this(loco,null);
}
@ -257,7 +255,8 @@ public class Train extends BaseClass implements Comparable<Train> { @@ -257,7 +255,8 @@ public class Train extends BaseClass implements Comparable<Train> {
private static Object create(HashMap<String, String> params, Plan plan) {
Locomotive loco = (Locomotive) Locomotive.get(params.get(Train.LOCO_ID));
if (isNull(loco)) return t("unknown locomotive: {}",params.get(ID));
Train train = new Train(loco).plan(plan);
Train train = new Train(loco);
train.parent(plan);
if (params.containsKey(NAME)) train.name(params.get(NAME));
return train;
}
@ -379,7 +378,7 @@ public class Train extends BaseClass implements Comparable<Train> { @@ -379,7 +378,7 @@ public class Train extends BaseClass implements Comparable<Train> {
JSONObject json = new JSONObject(line);
Train train = new Train(null,Id.from(json));
train.plan(plan).load(json);
train.load(json).parent(plan);
line = file.readLine();
}
@ -498,11 +497,6 @@ public class Train extends BaseClass implements Comparable<Train> { @@ -498,11 +497,6 @@ public class Train extends BaseClass implements Comparable<Train> {
return this;
}
private Train plan(Plan plan) {
this.plan = plan;
return this;
}
@Override
protected Window properties(List<Fieldset> preForm, FormInput formInputs, List<Fieldset> postForm) {
Fieldset otherTrainProsps = new Fieldset(t("other train properties"));
@ -570,6 +564,7 @@ public class Train extends BaseClass implements Comparable<Train> { @@ -570,6 +564,7 @@ public class Train extends BaseClass implements Comparable<Train> {
@Override
public void removeChild(BaseClass child) {
if (child == route) route = null;
if (child == nextRoute) nextRoute = null;
if (child == currentBlock) currentBlock = null;
if (child == destination) destination = null;
cars.remove(child);

5
src/main/java/de/srsoftware/web4rail/tiles/Block.java

@ -234,11 +234,6 @@ public abstract class Block extends StretchableTile implements Comparable<Block> @@ -234,11 +234,6 @@ public abstract class Block extends StretchableTile implements Comparable<Block>
return this;
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
public static Select selector(Block preselected,Collection<Block> exclude) {
if (isNull(exclude)) exclude = new Vector<Block>();
Select select = new Select(Block.class.getSimpleName());

2
src/main/java/de/srsoftware/web4rail/tiles/Bridge.java

@ -102,7 +102,7 @@ public abstract class Bridge extends Tile { @@ -102,7 +102,7 @@ public abstract class Bridge extends Tile {
}
@Override
protected void removeChild(BaseClass child) {
public void removeChild(BaseClass child) {
if (child == counterpart) counterpart = null;
plan.place(this);
}

2
src/main/java/de/srsoftware/web4rail/tiles/Contact.java

@ -167,7 +167,7 @@ public class Contact extends Tile{ @@ -167,7 +167,7 @@ public class Contact extends Tile{
}
@Override
protected void removeChild(BaseClass child) {
public void removeChild(BaseClass child) {
if (child == actions) actions = null;
}

6
src/main/java/de/srsoftware/web4rail/tiles/Cross.java

@ -2,15 +2,9 @@ package de.srsoftware.web4rail.tiles; @@ -2,15 +2,9 @@ package de.srsoftware.web4rail.tiles;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
public abstract class Cross extends Tile {
public abstract Map<Connector,Turnout.State> offsetConnections(Direction from);
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}

6
src/main/java/de/srsoftware/web4rail/tiles/CrossPlus.java

@ -4,7 +4,6 @@ import java.util.HashMap; @@ -4,7 +4,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
@ -32,9 +31,4 @@ public class CrossPlus extends Tile{ @@ -32,9 +31,4 @@ public class CrossPlus extends Tile{
public List<Direction> possibleDirections() {
return List.of(Direction.EAST,Direction.WEST,Direction.NORTH,Direction.SOUTH);
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}

6
src/main/java/de/srsoftware/web4rail/tiles/DiagES.java

@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles; @@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
@ -22,9 +21,4 @@ public class DiagES extends Tile{ @@ -22,9 +21,4 @@ public class DiagES extends Tile{
return new HashMap<>();
}
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}

6
src/main/java/de/srsoftware/web4rail/tiles/DiagNE.java

@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles; @@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
@ -22,9 +21,4 @@ public class DiagNE extends Tile{ @@ -22,9 +21,4 @@ public class DiagNE extends Tile{
return new HashMap<>();
}
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}

6
src/main/java/de/srsoftware/web4rail/tiles/DiagSW.java

@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles; @@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
@ -21,9 +20,4 @@ public class DiagSW extends Tile{ @@ -21,9 +20,4 @@ public class DiagSW extends Tile{
return new HashMap<>();
}
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}

7
src/main/java/de/srsoftware/web4rail/tiles/DiagWN.java

@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles; @@ -3,7 +3,6 @@ package de.srsoftware.web4rail.tiles;
import java.util.HashMap;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
@ -23,10 +22,4 @@ public class DiagWN extends Tile{ @@ -23,10 +22,4 @@ public class DiagWN extends Tile{
return new HashMap<>();
}
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}

9
src/main/java/de/srsoftware/web4rail/tiles/EndE.java

@ -1,10 +1,3 @@ @@ -1,10 +1,3 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.web4rail.BaseClass;
public class EndE extends Tile{
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}
public class EndE extends Tile{}

10
src/main/java/de/srsoftware/web4rail/tiles/EndN.java

@ -1,11 +1,3 @@ @@ -1,11 +1,3 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.web4rail.BaseClass;
public class EndN extends Tile{
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}
public class EndN extends Tile{}

9
src/main/java/de/srsoftware/web4rail/tiles/EndS.java

@ -1,10 +1,3 @@ @@ -1,10 +1,3 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.web4rail.BaseClass;
public class EndS extends Tile{
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}
public class EndS extends Tile{}

9
src/main/java/de/srsoftware/web4rail/tiles/EndW.java

@ -1,10 +1,3 @@ @@ -1,10 +1,3 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.web4rail.BaseClass;
public class EndW extends Tile{
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}
public class EndW extends Tile{}

9
src/main/java/de/srsoftware/web4rail/tiles/Eraser.java

@ -1,10 +1,3 @@ @@ -1,10 +1,3 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.web4rail.BaseClass;
public class Eraser extends Tile {
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
}
public class Eraser extends Tile {}

5
src/main/java/de/srsoftware/web4rail/tiles/Relay.java

@ -160,11 +160,6 @@ public class Relay extends Tile implements Device{ @@ -160,11 +160,6 @@ public class Relay extends Tile implements Device{
}
}
@Override
protected void removeChild(BaseClass child) {
// TODO Auto-generated method stub
}
public Relay setLabel(boolean state, String tx) {
if (state) {
stateLabelA = tx;

2
src/main/java/de/srsoftware/web4rail/tiles/Shadow.java

@ -30,7 +30,7 @@ public class Shadow extends Tile{ @@ -30,7 +30,7 @@ public class Shadow extends Tile{
}
@Override
protected void removeChild(BaseClass child) {
public void removeChild(BaseClass child) {
if (child == overlay) {
overlay = null;
remove();

6
src/main/java/de/srsoftware/web4rail/tiles/Signal.java

@ -7,7 +7,6 @@ import java.util.TreeSet; @@ -7,7 +7,6 @@ import java.util.TreeSet;
import java.util.Vector;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Plan.Direction;
public abstract class Signal extends Tile implements Comparable<Signal>{
@ -39,11 +38,6 @@ public abstract class Signal extends Tile implements Comparable<Signal>{ @@ -39,11 +38,6 @@ public abstract class Signal extends Tile implements Comparable<Signal>{
public abstract boolean isAffectedFrom(Direction dir);
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
public boolean state(String state) {
this.state = state;
plan.place(this);

6
src/main/java/de/srsoftware/web4rail/tiles/StraightH.java

@ -4,7 +4,6 @@ import java.util.HashMap; @@ -4,7 +4,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
@ -29,11 +28,6 @@ public class StraightH extends StretchableTile{ @@ -29,11 +28,6 @@ public class StraightH extends StretchableTile{
return List.of(Direction.EAST,Direction.WEST);
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
@Override
protected String stretchType() {
return t("Width");

6
src/main/java/de/srsoftware/web4rail/tiles/StraightV.java

@ -4,7 +4,6 @@ import java.util.HashMap; @@ -4,7 +4,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Connector;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.tiles.Turnout.State;
@ -34,11 +33,6 @@ public class StraightV extends StretchableTile{ @@ -34,11 +33,6 @@ public class StraightV extends StretchableTile{
return List.of(Direction.NORTH,Direction.SOUTH);
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
@Override
protected String stretchType() {
return t("Height");

5
src/main/java/de/srsoftware/web4rail/tiles/TextDisplay.java

@ -45,11 +45,6 @@ public class TextDisplay extends StretchableTile { @@ -45,11 +45,6 @@ public class TextDisplay extends StretchableTile {
return super.properties(preForm, formInputs, postForm);
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
public static Select selector(TextDisplay preselected,Collection<TextDisplay> exclude) {
if (isNull(exclude)) exclude = new Vector<TextDisplay>();
Select select = new Select(TextDisplay.class.getSimpleName());

29
src/main/java/de/srsoftware/web4rail/tiles/Tile.java

@ -108,7 +108,7 @@ public abstract class Tile extends BaseClass{ @@ -108,7 +108,7 @@ public abstract class Tile extends BaseClass{
private static void inflate(String clazz, JSONObject json, Plan plan) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, ClassNotFoundException, IOException {
clazz = Tile.class.getName().replace(".Tile", "."+clazz);
Tile tile = (Tile) Tile.class.getClassLoader().loadClass(clazz).getDeclaredConstructor().newInstance();
tile.load(json);
tile.load(json).parent(plan);
plan.set(tile.x, tile.y, tile);
}
@ -251,12 +251,6 @@ public abstract class Tile extends BaseClass{ @@ -251,12 +251,6 @@ public abstract class Tile extends BaseClass{
return super.properties(preForm, formInputs, postForm);
}
@Override
public BaseClass remove() {
plan.stream("remove "+id());
return super.remove();
}
private static String replace(String line, Entry<String, Object> replacement) {
String key = replacement.getKey();
Object val = replacement.getValue();
@ -379,6 +373,27 @@ public abstract class Tile extends BaseClass{ @@ -379,6 +373,27 @@ public abstract class Tile extends BaseClass{
return train;
}
@Override
public BaseClass remove() {
super.remove();
routes.forEach(route -> {
route.remove();
});
shadows.forEach(shadow -> {
shadow.remove();
});
return this;
}
@Override
public void removeChild(BaseClass child) {
routes.remove(child);
shadows.remove(child);
if (child == train) train = null;
if (child == route) route = null;
plan.place(this);
}
public void unlock() {
route = null;
train = null;

6
src/main/java/de/srsoftware/web4rail/tiles/Turnout.java

@ -9,7 +9,6 @@ import java.util.concurrent.TimeoutException; @@ -9,7 +9,6 @@ import java.util.concurrent.TimeoutException;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Command;
import de.srsoftware.web4rail.Command.Reply;
import de.srsoftware.web4rail.Device;
@ -140,11 +139,6 @@ public abstract class Turnout extends Tile implements Device{ @@ -140,11 +139,6 @@ public abstract class Turnout extends Tile implements Device{
}
}
@Override
protected void removeChild(BaseClass child) {
// this class has no child elements
}
public State state() {
return state;
}

Loading…
Cancel
Save