Ignore:
Timestamp:
2020-04-17T21:27:35+02:00 (4 years ago)
Author:
simon04
Message:

AddTagsDialog: use TextTagParser.readTagsByRegexp

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

Legend:

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

    r15319 r16328  
    1111import java.awt.event.KeyEvent;
    1212import java.awt.event.MouseEvent;
    13 import java.util.Arrays;
    1413import java.util.Collection;
    1514import java.util.HashMap;
     
    1817import java.util.Map.Entry;
    1918import java.util.Set;
    20 import java.util.stream.Collectors;
    2119
    2220import javax.swing.AbstractAction;
     
    3836import org.openstreetmap.josm.gui.util.TableHelper;
    3937import org.openstreetmap.josm.tools.GBC;
     38import org.openstreetmap.josm.tools.TextTagParser;
    4039
    4140/**
     
    293292     * @since 15316
    294293     */
    295     public static String[][] parseUrlTagsToKeyValues(String urlSection) {
    296         return Arrays.stream(urlSection.split("\\|"))
    297                 .map(String::trim)
    298                 .filter(tag -> !tag.isEmpty() && tag.contains("="))
    299                 .map(tag -> tag.split("\\s*=\\s*", 2))
    300                 .map(pair -> {
    301                     pair[1] = pair.length < 2 ? "" : pair[1];
    302                     return pair;
    303                 })
    304                 .collect(Collectors.toList()).toArray(new String[][] {});
     294    public static Map<String, String> parseUrlTagsToKeyValues(String urlSection) {
     295        return TextTagParser.readTagsByRegexp(urlSection, "\\|", "(.*?)=(.*?)", false);
    305296    }
    306297
     
    313304     */
    314305    public static void addTags(String[][] keyValue, String sender, Collection<? extends OsmPrimitive> primitives) {
    315         if (trustedSenders.contains(sender)) {
    316             if (MainApplication.getLayerManager().getEditDataSet() != null) {
    317                 for (String[] row : keyValue) {
    318                     UndoRedoHandler.getInstance().add(new ChangePropertyCommand(primitives, row[0], row[1]));
    319                 }
    320             }
    321         } else {
    322             new AddTagsDialog(keyValue, sender, primitives).showDialog();
    323         }
     306        new AddTagsDialog(keyValue, sender, primitives).showDialog();
    324307    }
    325308}
  • trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java

    r16324 r16328  
    269269                DataSet ds = MainApplication.getLayerManager().getEditDataSet();
    270270                if (ds != null) {
    271                     for (String[] key : AddTagsDialog.parseUrlTagsToKeyValues(args.get("changeset_tags"))) {
    272                         ds.addChangeSetTag(key[0], key[1]);
    273                     }
     271                    AddTagsDialog.parseUrlTagsToKeyValues(args.get("changeset_tags")).forEach(ds::addChangeSetTag);
    274272                }
    275273            });
Note: See TracChangeset for help on using the changeset viewer.