Skip to content

Commit

Permalink
major code cleanup/refactoring of tagging presets: slay the monster `…
Browse files Browse the repository at this point in the history
…TaggingPresetItems` (60 Kb, 1600 lines) and extract all its internal classes to a new package `gui.tagging.presets.items`

git-svn-id: http://josm.openstreetmap.de/svn/trunk@8863 0c6e7542-c601-0410-84e7-c038aed88b3b
  • Loading branch information
don-vip committed Oct 12, 2015
1 parent bfdbfb2 commit ef66011
Show file tree
Hide file tree
Showing 58 changed files with 2,115 additions and 1,884 deletions.
19 changes: 9 additions & 10 deletions scripts/taginfoextract.groovy
Expand Up @@ -36,10 +36,11 @@ import org.openstreetmap.josm.gui.mappaint.mapcss.Condition.SimpleKeyValueCondit
import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.GeneralSelector
import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.MapCSSParser
import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference
import org.openstreetmap.josm.gui.tagging.TaggingPreset
import org.openstreetmap.josm.gui.tagging.TaggingPresetItems
import org.openstreetmap.josm.gui.tagging.TaggingPresetReader
import org.openstreetmap.josm.gui.tagging.TaggingPresetType
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType
import org.openstreetmap.josm.gui.tagging.presets.items.KeyedItem
import org.openstreetmap.josm.gui.tagging.presets.items.KeyedItem.MatchType
import org.openstreetmap.josm.io.CachedFile
import org.openstreetmap.josm.tools.Utils

