org.openstreetmap.josm.data.validation.tests
Class DuplicateWay

java.lang.Object
  extended by org.openstreetmap.josm.data.osm.visitor.AbstractVisitor
      extended by org.openstreetmap.josm.data.validation.Test
          extended by org.openstreetmap.josm.data.validation.tests.DuplicateWay
All Implemented Interfaces:
Visitor

public class DuplicateWay
extends Test

Tests if there are duplicate ways


Nested Class Summary
private static class DuplicateWay.WayPair
           
private static class DuplicateWay.WayPairNoTags
           
 
Field Summary
protected static int DUPLICATE_WAY
           
protected static int SAME_WAY
           
(package private)  MultiMap<DuplicateWay.WayPair,OsmPrimitive> ways
          Bag of all ways
(package private)  MultiMap<DuplicateWay.WayPairNoTags,OsmPrimitive> waysNoTags
          Bag of all ways, regardless of tags
 
Fields inherited from class org.openstreetmap.josm.data.validation.Test
checkBeforeUpload, checkEnabled, description, enabled, errors, isBeforeUpload, name, partialSelection, progressMonitor, testBeforeUpload
 
Constructor Summary
DuplicateWay()
          Constructor
 
Method Summary
 void endTest()
          Notification of the end of the test.
 Command fixError(TestError testError)
          Fix the error by removing all but one instance of duplicate ways
 boolean isFixable(TestError testError)
          Returns true if the given error can be fixed automatically
 void removeUninterestingKeys(java.util.Map<java.lang.String,java.lang.String> wkeys)
          Remove uninteresting keys, like created_by to normalize the tags
 void startTest(ProgressMonitor monitor)
          Start the test using a given progress monitor
 void visit(Way w)
          Visiting call for lines.
 
Methods inherited from class org.openstreetmap.josm.data.validation.Test
addGui, deletePrimitivesIfNeeded, getErrors, getName, initialize, isBuilding, isCanceled, ok, setBeforeUpload, setPartialSelection, testBeforeUpload, visit, visit, visit
 
Methods inherited from class org.openstreetmap.josm.data.osm.visitor.AbstractVisitor
visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DUPLICATE_WAY

protected static final int DUPLICATE_WAY
See Also:
Constant Field Values

SAME_WAY

protected static final int SAME_WAY
See Also:
Constant Field Values

ways

MultiMap<DuplicateWay.WayPair,OsmPrimitive> ways
Bag of all ways


waysNoTags

MultiMap<DuplicateWay.WayPairNoTags,OsmPrimitive> waysNoTags
Bag of all ways, regardless of tags

Constructor Detail

DuplicateWay

public DuplicateWay()
Constructor

Method Detail

startTest

public void startTest(ProgressMonitor monitor)
Description copied from class: Test
Start the test using a given progress monitor

Overrides:
startTest in class Test
Parameters:
monitor - the 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 Test.progressMonitor (most overrides call super.endTest() to do this).

Overrides:
endTest in class Test

removeUninterestingKeys

public void removeUninterestingKeys(java.util.Map<java.lang.String,java.lang.String> wkeys)
Remove uninteresting keys, like created_by to normalize the tags

Parameters:
wkeys - The tags of the way, obtained by Way#getKeys

visit

public void visit(Way w)
Description copied from interface: Visitor
Visiting call for lines.

Specified by:
visit in interface Visitor
Overrides:
visit in class Test
Parameters:
w - The way to inspect.

fixError

public Command fixError(TestError testError)
Fix the error by removing all but one instance of duplicate ways

Overrides:
fixError in class Test
Returns:
The command to fix the error

isFixable

public boolean isFixable(TestError testError)
Description copied from class: Test
Returns true if the given error can be fixed automatically

Overrides:
isFixable in class Test
Parameters:
testError - The error to check if can be fixed
Returns:
true if the error can be fixed


JOSM