Ignore:
Timestamp:
2016-02-04T00:48:38+01:00 (8 years ago)
Author:
Don-vip
Message:

remote control: add more unit tests, robustness

Location:
trunk/src/org/openstreetmap/josm/io/remotecontrol/handler
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/AddNodeHandler.java

    r8846 r9732  
    115115    protected void validateRequest() throws RequestHandlerBadRequestException {
    116116        try {
    117             lat = Double.parseDouble(args.get("lat"));
    118             lon = Double.parseDouble(args.get("lon"));
     117            lat = Double.parseDouble(args != null ? args.get("lat") : "");
     118            lon = Double.parseDouble(args != null ? args.get("lon") : "");
    119119        } catch (NumberFormatException e) {
    120120            throw new RequestHandlerBadRequestException("NumberFormatException ("+e.getMessage()+')', e);
  • trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java

    r8444 r9732  
    9898    @Override
    9999    protected void validateRequest() throws RequestHandlerBadRequestException {
    100         String urlString = args.get("url");
     100        String urlString = args != null ? args.get("url") : null;
    101101        if (Main.pref.getBoolean("remotecontrol.importhandler.fix_url_query", true)) {
    102102            urlString = Utils.fixURLQuery(urlString);
  • trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandler.java

    r8929 r9732  
    223223        List<String> missingKeys = new LinkedList<>();
    224224        boolean error = false;
    225         if (mandatory != null) for (String key : mandatory) {
    226             String value = args.get(key);
    227             if (value == null || value.isEmpty()) {
    228                 error = true;
    229                 Main.warn('\'' + myCommand + "' remote control request must have '" + key + "' parameter");
    230                 missingKeys.add(key);
     225        if (mandatory != null && args != null) {
     226            for (String key : mandatory) {
     227                String value = args.get(key);
     228                if (value == null || value.isEmpty()) {
     229                    error = true;
     230                    Main.warn('\'' + myCommand + "' remote control request must have '" + key + "' parameter");
     231                    missingKeys.add(key);
     232                }
    231233            }
    232234        }
    233235        Set<String> knownParams = new HashSet<>();
    234         if (mandatory != null) Collections.addAll(knownParams, mandatory);
    235         if (optional != null) Collections.addAll(knownParams, optional);
    236         for (String par: args.keySet()) {
    237             if (!knownParams.contains(par)) {
    238                 Main.warn("Unknown remote control parameter {0}, skipping it", par);
     236        if (mandatory != null)
     237            Collections.addAll(knownParams, mandatory);
     238        if (optional != null)
     239            Collections.addAll(knownParams, optional);
     240        if (args != null) {
     241            for (String par: args.keySet()) {
     242                if (!knownParams.contains(par)) {
     243                    Main.warn("Unknown remote control parameter {0}, skipping it", par);
     244                }
    239245            }
    240246        }
Note: See TracChangeset for help on using the changeset viewer.