Changeset 16934 in josm for trunk


Ignore:
Timestamp:
2020-08-26T20:24:35+02:00 (4 years ago)
Author:
simon04
Message:

see #19624 - Extract GeoJSONReader.parse(InputStream), use try-with-resources

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/GeoJSONReader.java

    r16933 r16934  
    6767    }
    6868
    69     private void setParser(final JsonParser parser) {
    70         this.parser = parser;
    71     }
    72 
    73     private void parse() throws IllegalDataException {
     69    private void parse(InputStream inputStream) throws IllegalDataException {
     70        try (JsonParser parser = Json.createParser(inputStream)) {
     71            parse(parser);
     72        } catch (JsonParsingException e) {
     73            throw new IllegalDataException(e);
     74        }
     75    }
     76
     77    private void parse(final JsonParser parser) throws IllegalDataException {
    7478        while (parser.hasNext()) {
    7579            Event event = parser.next();
     
    390394                    line = line.replaceFirst(rs, "");
    391395                    try (InputStream is = new ByteArrayInputStream(line.getBytes())) {
    392                         setParser(Json.createParser(is));
    393                         parse();
    394                     } catch (JsonParsingException e) {
    395                         throw new IllegalDataException(e);
    396                     } finally {
    397                         parser.close();
     396                        parse(is);
    398397                    }
    399398                }
     
    402401            }
    403402        } else {
    404             setParser(Json.createParser(markSupported));
    405             try {
    406                 parse();
    407             } catch (JsonParsingException e) {
    408                 throw new IllegalDataException(e);
    409             }
     403            parse(markSupported);
    410404        }
    411405        return getDataSet();
Note: See TracChangeset for help on using the changeset viewer.