Changeset 10063 in josm for trunk/src


Ignore:
Timestamp:
2016-03-28T01:22:28+02:00 (9 years ago)
Author:
Don-vip
Message:

fix #12691 - Include custom presets, map paint styles and validator rules in status report

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

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java

    r10058 r10063  
    1919import java.util.Map.Entry;
    2020import java.util.Set;
     21import java.util.TreeSet;
    2122
    2223import org.openstreetmap.josm.Main;
     
    2627import org.openstreetmap.josm.data.preferences.Setting;
    2728import org.openstreetmap.josm.gui.ExtendedDialog;
     29import org.openstreetmap.josm.gui.preferences.SourceEditor;
     30import org.openstreetmap.josm.gui.preferences.SourceEditor.ExtendedSourceEntry;
     31import org.openstreetmap.josm.gui.preferences.SourceEntry;
     32import org.openstreetmap.josm.gui.preferences.map.MapPaintPreference;
     33import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference;
     34import org.openstreetmap.josm.gui.preferences.validator.ValidatorTagCheckerRulesPreference;
    2835import org.openstreetmap.josm.plugins.PluginHandler;
    2936import org.openstreetmap.josm.tools.PlatformHookUnixoid;
     
    158165        text.append('\n').append(PluginHandler.getBugReportText()).append('\n');
    159166
    160         Collection<String> errorsWarnings = Main.getLastErrorAndWarnings();
    161         if (!errorsWarnings.isEmpty()) {
    162             text.append("Last errors/warnings:\n");
    163             for (String s : errorsWarnings) {
    164                 text.append("- ").append(s).append('\n');
     167        appendCollection(text, "Tagging presets", getCustomUrls(TaggingPresetPreference.PresetPrefHelper.INSTANCE));
     168        appendCollection(text, "Map paint styles", getCustomUrls(MapPaintPreference.MapPaintPrefHelper.INSTANCE));
     169        appendCollection(text, "Validator rules", getCustomUrls(ValidatorTagCheckerRulesPreference.RulePrefHelper.INSTANCE));
     170        appendCollection(text, "Last errors/warnings", Main.getLastErrorAndWarnings());
     171
     172        return text.toString();
     173    }
     174
     175    protected static Collection<String> getCustomUrls(SourceEditor.SourcePrefHelper helper) {
     176        Set<String> set = new TreeSet<>();
     177        for (SourceEntry entry : helper.get()) {
     178            set.add(entry.url);
     179        }
     180        for (ExtendedSourceEntry def : helper.getDefault()) {
     181            set.remove(def.url);
     182        }
     183        return set;
     184    }
     185
     186    protected static <T> void appendCollection(StringBuilder text, String label, Collection<T> col) {
     187        if (!col.isEmpty()) {
     188            text.append(label+":\n");
     189            for (T o : col) {
     190                text.append("- ").append(o.toString()).append('\n');
    165191            }
    166192            text.append('\n');
    167193        }
    168 
    169         return text.toString();
    170194    }
    171195
  • trunk/src/org/openstreetmap/josm/data/Preferences.java

    r9978 r10063  
    14601460        }
    14611461        // drop in November 2016
    1462         if (loadedVersion < 9965) {
    1463             Setting<?> setting = settingsMap.get("mappaint.style.entries");
     1462        removeUrlFromEntries(loadedVersion, 9965,
     1463                "mappaint.style.entries",
     1464                "josm.openstreetmap.de/josmfile?page=Styles/LegacyStandard");
     1465        // drop in December 2016
     1466        removeUrlFromEntries(loadedVersion, 10063,
     1467                "validator.org.openstreetmap.josm.data.validation.tests.MapCSSTagChecker.entries",
     1468                "resource://data/validator/power.mapcss");
     1469
     1470        for (String key : OBSOLETE_PREF_KEYS) {
     1471            if (settingsMap.containsKey(key)) {
     1472                settingsMap.remove(key);
     1473                Main.info(tr("Preference setting {0} has been removed since it is no longer used.", key));
     1474            }
     1475        }
     1476    }
     1477
     1478    private void removeUrlFromEntries(int loadedVersion, int versionMax, String key, String urlPart) {
     1479        if (loadedVersion < versionMax) {
     1480            Setting<?> setting = settingsMap.get(key);
    14641481            if (setting instanceof MapListSetting) {
    14651482                List<Map<String, String>> l = new LinkedList<>();
     
    14671484                for (Map<String, String> map: ((MapListSetting) setting).getValue()) {
    14681485                    String url = map.get("url");
    1469                     if (url != null && url.contains("josm.openstreetmap.de/josmfile?page=Styles/LegacyStandard")) {
     1486                    if (url != null && url.contains(urlPart)) {
    14701487                        modified = true;
    14711488                    } else {
     
    14741491                }
    14751492                if (modified) {
    1476                     putListOfStructs("mappaint.style.entries", l);
     1493                    putListOfStructs(key, l);
    14771494                }
    1478             }
    1479         }
    1480 
    1481         for (String key : OBSOLETE_PREF_KEYS) {
    1482             if (settingsMap.containsKey(key)) {
    1483                 settingsMap.remove(key);
    1484                 Main.info(tr("Preference setting {0} has been removed since it is no longer used.", key));
    14851495            }
    14861496        }
Note: See TracChangeset for help on using the changeset viewer.