Ignore:
Timestamp:
2014-05-01T02:34:43+02:00 (10 years ago)
Author:
Don-vip
Message:

see #8465 - global use of try-with-resources, according to

File:
1 edited

Legend:

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

    r6474 r7033  
    1212import org.openstreetmap.josm.gui.progress.ProgressMonitor;
    1313import org.openstreetmap.josm.tools.CheckParameterUtil;
    14 import org.openstreetmap.josm.tools.Utils;
    1514import org.xml.sax.SAXException;
    1615
     
    4847        for (int i = 0;!done;++i) {
    4948            progressMonitor.subTask(tr("Downloading points {0} to {1}...", i * 5000, ((i + 1) * 5000)));
    50             InputStream in = getInputStream(url+i, progressMonitor.createSubTaskMonitor(1, true));
    51             if (in == null) {
    52                 break;
     49            try (InputStream in = getInputStream(url+i, progressMonitor.createSubTaskMonitor(1, true))) {
     50                if (in == null) {
     51                    break;
     52                }
     53                progressMonitor.setTicks(0);
     54                GpxReader reader = new GpxReader(in);
     55                gpxParsedProperly = reader.parse(false);
     56                GpxData currentGpx = reader.getGpxData();
     57                if (result == null) {
     58                    result = currentGpx;
     59                } else if (currentGpx.hasTrackPoints()) {
     60                    result.mergeFrom(currentGpx);
     61                } else{
     62                    done = true;
     63                }
    5364            }
    54             progressMonitor.setTicks(0);
    55             GpxReader reader = new GpxReader(in);
    56             gpxParsedProperly = reader.parse(false);
    57             GpxData currentGpx = reader.getGpxData();
    58             if (result == null) {
    59                 result = currentGpx;
    60             } else if (currentGpx.hasTrackPoints()) {
    61                 result.mergeFrom(currentGpx);
    62             } else{
    63                 done = true;
    64             }
    65             Utils.close(in);
    6665            activeConnection = null;
    6766        }
    68         result.fromServer = true;
     67        if (result != null) {
     68            result.fromServer = true;
     69        }
    6970        return result;
    7071    }
     
    113114    public DataSet parseOsm(ProgressMonitor progressMonitor) throws OsmTransferException {
    114115        progressMonitor.beginTask(tr("Contacting OSM Server..."), 10);
    115         InputStream in = null;
    116116        try {
    117117            DataSet ds = null;
     
    119119            if (crosses180th) {
    120120                // API 0.6 does not support requests crossing the 180th meridian, so make two requests
    121                 in = getInputStream(getRequestForBbox(lon1, lat1, 180.0, lat2), progressMonitor.createSubTaskMonitor(9, false));
    122                 if (in == null)
    123                     return null;
    124                 ds = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
     121                DataSet ds2 = null;
    125122
    126                 in = getInputStream(getRequestForBbox(-180.0, lat1, lon2, lat2), progressMonitor.createSubTaskMonitor(9, false));
    127                 if (in == null)
    128                     return null;
    129                 DataSet ds2 = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
     123                try (InputStream in = getInputStream(getRequestForBbox(lon1, lat1, 180.0, lat2), progressMonitor.createSubTaskMonitor(9, false))) {
     124                    if (in == null)
     125                        return null;
     126                    ds = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
     127                }
     128
     129                try (InputStream in = getInputStream(getRequestForBbox(-180.0, lat1, lon2, lat2), progressMonitor.createSubTaskMonitor(9, false))) {
     130                    if (in == null)
     131                        return null;
     132                    ds2 = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
     133                }
    130134                if (ds2 == null)
    131135                    return null;
     
    134138            } else {
    135139                // Simple request
    136                 in = getInputStream(getRequestForBbox(lon1, lat1, lon2, lat2), progressMonitor.createSubTaskMonitor(9, false));
    137                 if (in == null)
    138                     return null;
    139                 ds = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
     140                try (InputStream in = getInputStream(getRequestForBbox(lon1, lat1, lon2, lat2), progressMonitor.createSubTaskMonitor(9, false))) {
     141                    if (in == null)
     142                        return null;
     143                    ds = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
     144                }
    140145            }
    141146            return ds;
     
    146151        } finally {
    147152            progressMonitor.finishTask();
    148             Utils.close(in);
    149153            activeConnection = null;
    150154        }
Note: See TracChangeset for help on using the changeset viewer.