Ticket #17279: 17279-v2.patch

File 17279-v2.patch, 4.3 KB (added by GerdP, 5 years ago)

add call to use new method

  • src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java

     
    137137
    138138        private HistoryLoaderAndListener(Map<OsmPrimitive, Date> toLoad) {
    139139            this.toLoad = toLoad;
     140            this.setChangesetDataNeeded(false);
    140141            add(toLoad.keySet());
    141142            // Updating process is done after all history requests have been made
    142143            HistoryDataSet.getInstance().addHistoryDataSetListener(this);
  • src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java

     
    2626import org.openstreetmap.josm.io.OsmServerHistoryReader;
    2727import org.openstreetmap.josm.io.OsmTransferException;
    2828import org.openstreetmap.josm.tools.CheckParameterUtil;
     29import org.openstreetmap.josm.tools.Logging;
    2930import org.xml.sax.SAXException;
    3031
    3132/**
     
    5253    private final Set<PrimitiveId> toLoad = new HashSet<>();
    5354    private HistoryDataSet loadedData;
    5455    private OsmServerHistoryReader reader;
     56    private boolean getChangesetData = true;
    5557
    5658    /**
    5759     * Constructs a new {@code HistoryLoadTask}.
     
    163165    @Override
    164166    protected void realRun() throws SAXException, IOException, OsmTransferException {
    165167        loadedData = new HistoryDataSet();
     168        int ticks = toLoad.size();
     169        if (getChangesetData)
     170            ticks *= 2;
    166171        try {
    167             progressMonitor.setTicksCount(2 * toLoad.size());
     172            progressMonitor.setTicksCount(ticks);
    168173            for (PrimitiveId pid: toLoad) {
    169174                if (canceled) {
    170175                    break;
     
    183188        HistoryDataSet ds;
    184189        try {
    185190            reader = new OsmServerHistoryReader(pid.getType(), pid.getUniqueId());
    186             ds = loadHistory(reader, progressMonitor);
     191            if (getChangesetData) {
     192                ds = loadHistory(reader, progressMonitor);
     193            } else {
     194                ds = reader.parseHistory(progressMonitor.createSubTaskMonitor(1, false));
     195            }
    187196        } catch (OsmTransferException e) {
    188197            if (canceled)
    189198                return;
     
    195204    protected static HistoryDataSet loadHistory(OsmServerHistoryReader reader, ProgressMonitor progressMonitor) throws OsmTransferException {
    196205        HistoryDataSet ds = reader.parseHistory(progressMonitor.createSubTaskMonitor(1, false));
    197206        if (ds != null) {
     207            Logging.warn("retrieving CS data!!!");
    198208            // load corresponding changesets (mostly for changeset comment)
    199209            OsmServerChangesetReader changesetReader = new OsmServerChangesetReader();
    200210            List<Long> changesetIds = new ArrayList<>(ds.getChangesetIds());
     
    240250    public Exception getLastException() {
    241251        return lastException;
    242252    }
     253
     254    /**
     255     * Determine if changeset information is needed. By default it is retrieved.
     256     * @param b false means don't retrieve changeset data.
     257     */
     258    public void setChangesetDataNeeded(boolean b) {
     259        getChangesetData = b;
     260    }
    243261}
  • src/org/openstreetmap/josm/io/OsmServerHistoryReader.java

     
    5959    public HistoryDataSet parseHistory(ProgressMonitor progressMonitor) throws OsmTransferException {
    6060        progressMonitor.beginTask("");
    6161        try {
    62             progressMonitor.indeterminateSubTask(tr("Contacting OSM Server..."));
    6362            final String urlStr = primitiveType.getAPIName() + '/' + id + "/history";
     63            progressMonitor.indeterminateSubTask(tr("Contacting OSM Server for {0}", urlStr));
    6464
    6565            try (InputStream in = getInputStream(urlStr, progressMonitor.createSubTaskMonitor(1, true))) {
    6666                if (in == null)