Ignore:
Timestamp:
2018-12-15T21:00:08+01:00 (5 years ago)
Author:
Don-vip
Message:

see #16073 - detection of json errors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java

    r14535 r14565  
    5151    static final Pattern SERVICE_EXCEPTION_PATTERN = Pattern.compile("(?s).+<ServiceException[^>]*>(.+)</ServiceException>.+");
    5252    static final Pattern CDATA_PATTERN = Pattern.compile("(?s)\\s*<!\\[CDATA\\[(.+)\\]\\]>\\s*");
     53    static final Pattern JSON_PATTERN = Pattern.compile("\\{\"message\":\"(.+)\"\\}");
    5354    protected final Tile tile;
    5455    private volatile URL url;
     
    321322    @Override
    322323    public String detectErrorMessage(String data) {
    323         Matcher m = SERVICE_EXCEPTION_PATTERN.matcher(data);
    324         return m.matches() ? removeCdata(Utils.strip(m.group(1))) : super.detectErrorMessage(data);
     324        Matcher xml = SERVICE_EXCEPTION_PATTERN.matcher(data);
     325        Matcher json = JSON_PATTERN.matcher(data);
     326        return xml.matches() ? removeCdata(Utils.strip(xml.group(1)))
     327            : json.matches() ? Utils.strip(json.group(1))
     328            : super.detectErrorMessage(data);
    325329    }
    326330
Note: See TracChangeset for help on using the changeset viewer.