Class TagChecker
- java.lang.Object
-
- org.openstreetmap.josm.data.validation.Test
-
- org.openstreetmap.josm.data.validation.Test.TagTest
-
- org.openstreetmap.josm.data.validation.tests.TagChecker
-
- All Implemented Interfaces:
OsmPrimitiveVisitor
,TaggingPresetListener
public class TagChecker extends Test.TagTest implements TaggingPresetListener
Check for misspelled or wrong tags- Since:
- 3669
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.openstreetmap.josm.data.validation.Test
Test.TagTest
-
-
Field Summary
Fields Modifier and Type Field Description private static HashSet<String>
additionalPresetsValueData
The spell check preset values which are not stored in TaggingPresetsprivate static String
BEFORE_UPLOAD
protected boolean
checkComplex
Was used for special configuration file, might be used to disable value spell checker.protected boolean
checkFixmes
protected boolean
checkKeys
protected boolean
checkPresetsTypes
protected boolean
checkValues
private static List<String>
DEFAULT_SOURCES
(package private) MapCSSTagChecker
deprecatedChecker
protected static int
EMPTY_VALUES
protected static int
FIXME
private static Map<String,String>
harmonizedKeys
Normalized keys: the key should be substituted by the value if the key was not found in presetsstatic String
IGNORE_FILE
The config file of ignored tagsprivate static List<String>
ignoreDataEndsWith
private static Set<String>
ignoreDataEquals
private static List<String>
ignoreDataStartsWith
The TagChecker dataprivate static List<Tag>
ignoreDataTag
private static Set<String>
ignoreForLevenshtein
tag keys that have only numerical values in the presetsprivate static Set<String>
ignoreForOuterMPSameTagCheck
tag keys that are allowed to be the same on a multipolygon and an outer wayprotected boolean
includeOtherSeverity
protected static int
INVALID_HTML
protected static int
INVALID_KEY
protected static int
INVALID_KEY_SPACE
protected static int
INVALID_PRESETS_TYPE
protected static int
INVALID_SPACE
protected static int
INVALID_VALUE
protected static int
LONG_KEY
protected static int
LONG_VALUE
protected static int
LOW_CHAR_KEY
protected static int
LOW_CHAR_VALUE
private static int
MAX_LEVENSHTEIN_DISTANCE
protected static int
MISSPELLED_KEY
protected static int
MISSPELLED_VALUE
protected static int
MISSPELLED_VALUE_NO_FIX
protected static int
MULTIPLE_SPACES
protected static int
MULTIPOLYGON_INCOMPLETE
protected static int
MULTIPOLYGON_MAYBE_NO_AREA
protected static int
MULTIPOLYGON_NO_AREA
protected static int
MULTIPOLYGON_SAME_TAG_ON_OUTER
private static Collection<String>
NO_AREA_KEYS
private static MultiMap<String,String>
oftenUsedTags
often used tags which are not in presetsstatic String
PREF_CHECK_COMPLEX
The preference key to enable complex checksstatic String
PREF_CHECK_COMPLEX_BEFORE_UPLOAD
The preference key to run complex tests - used before uploadstatic String
PREF_CHECK_FIXMES
The preference key to search for fixme tagsstatic String
PREF_CHECK_FIXMES_BEFORE_UPLOAD
The preference key to search for fixmes - used before uploadstatic String
PREF_CHECK_KEYS
The preference key to check keysstatic String
PREF_CHECK_KEYS_BEFORE_UPLOAD
The preference key to check keys - used before uploadstatic String
PREF_CHECK_PRESETS_TYPES
The preference key to check presetsstatic String
PREF_CHECK_PRESETS_TYPES_BEFORE_UPLOAD
The preference key to search for presets - used before uploadstatic String
PREF_CHECK_VALUES
The preference key to check valuesstatic String
PREF_CHECK_VALUES_BEFORE_UPLOAD
The preference key to check values - used before uploadstatic String
PREF_KEYS_IGNORE_OUTER_MP_SAME_TAG
The preference key for the list of tag keys that are allowed to be the same on a multipolygon and an outer waystatic String
PREF_SOURCES
The preference key for source filesprotected JCheckBox
prefCheckComplex
protected JCheckBox
prefCheckComplexBeforeUpload
protected JCheckBox
prefCheckFixmes
protected JCheckBox
prefCheckFixmesBeforeUpload
protected JCheckBox
prefCheckKeys
protected JCheckBox
prefCheckKeysBeforeUpload
protected JCheckBox
prefCheckPresetsTypes
protected JCheckBox
prefCheckPresetsTypesBeforeUpload
protected JCheckBox
prefCheckValues
protected JCheckBox
prefCheckValuesBeforeUpload
protected static String
PREFIX
The preferences prefixprivate static Map<TaggingPreset,List<TaggingPresetItem>>
presetIndex
protected EditableList
sourcesList
static String
SPELL_FILE
The config file of dictionary wordsprotected static int
UNUSUAL_UNICODE_CHAR_VALUE
private static Pattern
UNWANTED_NON_PRINTING_CONTROL_CHARACTERS
-
Fields inherited from class org.openstreetmap.josm.data.validation.Test
checkBeforeUpload, checkEnabled, description, enabled, errors, IN_DOWNLOADED_AREA, IN_DOWNLOADED_AREA_STRICT, isBeforeUpload, name, partialSelection, progressMonitor, stopwatch, testBeforeUpload
-
-
Constructor Summary
Constructors Constructor Description TagChecker()
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addGui(JPanel testPanel)
Allow the tester to manage its own preferencesprivate static void
addPresetValue(KeyedItem ky)
private static void
addToKeyDictionary(String key)
private static void
analysePresets()
Add presets that contain only numerical values to the ignore listvoid
check(OsmPrimitive p)
Checks the primitive tagsprivate void
checkMultipolygonTags(OsmPrimitive p)
private void
checkOuterWaysOfRelation(Relation rel)
Check if an outer way of the relation has the same tag as the relation.private void
checkSingleTagComplex(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String key, String value)
private void
checkSingleTagKeySimple(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String s, String key)
private void
checkSingleTagValueSimple(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String s, String key, String value)
(package private) static boolean
containsUnusualUnicodeCharacter(String key, String value)
(package private) static boolean
containsUnwantedNonPrintingControlCharacter(String s)
Checks given string (key or value) if it contains unwanted non-printing control characters (either ASCII or Unicode bidi characters)private int
countDeprecated(OsmPrimitive p)
void
endTest()
Notification of the end of the test.private void
filterDeprecatedTags(OsmPrimitive p, String key, List<String> fixVals)
Command
fixError(TestError testError)
Fixes the error with the appropriate commandstatic List<Tag>
getIgnoredTags()
Returns the list of ignored tags.private static Set<String>
getPresetValues(String key)
Get set of preset values for the given key.(package private) static OptionalInt
getUnusualUnicodeCharacter(String key, String value)
void
handlePrefEnable()
Enables/disables the source list fieldprivate static String
harmonizeKey(String key)
private static String
harmonizeValue(String value)
private static boolean
hasAcceptedPrimaryTagForMultipolygon(OsmPrimitive p)
Check if a multipolygon has a main tag that describes the type of area.private static void
initAdditionalPresetsValueData()
void
initialize()
Initializes any global data used this tester.private static void
initializeData()
Reads the spell-check file into a HashMap.static void
initializePresets()
Reads the presets data.private static boolean
isAllowedPhoneticCharacter(String key, int c)
private static boolean
isAsciiControlChar(int c)
private static boolean
isBidiControlChar(int c)
boolean
isFixable(TestError testError)
Returns true if the given error can be fixed automaticallyprivate static boolean
isFixme(String key, String value)
private static boolean
isJoiningChar(int c)
private static boolean
isKeyIgnored(String key)
Determines if the given tag key is ignored for checks "key/tag not in presets".static boolean
isKeyInPresets(String key)
Deprecated.UseTaggingPresets.isKeyInPresets(String)
insteadprivate static boolean
isNewLineChar(int c)
private static boolean
isNum(String harmonizedValue)
static boolean
isTagIgnored(String key, String value)
Determines if the given tag is ignored for checks "key/tag not in presets".static boolean
isTagInPresets(String key, String value)
Determines if the given tag is in internal presets.private static boolean
isUnusualBmpUse(Character.UnicodeBlock b)
private static boolean
isUnusualPhoneticUse(String key, Character.UnicodeBlock b, int c)
private static boolean
isUnusualSmpUse(Character.UnicodeBlock b)
private static boolean
isUnusualUnicodeBlock(String key, int c)
Detects highly suspicious Unicode characters that have been seen in OSM database.boolean
ok()
Called when the used submits the preferencesprivate static void
parseIgnoreFileLine(String source, String line)
Parse a line found in a configuration file(package private) static String
removeUnwantedNonPrintingControlCharacters(String s)
private void
spellCheckKey(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String key)
void
startTest(ProgressMonitor monitor)
Start the test using a given progress monitorvoid
taggingPresetsModified()
Called after list of tagging presets has been modified.private void
tryGuess(OsmPrimitive p, String key, String value, MultiMap<OsmPrimitive,String> withErrors)
void
visit(Collection<OsmPrimitive> selection)
Visits all primitives to be tested.-
Methods inherited from class org.openstreetmap.josm.data.validation.Test.TagTest
includeOtherSeverityChecks, visit, visit, visit
-
Methods inherited from class org.openstreetmap.josm.data.validation.Test
clear, deletePrimitivesIfNeeded, getErrors, getName, getSource, isBuilding, isCanceled, isPrimitiveUsable, isResidentialArea, setBeforeUpload, setPartialSelection, setShowElements, testBeforeUpload
-
-
-
-
Field Detail
-
IGNORE_FILE
public static final String IGNORE_FILE
The config file of ignored tags- See Also:
- Constant Field Values
-
SPELL_FILE
public static final String SPELL_FILE
The config file of dictionary words- See Also:
- Constant Field Values
-
harmonizedKeys
private static final Map<String,String> harmonizedKeys
Normalized keys: the key should be substituted by the value if the key was not found in presets
-
additionalPresetsValueData
private static volatile HashSet<String> additionalPresetsValueData
The spell check preset values which are not stored in TaggingPresets
-
oftenUsedTags
private static final MultiMap<String,String> oftenUsedTags
often used tags which are not in presets
-
presetIndex
private static final Map<TaggingPreset,List<TaggingPresetItem>> presetIndex
-
UNWANTED_NON_PRINTING_CONTROL_CHARACTERS
private static final Pattern UNWANTED_NON_PRINTING_CONTROL_CHARACTERS
-
ignoreDataStartsWith
private static final List<String> ignoreDataStartsWith
The TagChecker data
-
ignoreDataEquals
private static final Set<String> ignoreDataEquals
-
ignoreDataEndsWith
private static final List<String> ignoreDataEndsWith
-
ignoreDataTag
private static final List<Tag> ignoreDataTag
-
ignoreForLevenshtein
private static final Set<String> ignoreForLevenshtein
tag keys that have only numerical values in the presets
-
ignoreForOuterMPSameTagCheck
private static final Set<String> ignoreForOuterMPSameTagCheck
tag keys that are allowed to be the same on a multipolygon and an outer way
-
deprecatedChecker
MapCSSTagChecker deprecatedChecker
-
PREF_CHECK_VALUES
public static final String PREF_CHECK_VALUES
The preference key to check values
-
PREF_CHECK_KEYS
public static final String PREF_CHECK_KEYS
The preference key to check keys
-
PREF_CHECK_COMPLEX
public static final String PREF_CHECK_COMPLEX
The preference key to enable complex checks
-
PREF_CHECK_FIXMES
public static final String PREF_CHECK_FIXMES
The preference key to search for fixme tags
-
PREF_CHECK_PRESETS_TYPES
public static final String PREF_CHECK_PRESETS_TYPES
The preference key to check presets
-
PREF_SOURCES
public static final String PREF_SOURCES
The preference key for source files- See Also:
DEFAULT_SOURCES
-
BEFORE_UPLOAD
private static final String BEFORE_UPLOAD
- See Also:
- Constant Field Values
-
PREF_CHECK_KEYS_BEFORE_UPLOAD
public static final String PREF_CHECK_KEYS_BEFORE_UPLOAD
The preference key to check keys - used before upload
-
PREF_CHECK_VALUES_BEFORE_UPLOAD
public static final String PREF_CHECK_VALUES_BEFORE_UPLOAD
The preference key to check values - used before upload
-
PREF_CHECK_COMPLEX_BEFORE_UPLOAD
public static final String PREF_CHECK_COMPLEX_BEFORE_UPLOAD
The preference key to run complex tests - used before upload
-
PREF_CHECK_FIXMES_BEFORE_UPLOAD
public static final String PREF_CHECK_FIXMES_BEFORE_UPLOAD
The preference key to search for fixmes - used before upload
-
PREF_CHECK_PRESETS_TYPES_BEFORE_UPLOAD
public static final String PREF_CHECK_PRESETS_TYPES_BEFORE_UPLOAD
The preference key to search for presets - used before upload
-
PREF_KEYS_IGNORE_OUTER_MP_SAME_TAG
public static final String PREF_KEYS_IGNORE_OUTER_MP_SAME_TAG
The preference key for the list of tag keys that are allowed to be the same on a multipolygon and an outer way
-
MAX_LEVENSHTEIN_DISTANCE
private static final int MAX_LEVENSHTEIN_DISTANCE
- See Also:
- Constant Field Values
-
includeOtherSeverity
protected boolean includeOtherSeverity
-
checkKeys
protected boolean checkKeys
-
checkValues
protected boolean checkValues
-
checkComplex
protected boolean checkComplex
Was used for special configuration file, might be used to disable value spell checker.
-
checkFixmes
protected boolean checkFixmes
-
checkPresetsTypes
protected boolean checkPresetsTypes
-
prefCheckKeys
protected JCheckBox prefCheckKeys
-
prefCheckValues
protected JCheckBox prefCheckValues
-
prefCheckComplex
protected JCheckBox prefCheckComplex
-
prefCheckFixmes
protected JCheckBox prefCheckFixmes
-
prefCheckPresetsTypes
protected JCheckBox prefCheckPresetsTypes
-
prefCheckKeysBeforeUpload
protected JCheckBox prefCheckKeysBeforeUpload
-
prefCheckValuesBeforeUpload
protected JCheckBox prefCheckValuesBeforeUpload
-
prefCheckComplexBeforeUpload
protected JCheckBox prefCheckComplexBeforeUpload
-
prefCheckFixmesBeforeUpload
protected JCheckBox prefCheckFixmesBeforeUpload
-
prefCheckPresetsTypesBeforeUpload
protected JCheckBox prefCheckPresetsTypesBeforeUpload
-
EMPTY_VALUES
protected static final int EMPTY_VALUES
- See Also:
- Constant Field Values
-
INVALID_KEY
protected static final int INVALID_KEY
- See Also:
- Constant Field Values
-
INVALID_VALUE
protected static final int INVALID_VALUE
- See Also:
- Constant Field Values
-
FIXME
protected static final int FIXME
- See Also:
- Constant Field Values
-
INVALID_SPACE
protected static final int INVALID_SPACE
- See Also:
- Constant Field Values
-
INVALID_KEY_SPACE
protected static final int INVALID_KEY_SPACE
- See Also:
- Constant Field Values
-
INVALID_HTML
protected static final int INVALID_HTML
- See Also:
- Constant Field Values
-
LONG_VALUE
protected static final int LONG_VALUE
- See Also:
- Constant Field Values
-
LONG_KEY
protected static final int LONG_KEY
- See Also:
- Constant Field Values
-
LOW_CHAR_VALUE
protected static final int LOW_CHAR_VALUE
- See Also:
- Constant Field Values
-
LOW_CHAR_KEY
protected static final int LOW_CHAR_KEY
- See Also:
- Constant Field Values
-
MISSPELLED_VALUE
protected static final int MISSPELLED_VALUE
- See Also:
- Constant Field Values
-
MISSPELLED_KEY
protected static final int MISSPELLED_KEY
- See Also:
- Constant Field Values
-
MULTIPLE_SPACES
protected static final int MULTIPLE_SPACES
- See Also:
- Constant Field Values
-
MISSPELLED_VALUE_NO_FIX
protected static final int MISSPELLED_VALUE_NO_FIX
- See Also:
- Constant Field Values
-
UNUSUAL_UNICODE_CHAR_VALUE
protected static final int UNUSUAL_UNICODE_CHAR_VALUE
- See Also:
- Constant Field Values
-
INVALID_PRESETS_TYPE
protected static final int INVALID_PRESETS_TYPE
- See Also:
- Constant Field Values
-
MULTIPOLYGON_NO_AREA
protected static final int MULTIPOLYGON_NO_AREA
- See Also:
- Constant Field Values
-
MULTIPOLYGON_INCOMPLETE
protected static final int MULTIPOLYGON_INCOMPLETE
- See Also:
- Constant Field Values
-
MULTIPOLYGON_MAYBE_NO_AREA
protected static final int MULTIPOLYGON_MAYBE_NO_AREA
- See Also:
- Constant Field Values
-
MULTIPOLYGON_SAME_TAG_ON_OUTER
protected static final int MULTIPOLYGON_SAME_TAG_ON_OUTER
- See Also:
- Constant Field Values
-
sourcesList
protected EditableList sourcesList
-
DEFAULT_SOURCES
private static final List<String> DEFAULT_SOURCES
-
NO_AREA_KEYS
private static final Collection<String> NO_AREA_KEYS
-
-
Constructor Detail
-
TagChecker
public TagChecker()
Constructor
-
-
Method Detail
-
initialize
public void initialize() throws IOException
Description copied from class:Test
Initializes any global data used this tester.- Overrides:
initialize
in classTest
- Throws:
IOException
-
analysePresets
private static void analysePresets()
Add presets that contain only numerical values to the ignore list
-
initializeData
private static void initializeData() throws IOException
Reads the spell-check file into a HashMap. The data file is a list of words, beginning with +/-. If it starts with +, the word is valid, but if it starts with -, the word should be replaced by the nearest + word before this.- Throws:
IOException
- if any I/O error occurs
-
parseIgnoreFileLine
private static void parseIgnoreFileLine(String source, String line)
Parse a line found in a configuration file- Parameters:
source
- name of configuration fileline
- the line to parse
-
addToKeyDictionary
private static void addToKeyDictionary(String key)
-
initializePresets
public static void initializePresets()
Reads the presets data.
-
initAdditionalPresetsValueData
private static void initAdditionalPresetsValueData()
-
addPresetValue
private static void addPresetValue(KeyedItem ky)
-
containsUnwantedNonPrintingControlCharacter
static boolean containsUnwantedNonPrintingControlCharacter(String s)
Checks given string (key or value) if it contains unwanted non-printing control characters (either ASCII or Unicode bidi characters)- Parameters:
s
- string to check- Returns:
true
ifs
contains non-printing control characters
-
isAsciiControlChar
private static boolean isAsciiControlChar(int c)
-
isNewLineChar
private static boolean isNewLineChar(int c)
-
isJoiningChar
private static boolean isJoiningChar(int c)
-
isBidiControlChar
private static boolean isBidiControlChar(int c)
-
removeUnwantedNonPrintingControlCharacters
static String removeUnwantedNonPrintingControlCharacters(String s)
-
containsUnusualUnicodeCharacter
static boolean containsUnusualUnicodeCharacter(String key, String value)
-
getUnusualUnicodeCharacter
static OptionalInt getUnusualUnicodeCharacter(String key, String value)
-
isUnusualUnicodeBlock
private static boolean isUnusualUnicodeBlock(String key, int c)
Detects highly suspicious Unicode characters that have been seen in OSM database.- Parameters:
key
- tag keyc
- current character code point- Returns:
true
if the current unicode block is very unusual for the given key
-
isAllowedPhoneticCharacter
private static boolean isAllowedPhoneticCharacter(String key, int c)
-
isUnusualPhoneticUse
private static boolean isUnusualPhoneticUse(String key, Character.UnicodeBlock b, int c)
-
isUnusualBmpUse
private static boolean isUnusualBmpUse(Character.UnicodeBlock b)
-
isUnusualSmpUse
private static boolean isUnusualSmpUse(Character.UnicodeBlock b)
-
getPresetValues
private static Set<String> getPresetValues(String key)
Get set of preset values for the given key.- Parameters:
key
- the key- Returns:
- null if key is not in presets or in additionalPresetsValueData, else a set which might be empty.
-
isKeyInPresets
@Deprecated public static boolean isKeyInPresets(String key)
Deprecated.UseTaggingPresets.isKeyInPresets(String)
insteadDetermines if the given key is in internal presets.- Parameters:
key
- key- Returns:
true
if the given key is in internal presets- Since:
- 9023
-
isTagInPresets
public static boolean isTagInPresets(String key, String value)
Determines if the given tag is in internal presets.- Parameters:
key
- keyvalue
- value- Returns:
true
if the given tag is in internal presets- Since:
- 9023
-
getIgnoredTags
public static List<Tag> getIgnoredTags()
Returns the list of ignored tags.- Returns:
- the list of ignored tags
- Since:
- 9023
-
isKeyIgnored
private static boolean isKeyIgnored(String key)
Determines if the given tag key is ignored for checks "key/tag not in presets".- Parameters:
key
- key- Returns:
- true if the given key is ignored
-
isTagIgnored
public static boolean isTagIgnored(String key, String value)
Determines if the given tag is ignored for checks "key/tag not in presets".- Parameters:
key
- keyvalue
- value- Returns:
true
if the given tag is ignored- Since:
- 9023
-
check
public void check(OsmPrimitive p)
Checks the primitive tags- Specified by:
check
in classTest.TagTest
- Parameters:
p
- The primitive to check
-
checkMultipolygonTags
private void checkMultipolygonTags(OsmPrimitive p)
-
checkOuterWaysOfRelation
private void checkOuterWaysOfRelation(Relation rel)
Check if an outer way of the relation has the same tag as the relation.- Parameters:
rel
- the relation
-
hasAcceptedPrimaryTagForMultipolygon
private static boolean hasAcceptedPrimaryTagForMultipolygon(OsmPrimitive p)
Check if a multipolygon has a main tag that describes the type of area. Accepts also some deprecated tags and typos.- Parameters:
p
- the multipolygon- Returns:
- true if the multipolygon has a main tag that (likely) describes the type of area.
-
checkSingleTagValueSimple
private void checkSingleTagValueSimple(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String s, String key, String value)
-
checkSingleTagKeySimple
private void checkSingleTagKeySimple(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String s, String key)
-
checkSingleTagComplex
private void checkSingleTagComplex(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String key, String value)
-
spellCheckKey
private void spellCheckKey(MultiMap<OsmPrimitive,String> withErrors, OsmPrimitive p, String key)
-
tryGuess
private void tryGuess(OsmPrimitive p, String key, String value, MultiMap<OsmPrimitive,String> withErrors)
-
filterDeprecatedTags
private void filterDeprecatedTags(OsmPrimitive p, String key, List<String> fixVals)
-
countDeprecated
private int countDeprecated(OsmPrimitive p)
-
harmonizeKey
private static String harmonizeKey(String key)
-
harmonizeValue
private static String harmonizeValue(String value)
-
startTest
public void startTest(ProgressMonitor monitor)
Description copied from class:Test
Start the test using a given progress monitor
-
endTest
public void endTest()
Description copied from class:Test
Notification of the end of the test. The tester may perform additional actions and destroy the used structures.If you override this method, don't forget to cleanup
progressMonitor
(most overrides callsuper.endTest()
to do this).
-
visit
public void visit(Collection<OsmPrimitive> selection)
Description copied from class:Test
Visits all primitives to be tested. These primitives are always visited in the same order: nodes first, then ways.
-
addGui
public void addGui(JPanel testPanel)
Description copied from class:Test
Allow the tester to manage its own preferences
-
handlePrefEnable
public void handlePrefEnable()
Enables/disables the source list field
-
ok
public boolean ok()
Description copied from class:Test
Called when the used submits the preferences
-
fixError
public Command fixError(TestError testError)
Description copied from class:Test
Fixes the error with the appropriate command
-
isFixable
public boolean isFixable(TestError testError)
Description copied from class:Test
Returns true if the given error can be fixed automatically
-
taggingPresetsModified
public void taggingPresetsModified()
Description copied from interface:TaggingPresetListener
Called after list of tagging presets has been modified.- Specified by:
taggingPresetsModified
in interfaceTaggingPresetListener
-
-