Ticket #11310: 11310.patch

File 11310.patch, 3.3 KB (added by taylor.smock, 7 years ago)

Initial quick and dirty patch. Needs deduplication of code (for changeset_tags) and parseUrlTagsToKeyValues should probably be moved to RequestHandler.

  • src/org/openstreetmap/josm/io/remotecontrol/RemoteControl.java

     
    4040     * changes.
    4141     */
    4242    static final int protocolMajorVersion = 1;
    43     static final int protocolMinorVersion = 8;
     43    static final int protocolMinorVersion = 9;
    4444
    4545    /**
    4646     * Starts the remote control server
  • src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java

     
    1111
    1212import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
    1313import org.openstreetmap.josm.actions.downloadtasks.DownloadTask;
     14import org.openstreetmap.josm.data.osm.DataSet;
    1415import org.openstreetmap.josm.gui.MainApplication;
     16import org.openstreetmap.josm.io.remotecontrol.AddTagsDialog;
    1517import org.openstreetmap.josm.io.remotecontrol.PermissionPrefWithDefault;
    1618import org.openstreetmap.josm.spi.preferences.Config;
    1719import org.openstreetmap.josm.tools.Logging;
     
    4850                    task.loadUrl(getDownloadParams(), url.toExternalForm(), null);
    4951                }
    5052            }
     53            if (args.containsKey("changeset_tags")) {
     54                MainApplication.worker.submit(() -> {
     55                    DataSet ds = MainApplication.getLayerManager().getEditDataSet();
     56                    if (ds != null) {
     57                        for (String[] key : AddTagsDialog.parseUrlTagsToKeyValues(args.get("changeset_tags"))) {
     58                            if (!ds.getChangeSetTags().containsKey(key[0])) {
     59                                ds.addChangeSetTag(key[0], key[1]);
     60                            }
     61                        }
     62                    }
     63                });
     64            }
    5165        } catch (RuntimeException ex) { // NOPMD
    5266            Logging.warn("RemoteControl: Error parsing import remote control request:");
    5367            Logging.error(ex);
     
    6276
    6377    @Override
    6478    public String[] getOptionalParams() {
    65         return new String[] {"new_layer", "layer_name", "layer_locked", "download_policy", "upload_policy"};
     79        return new String[] {"new_layer", "layer_name", "layer_locked", "download_policy", "upload_policy", "changeset_tags"};
    6680    }
    6781
    6882    @Override
  • src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java

     
    8787    public String[] getOptionalParams() {
    8888        return new String[] {"new_layer", "layer_name", "addtags", "select", "zoom_mode",
    8989                "changeset_comment", "changeset_source", "changeset_hashtags", "search",
    90                 "layer_locked", "download_policy", "upload_policy"};
     90                "layer_locked", "download_policy", "upload_policy", "changeset_tags"};
    9191    }
    9292
    9393    @Override