Expand Down Expand Up @@ -251,11 +252,11 @@ class taginfoextract {
def convert_presets(Iterable<TaggingPreset> presets, String descriptionPrefix, boolean addImages) {
def tags = []
for (TaggingPreset preset : presets) {
for (TaggingPresetItems.KeyedItem item : Utils.filteredCollection(preset.data, TaggingPresetItems.KeyedItem.class)) {
for (KeyedItem item : Utils.filteredCollection(preset.data, KeyedItem.class)) {
def values
switch (TaggingPresetItems.MatchType.ofString(item.match)) {
case TaggingPresetItems.MatchType.KEY_REQUIRED: values = item.getValues(); break;
case TaggingPresetItems.MatchType.KEY_VALUE_REQUIRED: values = item.getValues(); break;
switch (MatchType.ofString(item.match)) {
case MatchType.KEY_REQUIRED: values = item.getValues(); break;
case MatchType.KEY_VALUE_REQUIRED: values = item.getValues(); break;
default: values = [];
}
for (String value : values) {
Expand Down Expand Up @@ -462,6 +463,4 @@ class taginfoextract {
}
}
}

}

2 changes: 1 addition & 1 deletion src/org/openstreetmap/josm/Main.java
Expand Up @@ -98,7 +98,7 @@
import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
import org.openstreetmap.josm.gui.progress.ProgressMonitorExecutor;
import org.openstreetmap.josm.gui.tagging.TaggingPresets;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
import org.openstreetmap.josm.gui.util.RedirectInputMap;
import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
import org.openstreetmap.josm.io.FileWatcher;
Expand Down
Expand Up @@ -20,13 +20,13 @@
import org.openstreetmap.josm.data.validation.Severity;
import org.openstreetmap.josm.data.validation.Test;
import org.openstreetmap.josm.data.validation.TestError;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItem;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Key;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Role;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Roles;
import org.openstreetmap.josm.gui.tagging.TaggingPresetType;
import org.openstreetmap.josm.gui.tagging.TaggingPresets;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
import org.openstreetmap.josm.gui.tagging.presets.items.Key;
import org.openstreetmap.josm.gui.tagging.presets.items.Roles;
import org.openstreetmap.josm.gui.tagging.presets.items.Roles.Role;
import org.openstreetmap.josm.tools.Utils;

/**
Expand Down
12 changes: 6 additions & 6 deletions src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
Expand Up @@ -44,12 +44,12 @@
import org.openstreetmap.josm.data.validation.util.Entities;
import org.openstreetmap.josm.gui.preferences.validator.ValidatorPreference;
import org.openstreetmap.josm.gui.progress.ProgressMonitor;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItem;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Check;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.CheckGroup;
import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.KeyedItem;
import org.openstreetmap.josm.gui.tagging.TaggingPresets;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
import org.openstreetmap.josm.gui.tagging.presets.items.Check;
import org.openstreetmap.josm.gui.tagging.presets.items.CheckGroup;
import org.openstreetmap.josm.gui.tagging.presets.items.KeyedItem;
import org.openstreetmap.josm.gui.widgets.EditableList;
import org.openstreetmap.josm.io.CachedFile;
import org.openstreetmap.josm.io.UTFInputStreamReader;
Expand Down
4 changes: 2 additions & 2 deletions src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
Expand Up @@ -36,8 +36,8 @@
import org.openstreetmap.josm.data.osm.history.HistoryOsmPrimitive;
import org.openstreetmap.josm.data.osm.history.HistoryRelation;
import org.openstreetmap.josm.data.osm.history.HistoryWay;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.TaggingPresetNameTemplateList;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetNameTemplateList;
import org.openstreetmap.josm.tools.AlphanumComparator;
import org.openstreetmap.josm.tools.I18n;
import org.openstreetmap.josm.tools.Utils;
Expand Down
4 changes: 2 additions & 2 deletions src/org/openstreetmap/josm/gui/MainMenu.java
Expand Up @@ -129,8 +129,8 @@
import org.openstreetmap.josm.gui.mappaint.MapPaintMenu;
import org.openstreetmap.josm.gui.preferences.imagery.ImageryPreference;
import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference;
import org.openstreetmap.josm.gui.tagging.TaggingPresetSearchAction;
import org.openstreetmap.josm.gui.tagging.TaggingPresetSearchPrimitiveDialog;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetSearchAction;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetSearchPrimitiveDialog;
import org.openstreetmap.josm.gui.widgets.DisableShortcutsOnFocusGainedTextField;
import org.openstreetmap.josm.tools.Shortcut;

Expand Down
Expand Up @@ -2,10 +2,10 @@
package org.openstreetmap.josm.gui.dialogs.properties;

import org.openstreetmap.josm.data.osm.OsmPrimitive;
import org.openstreetmap.josm.gui.tagging.PresetHandler;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.TaggingPresetType;
import org.openstreetmap.josm.gui.tagging.PresetLabel;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetLabel;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
import org.openstreetmap.josm.tools.GBC;

import javax.swing.JLabel;
Expand Down Expand Up @@ -33,7 +33,7 @@ public PresetListPanel() {
* Updates the preset list based on the {@code tags} and {@code types},
* and associates an interaction with (matching) presets via {@code presetHandler}.
*/
public void updatePresets(final Collection<TaggingPresetType> types, final Map<String, String> tags, final PresetHandler presetHandler) {
public void updatePresets(final Collection<TaggingPresetType> types, final Map<String, String> tags, final TaggingPresetHandler presetHandler) {

removeAll();
if (types.isEmpty()) {
Expand All @@ -42,7 +42,7 @@ public void updatePresets(final Collection<TaggingPresetType> types, final Map<S
}

for (final TaggingPreset t : TaggingPreset.getMatchingPresets(types, tags, true)) {
final JLabel lbl = new PresetLabel(t);
final JLabel lbl = new TaggingPresetLabel(t);
lbl.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Expand Down
Expand Up @@ -84,9 +84,9 @@
import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
import org.openstreetmap.josm.gui.help.HelpUtil;
import org.openstreetmap.josm.gui.layer.OsmDataLayer;
import org.openstreetmap.josm.gui.tagging.PresetHandler;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.TaggingPresetType;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
import org.openstreetmap.josm.gui.util.GuiHelper;
import org.openstreetmap.josm.gui.util.HighlightHelper;
import org.openstreetmap.josm.gui.widgets.PopupMenuLauncher;
Expand Down Expand Up @@ -214,7 +214,7 @@ public class PropertiesDialog extends ToggleDialog
private final JLabel selectSth = new JLabel("<html><p>"
+ tr("Select objects for which to change tags.") + "</p></html>");

private final transient PresetHandler presetHandler = new PresetHandler() {
private final transient TaggingPresetHandler presetHandler = new TaggingPresetHandler() {
@Override public void updateTags(List<Tag> tags) {
Command command = TaggingPreset.createCommand(getSelection(), tags);
if (command != null) Main.main.undoRedo.add(command);
Expand Down
Expand Up @@ -68,10 +68,10 @@
import org.openstreetmap.josm.data.preferences.IntegerProperty;
import org.openstreetmap.josm.gui.ExtendedDialog;
import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionListItem;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.util.GuiHelper;
import org.openstreetmap.josm.gui.widgets.PopupMenuLauncher;
import org.openstreetmap.josm.io.XmlWriter;
Expand Down
Expand Up @@ -78,13 +78,13 @@
import org.openstreetmap.josm.gui.help.ContextSensitiveHelpAction;
import org.openstreetmap.josm.gui.help.HelpUtil;
import org.openstreetmap.josm.gui.layer.OsmDataLayer;
import org.openstreetmap.josm.gui.tagging.PresetHandler;
import org.openstreetmap.josm.gui.tagging.TagEditorModel;
import org.openstreetmap.josm.gui.tagging.TagEditorPanel;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.TaggingPresetType;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
import org.openstreetmap.josm.io.OnlineResource;
import org.openstreetmap.josm.tools.CheckParameterUtil;
import org.openstreetmap.josm.tools.ImageProvider;
Expand Down Expand Up @@ -136,7 +136,7 @@ public GenericRelationEditor(OsmDataLayer layer, Relation relation, Collection<R
setRememberWindowGeometry(getClass().getName() + ".geometry",
WindowGeometry.centerInWindow(Main.parent, new Dimension(700, 650)));

final PresetHandler presetHandler = new PresetHandler() {
final TaggingPresetHandler presetHandler = new TaggingPresetHandler() {

@Override
public void updateTags(List<Tag> tags) {
Expand Down
Expand Up @@ -38,9 +38,9 @@
import org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionType;
import org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator;
import org.openstreetmap.josm.gui.layer.OsmDataLayer;
import org.openstreetmap.josm.gui.tagging.PresetHandler;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.TaggingPresetType;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
import org.openstreetmap.josm.gui.widgets.OsmPrimitivesTableModel;

public class MemberTableModel extends AbstractTableModel
Expand All @@ -55,15 +55,15 @@ public class MemberTableModel extends AbstractTableModel
private DefaultListSelectionModel listSelectionModel;
private final CopyOnWriteArrayList<IMemberModelListener> listeners;
private final transient OsmDataLayer layer;
private final transient PresetHandler presetHandler;
private final transient TaggingPresetHandler presetHandler;

private final transient WayConnectionTypeCalculator wayConnectionTypeCalculator = new WayConnectionTypeCalculator();
private final transient RelationSorter relationSorter = new RelationSorter();

/**
* constructor
*/
public MemberTableModel(OsmDataLayer layer, PresetHandler presetHandler) {
public MemberTableModel(OsmDataLayer layer, TaggingPresetHandler presetHandler) {
members = new ArrayList<>();
listeners = new CopyOnWriteArrayList<>();
this.layer = layer;
Expand Down
Expand Up @@ -68,7 +68,7 @@
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.actions.ParameterizedAction;
import org.openstreetmap.josm.actions.ParameterizedActionDecorator;
import org.openstreetmap.josm.gui.tagging.TaggingPreset;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
import org.openstreetmap.josm.tools.GBC;
import org.openstreetmap.josm.tools.ImageProvider;
import org.openstreetmap.josm.tools.Shortcut;
Expand Down
Expand Up @@ -27,12 +27,12 @@
import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane.ValidationListener;
import org.openstreetmap.josm.gui.preferences.SourceEditor;
import org.openstreetmap.josm.gui.preferences.SourceEditor.ExtendedSourceEntry;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader;
import org.openstreetmap.josm.gui.preferences.SourceEntry;
import org.openstreetmap.josm.gui.preferences.SourceProvider;
import org.openstreetmap.josm.gui.preferences.SourceType;
import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
import org.openstreetmap.josm.gui.tagging.TaggingPresetReader;
import org.openstreetmap.josm.tools.GBC;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
Expand Down
8 changes: 5 additions & 3 deletions src/org/openstreetmap/josm/gui/tagging/TagEditorPanel.java
Expand Up @@ -22,6 +22,8 @@
import org.openstreetmap.josm.gui.layer.OsmDataLayer;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList;
import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionManager;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler;
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
import org.openstreetmap.josm.tools.CheckParameterUtil;

/**
Expand All @@ -38,7 +40,7 @@ public class TagEditorPanel extends JPanel {
private final TagTable tagTable;

private PresetListPanel presetListPanel;
private final transient PresetHandler presetHandler;
private final transient TaggingPresetHandler presetHandler;

/**
* builds the panel with the table for editing tags
Expand Down Expand Up @@ -139,7 +141,7 @@ public void tableChanged(TableModelEvent e) {
* Creates a new tag editor panel. The editor model is created
* internally and can be retrieved with {@link #getModel()}.
*/
public TagEditorPanel(PresetHandler presetHandler) {
public TagEditorPanel(TaggingPresetHandler presetHandler) {
this(null, presetHandler, 0);
}

Expand All @@ -150,7 +152,7 @@ public TagEditorPanel(PresetHandler presetHandler) {
* @param model the tag editor model
* @param maxCharacters maximum number of characters allowed, 0 for unlimited
*/
public TagEditorPanel(TagEditorModel model, PresetHandler presetHandler, final int maxCharacters) {
public TagEditorPanel(TagEditorModel model, TaggingPresetHandler presetHandler, final int maxCharacters) {
this.model = model;
this.presetHandler = presetHandler;
if (this.model == null) {
Expand Down
70 changes: 0 additions & 70 deletions src/org/openstreetmap/josm/gui/tagging/TaggingPresetItem.java

This file was deleted.

0 comments on commit ef66011

Please sign in to comment.