Changeset 2501 in josm


Ignore:
Timestamp:
Nov 22, 2009 5:14:56 PM (4 years ago)
Author:
jttt
Message:

Added another tests to dataset consistency tester

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/DatasetConsistencyTest.java

    r2500 r2501  
    8282    } 
    8383 
     84    private void checkReferredPrimitive(OsmPrimitive primitive, OsmPrimitive parent) { 
     85        if (dataSet.getPrimitiveById(primitive) == null) { 
     86            writer.println(String.format("%s is referenced by %s but not found in dataset", primitive, parent)); 
     87        } 
     88        if (dataSet.getPrimitiveById(primitive) != primitive) { 
     89            writer.println(String.format("%s is different instance that reffered by %s", primitive, parent)); 
     90        } 
     91        if (primitive.isDeleted()) { 
     92            writer.println(String.format("%s reffers to deleted primitive %s", parent, primitive)); 
     93        } 
     94    } 
     95 
     96    private void refferedPrimitiveNotInDataset() { 
     97        for (Way way:dataSet.getWays()) { 
     98            for (Node node:way.getNodes()) { 
     99                checkReferredPrimitive(node, way); 
     100            } 
     101        } 
     102 
     103        for (Relation relation:dataSet.getRelations()) { 
     104            for (RelationMember member:relation.getMembers()) { 
     105                checkReferredPrimitive(member.getMember(), relation); 
     106            } 
     107        } 
     108    } 
     109 
    84110    public void runTest() { 
    85         checkReferrers(); 
    86         checkCompleteWaysWithIncompleteNodes(); 
    87         checkCompleteNodesWithoutCoordinates(); 
    88         searchNodes(); 
    89         searchWays(); 
     111        try { 
     112            checkReferrers(); 
     113            checkCompleteWaysWithIncompleteNodes(); 
     114            checkCompleteNodesWithoutCoordinates(); 
     115            searchNodes(); 
     116            searchWays(); 
     117            refferedPrimitiveNotInDataset(); 
     118        } catch (Exception e) { 
     119            writer.println("Exception during dataset integrity test:"); 
     120            e.printStackTrace(writer); 
     121        } 
    90122    } 
    91123 
Note: See TracChangeset for help on using the changeset viewer.