added Paras class, refactored respective code

This commit is contained in:
Stephan Richter
2021-06-17 10:40:33 +02:00
parent 4feda6f709
commit e1f50d0d6e
62 changed files with 352 additions and 323 deletions

View File

@@ -13,6 +13,7 @@ import org.slf4j.LoggerFactory;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Button;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Form;
@@ -107,9 +108,9 @@ public abstract class Action extends BaseClass {
return new JSONObject().put(TYPE, getClass().getSimpleName());
}
protected Object jsonImportExport(HashMap<String, String> params) {
protected Object jsonImportExport(Params params) {
if (params.containsKey(JSON)) {
String jString = params.get(JSON);
String jString = params.getString(JSON);
JSONObject json = new JSONObject(jString);
if (this instanceof ActionList) {
((ActionList)this).clear();
@@ -169,7 +170,7 @@ public abstract class Action extends BaseClass {
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
super.update(params);
return context().properties();
}

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -13,6 +12,7 @@ import org.slf4j.LoggerFactory;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.Plan;
import de.srsoftware.web4rail.tags.Button;
import de.srsoftware.web4rail.tags.Fieldset;
@@ -47,8 +47,8 @@ public class ActionList extends Action implements Iterable<Action>{
return this;
}
private Object addActionForm(HashMap<String, String> params, Plan plan) {
String type = params.get(TYPE);
private Object addActionForm(Params params, Plan plan) {
String type = params.getString(TYPE);
if (isNull(type)) return actionTypeForm();
Action action = Action.create(type,this);
if (action instanceof Action) {
@@ -212,8 +212,8 @@ public class ActionList extends Action implements Iterable<Action>{
return this;
}
public static Object process(HashMap<String, String> params, Plan plan) {
String command = params.get(ACTION);
public static Object process(Params params, Plan plan) {
String command = params.getString(ACTION);
if (command == null) return t("No action passed to ActionList.process()!");
Id actionId = Id.from(params);

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -10,6 +9,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.moving.Train;
import de.srsoftware.web4rail.tags.Checkbox;
import de.srsoftware.web4rail.tags.Fieldset;
@@ -105,9 +105,9 @@ public class AddRemoveDestination extends Action {
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
if (params.containsKey(Train.DESTINATION)) {
String destId = params.get(Train.DESTINATION);
String destId = params.getString(Train.DESTINATION);
if ("0".equals(destId)) {
destination = null;
} else {
@@ -119,8 +119,8 @@ public class AddRemoveDestination extends Action {
}
}
}
turnAtDestination = "on".equals(params.get(TURN));
shunting = "on".equals(params.get(SHUNTING));
turnAtDestination = "on".equals(params.getString(TURN));
shunting = "on".equals(params.getString(SHUNTING));
return context().properties();
}
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
import de.srsoftware.web4rail.tags.Radio;
@@ -66,8 +66,8 @@ public class AddRemoveTag extends Action{
}
@Override
protected Object update(HashMap<String, String> params) {
tag = params.get(TAG);
protected Object update(Params params) {
tag = params.getString(TAG);
remove = ACTION_DROP.equals(params.get(TYPE));
return super.update(params);
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.Plan.Direction;
import de.srsoftware.web4rail.moving.Train;
import de.srsoftware.web4rail.tags.Fieldset;
@@ -101,9 +101,9 @@ public class AlterDirection extends Action{
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
if (params.containsKey(NEW_DIRECTION)) {
newDir = NEWDIR.valueOf(params.get(NEW_DIRECTION));
newDir = NEWDIR.valueOf(params.getString(NEW_DIRECTION));
}
return super.update(params);
}

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
import java.util.Vector;
@@ -10,6 +9,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.conditions.Condition;
import de.srsoftware.web4rail.conditions.ConditionList;
import de.srsoftware.web4rail.tags.Fieldset;
@@ -133,8 +133,8 @@ public class ConditionalAction extends ActionList {
}
@Override
protected Object update(HashMap<String, String> params) {
String conditionClass = params.get(REALM_CONDITION);
protected Object update(Params params) {
String conditionClass = params.getString(REALM_CONDITION);
Condition condition = Condition.create(conditionClass);
if (isNull(condition)) return t("Unknown type of condition: {}",conditionClass);
condition.parent(this);

View File

@@ -1,11 +1,11 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.moving.Train;
import de.srsoftware.web4rail.tags.Checkbox;
import de.srsoftware.web4rail.tags.Fieldset;
@@ -63,7 +63,7 @@ public class CoupleTrain extends Action {
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
last = "on".equals(params.get(LAST));
swap = "on".equals(params.get(SWAP));
return super.update(params);

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
import de.srsoftware.web4rail.tags.Window;
@@ -85,8 +85,8 @@ public class DelayedAction extends ActionList {
}
@Override
protected Object update(HashMap<String, String> params) {
String d = params.get(MIN_DELAY);
protected Object update(Params params) {
String d = params.getString(MIN_DELAY);
if (isSet(d)) try {
int ms = Integer.parseInt(d);
if (ms < 0) throw new NumberFormatException(t("Delay must not be less than zero!"));
@@ -96,7 +96,7 @@ public class DelayedAction extends ActionList {
props.children().insertElementAt(new Tag("div").content(nfe.getMessage()), 2);
return props;
}
d = params.get(MAX_DELAY);
d = params.getString(MAX_DELAY);
if (isSet(d)) try {
int ms = Integer.parseInt(d);
if (ms < 0) throw new NumberFormatException(t("Delay must not be less than zero!"));

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,6 +7,7 @@ import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.moving.Train;
import de.srsoftware.web4rail.tags.Checkbox;
import de.srsoftware.web4rail.tags.Fieldset;
@@ -80,10 +80,10 @@ public class DetermineTrainInBlock extends Action {
};
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
if (params.containsKey(BLOCK)) {
Tile tile = plan.get(new Id(params.get(BLOCK)), true);
Tile tile = plan.get(new Id(params.getString(BLOCK)), true);
if (tile instanceof Block) {
block = (Block) tile;
} else return t("Clicked tile is not a {}!",t("block"));

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -9,6 +8,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Radio;
import de.srsoftware.web4rail.tags.Window;
@@ -82,7 +82,7 @@ public class DisableEnableBlock extends Action {
};
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
Id blockId = Id.from(params,Block.class.getSimpleName());
Tile tile = isSet(blockId) ? BaseClass.get(blockId) : null;

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,6 +7,7 @@ import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Window;
import de.srsoftware.web4rail.tiles.Decoupler;
@@ -69,10 +69,10 @@ public class EngageDecoupler extends Action {
};
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}", params);
if (params.containsKey(DECOUPLER)) {
Tile tile = BaseClass.get(new Id(params.get(DECOUPLER)));
Tile tile = BaseClass.get(new Id(params.getString(DECOUPLER)));
if (tile instanceof Decoupler) {
decoupler = (Decoupler) tile;
} else return t("Clicked tile is not a {}!", t("decoupler"));

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -8,6 +7,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.Route;
import de.srsoftware.web4rail.moving.Train;
import de.srsoftware.web4rail.tags.Fieldset;
@@ -97,9 +97,9 @@ public class Loop extends ActionList {
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
String newObject = params.get(OBJECT);
String newObject = params.getString(OBJECT);
if (isSet(newObject)) object = newObject;
return super.update(params);
}

View File

@@ -1,7 +1,6 @@
package de.srsoftware.web4rail.actions;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
@@ -9,6 +8,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Command;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
import de.srsoftware.web4rail.tags.Radio;
@@ -86,10 +86,10 @@ public class SendCommand extends Action{
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
command = params.get(COMMAND);
String t = params.get(TARGET);
command = params.getString(COMMAND);
String t = params.getString(TARGET);
if (isSet(t)) target = Target.valueOf(t);
return properties();
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.moving.Train;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Window;
@@ -60,7 +60,7 @@ public class SetContextTrain extends Action {
};
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
Id trainId = Id.from(params,Train.class.getSimpleName());
if (isSet(trainId)) train = Train.get(trainId);

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,6 +7,7 @@ import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Label;
import de.srsoftware.web4rail.tags.Window;
@@ -76,9 +76,9 @@ public class SetDisplayText extends TextAction{
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
if (params.containsKey(DISPLAY)) {
Tile object = plan.get(new Id(params.get(DISPLAY)), true);
Tile object = plan.get(new Id(params.getString(DISPLAY)), true);
if (object instanceof TextDisplay) {
display = (TextDisplay) object;
} else return t("Clicked tile is not a {}!",t("display"));

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Radio;
import de.srsoftware.web4rail.tags.Window;
@@ -81,9 +81,9 @@ public class SetPower extends Action{
}
@Override
protected Window update(HashMap<String, String> params) {
protected Window update(Params params) {
LOG.debug("update: {}",params);
String newState = params.get(STATE);
String newState = params.getString(STATE);
if (isSet(newState)) pc = POWERCHANGE.valueOf(newState);
return parent().properties();
}

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -9,6 +8,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Select;
import de.srsoftware.web4rail.tags.Window;
@@ -113,14 +113,14 @@ public class SetRelayOrSwitch extends Action {
};
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
String tileId = params.get(Relay.class.getSimpleName());
String tileId = params.getString(Relay.class.getSimpleName());
Tile tile = isSet(tileId) ? BaseClass.get(new Id(tileId)) : relayOrSwitch;
if (tile instanceof Relay || tile instanceof Switch) {
relayOrSwitch = tile;
}
String st = params.get(Relay.STATE);
String st = params.getString(Relay.STATE);
if (isSet(st)) state = st.equals("true");
return context().properties();
}

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,6 +7,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Select;
import de.srsoftware.web4rail.tags.Window;
@@ -99,12 +99,12 @@ public class SetSignal extends Action {
};
@Override
public Object update(HashMap<String, String> params) {
String signalId = params.get(SIGNAL);
public Object update(Params params) {
String signalId = params.getString(SIGNAL);
Id tileId = isSet(signalId) ? new Id(signalId) : null;
Tile tile = isSet(tileId) ? plan.get(tileId, false) : null;
if (tile instanceof Signal) signal = (Signal) tile;
String st = params.get(Signal.STATE);
String st = params.getString(Signal.STATE);
if (isSet(st)) state = st;
return super.update(params);
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
import de.srsoftware.web4rail.tags.Window;
@@ -68,21 +68,13 @@ public class SetSpeed extends Action{
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
String error = null;
String ms = params.get(MAX_SPEED);
if (ms == null) {
ms = ""+128;
} else {
try {
int s = Integer.parseInt(ms);
if (s<0) error = t("Speed must not be less than zero!");
if (isNull(error)) speed = s;
} catch (NumberFormatException e) {
error = t("Not a valid number!");
}
}
Integer ms = params.getInt(MAX_SPEED);
if (ms == null) ms = 128;
if (ms<0) error = t("Speed must not be less than zero!");
if (isSet(error)) return error;
speed = ms;
return super.update(params);
}
}

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -9,6 +8,7 @@ import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Select;
import de.srsoftware.web4rail.tags.Window;
@@ -101,15 +101,15 @@ public class SetTurnout extends Action {
};
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
if (params.containsKey(TURNOUT)) {
BaseClass object = BaseClass.get(new Id(params.get(TURNOUT)));
BaseClass object = BaseClass.get(new Id(params.getString(TURNOUT)));
if (object instanceof Turnout) {
turnout = (Turnout) object;
} else return t("Clicked tile is not a {}!",t("turnout"));
}
String st = params.get(Turnout.STATE);
String st = params.getString(Turnout.STATE);
if (isSet(st)) state = Turnout.State.valueOf(st);
return super.update(params);
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.moving.Train;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
@@ -53,8 +53,8 @@ public class SplitTrain extends Action {
}
@Override
protected Object update(HashMap<String, String> params) {
if (params.containsKey(POSITION)) position = Integer.parseInt(params.get(POSITION));
protected Object update(Params params) {
if (params.containsKey(POSITION)) position = params.getInt(POSITION);
return super.update(params);
}
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Radio;
import de.srsoftware.web4rail.tags.Window;
@@ -55,7 +55,7 @@ public class StartStopAuto extends Action {
return inverted ? t("Start autopilot") : t("Stop autopilot");
}
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
inverted = "on".equals(params.get(INVERTED));
return super.update(params);
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Radio;
import de.srsoftware.web4rail.tags.Select;
@@ -93,13 +93,13 @@ public class SwitchFunction extends Action {
}
@Override
protected Object update(HashMap<String, String> params) {
String fn = params.get(FUNCTION);
protected Object update(Params params) {
String fn = params.getString(FUNCTION);
if (isSet(fn)) {
function = Integer.parseInt(fn);
if (function < 1 || function > 4) function = 1;
}
String effect = params.get(EFFECT);
String effect = params.getString(EFFECT);
if (isSet(effect)) switch (effect) {
case "1":
case "0":

View File

@@ -1,11 +1,11 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
import de.srsoftware.web4rail.tags.Label;
@@ -52,9 +52,9 @@ public abstract class TextAction extends Action {
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
if (params.containsKey(TEXT)) text = params.get(TEXT);
if (params.containsKey(TEXT)) text = params.getString(TEXT);
return super.update(params);
}
}

View File

@@ -1,12 +1,12 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Window;
import de.srsoftware.web4rail.tiles.Contact;
@@ -63,7 +63,7 @@ public class TriggerContact extends Action {
};
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
LOG.debug("update: {}",params);
Id contactId = Id.from(params,CONTACT);
if (isSet(contactId)) contact = Contact.get(contactId);

View File

@@ -1,6 +1,5 @@
package de.srsoftware.web4rail.actions;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -10,6 +9,7 @@ import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.BaseClass;
import de.srsoftware.web4rail.EventListener;
import de.srsoftware.web4rail.LoadCallback;
import de.srsoftware.web4rail.Params;
import de.srsoftware.web4rail.tags.Fieldset;
import de.srsoftware.web4rail.tags.Input;
import de.srsoftware.web4rail.tags.Window;
@@ -121,14 +121,14 @@ public class WaitForContact extends ActionList {
}
@Override
protected Object update(HashMap<String, String> params) {
protected Object update(Params params) {
if (params.containsKey(CONTACT)) {
Tile tile = BaseClass.get(new Id(params.get(CONTACT)));
Tile tile = BaseClass.get(new Id(params.getString(CONTACT)));
if (tile instanceof Contact) {
contact = (Contact) tile;
} else return t("Clicked tile is not a {}!",t("contact"));
}
if (params.containsKey(TIMEOUT)) timeout = Integer.parseInt(params.get(TIMEOUT));
if (params.containsKey(TIMEOUT)) timeout = params.getInt(TIMEOUT);
return super.update(params);
}
}