Ticket #6565: patch.diff

File patch.diff, 2.1 KB (added by Don-vip, 15 years ago)
  • src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java

     
    299299        if (in == null) return;
    300300        progressMonitor.subTask(tr("Downloading OSM data..."));
    301301        try {
    302             DataSet loaded = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
     302            DataSet loaded = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(pkg.size(), false));
    303303            rememberNodesOfIncompleteWaysToLoad(loaded);
    304304            merge(loaded);
    305305        } catch(Exception e) {
     
    323323            return;
    324324        progressMonitor.subTask(tr("Downloading OSM data..."));
    325325        try {
    326             DataSet loaded = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
     326            DataSet loaded = OsmReader.parseDataSet(in, progressMonitor.createSubTaskMonitor(1, false));
    327327            rememberNodesOfIncompleteWaysToLoad(loaded);
    328328            merge(loaded);
    329329        } catch(Exception e) {
     
    403403        case WAY:  msg = tr("Fetching a package of ways from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
    404404        case RELATION:  msg = tr("Fetching a package of relations from ''{0}''", OsmApi.getOsmApi().getBaseUrl()); break;
    405405        }
    406         progressMonitor.indeterminateSubTask(msg);
     406        progressMonitor.setTicksCount(ids.size());
     407        progressMonitor.setTicks(0);
    407408        Set<Long> toFetch = new HashSet<Long>(ids);
    408         toFetch.addAll(ids);
    409409        while(! toFetch.isEmpty() && !isCanceled()) {
    410410            Set<Long> pkg = extractIdPackage(toFetch);
     411            progressMonitor.subTask(msg + "... " + progressMonitor.getTicks() + "/" + progressMonitor.getTicksCount());
    411412            try {
    412413                multiGetIdPackage(type, pkg, progressMonitor);
    413414            } catch(OsmApiException e) {