public class SimilarNamedWays extends Test
Modifier and Type | Class and Description |
---|---|
static interface |
SimilarNamedWays.NormalizeRule |
static class |
SimilarNamedWays.RegExprRule |
static class |
SimilarNamedWays.SynonymRule |
Test.TagTest
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.awt.geom.Point2D,java.util.List<Way>> |
cellWays
All ways, grouped by cells
|
private MultiMap<Way,Way> |
errorWays
The already detected errors
|
private java.util.List<SimilarNamedWays.NormalizeRule> |
rules |
protected static int |
SIMILAR_NAMED |
checkBeforeUpload, checkEnabled, description, enabled, errors, isBeforeUpload, name, partialSelection, progressMonitor, startTime, testBeforeUpload
Constructor and Description |
---|
SimilarNamedWays()
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addRegExprRule(java.lang.String regExpr,
java.lang.String replacement)
Add a regular expression rule.
|
void |
addSynonyms(java.lang.String... words)
Add a rule with synonym words.
|
void |
endTest()
Notification of the end of the test.
|
static int |
getLevenshteinDistance(java.lang.String s,
java.lang.String t)
Compute Levenshtein distance
|
boolean |
similaryName(java.lang.String name,
java.lang.String name2)
Check if two names are similar, but not identical.
|
void |
startTest(ProgressMonitor monitor)
Start the test using a given progress monitor
|
void |
visit(Way w)
Visiting call for lines.
|
addGui, deletePrimitivesIfNeeded, equals, fixError, getErrors, getName, hashCode, initialize, isBuilding, isCanceled, isFixable, isPrimitiveUsable, ok, setBeforeUpload, setPartialSelection, testBeforeUpload, visit, visit, visit
visit
protected static final int SIMILAR_NAMED
private java.util.Map<java.awt.geom.Point2D,java.util.List<Way>> cellWays
private java.util.List<SimilarNamedWays.NormalizeRule> rules
public SimilarNamedWays()
public void startTest(ProgressMonitor monitor)
Test
public void endTest()
Test
If you override this method, don't forget to cleanup progressMonitor
(most overrides call super.endTest()
to do this).
public static int getLevenshteinDistance(java.lang.String s, java.lang.String t)
s
- First wordt
- Second wordpublic void addRegExprRule(java.lang.String regExpr, java.lang.String replacement)
regExpr
- the regular expression to search forreplacement
- a string to replace with, which should match the expression.public void addSynonyms(java.lang.String... words)
words
- words which are synonymspublic boolean similaryName(java.lang.String name, java.lang.String name2)
replaceAll("\\d+", "0")
name
- first name to comparename2
- second name to compare