Ignore:
Timestamp:
2009-08-02T14:36:40+02:00 (16 years ago)
Author:
Gubaer
Message:

towards a fix for #3142: JOSM applet class no longer functional

Location:
trunk/src/org/openstreetmap/josm/io
Files:
2 deleted
3 edited

Legend:

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

    r1835 r1879  
    9999    public DataSet parseOsm(ProgressMonitor progressMonitor) throws OsmTransferException {
    100100        progressMonitor.beginTask(tr("Contacting OSM Server..."), 10);
     101        InputStream in = null;
    101102        try {
    102103            progressMonitor.indeterminateSubTask(null);
    103             final InputStream in = getInputStream("map?bbox="+lon1+","+lat1+","+lon2+","+lat2, progressMonitor.createSubTaskMonitor(9, false));
     104            in = getInputStream("map?bbox="+lon1+","+lat1+","+lon2+","+lat2, progressMonitor.createSubTaskMonitor(9, false));
    104105            if (in == null)
    105106                return null;
    106             final DataSet data = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
    107             in.close();
    108             activeConnection = null;
    109             return data;
    110         } catch (IOException e) {
    111             if (cancel)
    112                 return null;
    113             throw new OsmTransferException(e);
    114         } catch (SAXException e) {
    115             throw new OsmTransferException(e);
     107            return OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
    116108        } catch(OsmTransferException e) {
    117109            throw e;
    118110        } catch (Exception e) {
    119             if (cancel)
    120                 return null;
    121111            throw new OsmTransferException(e);
    122112        } finally {
    123113            progressMonitor.finishTask();
     114            if (in != null) {
     115                try {in.close();} catch(IOException e) {}
     116            }
     117            activeConnection = null;
    124118        }
    125119    }
  • trunk/src/org/openstreetmap/josm/io/OsmApi.java

    r1870 r1879  
    2121import java.util.ArrayList;
    2222import java.util.Collection;
     23import java.util.Collections;
    2324import java.util.HashMap;
    2425import java.util.Properties;
     
    268269     * @throws OsmTransferException if something goes wrong
    269270     */
    270     public void deletePrimitive(OsmPrimitive osm) throws OsmTransferException {
     271    public void deletePrimitive(OsmPrimitive osm, ProgressMonitor monitor) throws OsmTransferException {
    271272        initialize();
    272         // legacy mode does not require payload. normal mode (0.6 and up) requires payload for version matching.
    273         sendRequest("DELETE", OsmPrimitiveType.from(osm).getAPIName()+"/" + osm.id, version.equals("0.5") ? null : toXml(osm, false));
     273        // can't use a the individual DELETE method in the 0.6 API. Java doesn't allow
     274        // submitting a DELETE request with content, the 0.6 API requires it, however. Falling back
     275        // to diff upload.
     276        //
     277        uploadDiff(Collections.singleton(osm), monitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
    274278    }
    275279
     
    400404        while(true) { // the retry loop
    401405            try {
    402                 URL url = new URL(new URL(getBaseUrl()), urlSuffix, new MyHttpHandler());
     406                URL url = new URL(new URL(getBaseUrl()), urlSuffix);
    403407                System.out.print(requestMethod + " " + url + "... ");
    404408                activeConnection = (HttpURLConnection)url.openConnection();
  • trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java

    r1814 r1879  
    136136                                    NAME_FORMATTER.getName(osm),
    137137                                    osm.id));
    138                     makeApiRequest(osm);
     138                    makeApiRequest(osm,progressMonitor);
    139139                    processed.add(osm);
    140140                    progressMonitor.worked(1);
     
    148148    }
    149149
    150     void makeApiRequest(OsmPrimitive osm) throws OsmTransferException {
     150    void makeApiRequest(OsmPrimitive osm, ProgressMonitor progressMonitor) throws OsmTransferException {
    151151        if (osm.deleted) {
    152             api.deletePrimitive(osm);
     152            api.deletePrimitive(osm, progressMonitor);
    153153        } else if (osm.id == 0) {
    154154            api.createPrimitive(osm);
Note: See TracChangeset for help on using the changeset viewer.