Ticket #23754: 23754.patch

File 23754.patch, 2.2 KB (added by GerdP, 3 months ago)
  • src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java

     
    5050public class UploadPrimitivesTask extends AbstractUploadTask {
    5151    private boolean uploadCanceled;
    5252    private Exception lastException;
     53    /** The objects to upload. Successfully uploaded objects are removed. */
    5354    private final APIDataSet toUpload;
    5455    private OsmServerWriter writer;
    5556    private final OsmDataLayer layer;
     
    5657    private Changeset changeset;
    5758    private final Set<IPrimitive> processedPrimitives;
    5859    private final UploadStrategySpecification strategy;
     60    /** Initial number of objects to be uploaded */
     61    private final int numObjectsToUpload;
    5962
    6063    /**
    6164     * Creates the task
     
    7679        ensureParameterNotNull(strategy, "strategy");
    7780        ensureParameterNotNull(changeset, "changeset");
    7881        this.toUpload = toUpload;
     82        this.numObjectsToUpload = toUpload.getSize();
    7983        this.layer = layer;
    8084        this.changeset = changeset;
    8185        this.strategy = strategy;
     
    108112                        null /* no specific help text */
    109113                )
    110114        };
    111         int numObjectsToUploadLeft = toUpload.getSize() - processedPrimitives.size();
     115        int numObjectsToUploadLeft = numObjectsToUpload - processedPrimitives.size();
    112116        String msg1 = tr("The server reported that the current changeset was closed.<br>"
    113117                + "This is most likely because the changesets size exceeded the max. size<br>"
    114118                + "of {0} objects on the server ''{1}''.",
     
    160164     * @throws OsmTransferException "if something goes wrong."
    161165     */
    162166    protected boolean handleChangesetFullResponse() throws OsmTransferException {
    163         if (processedPrimitives.size() == toUpload.getSize()) {
     167        if (processedPrimitives.size() >= numObjectsToUpload) {
    164168            strategy.setPolicy(MaxChangesetSizeExceededPolicy.ABORT);
    165169            return false;
    166170        }