- Timestamp:
- 2010-05-24T09:10:29+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/DatasetConsistencyTest.java
r3083 r3274 34 34 35 35 public void checkReferrers() { 36 // It's also error when referred primitive's dataset is null but it's already covered by referredPrimitiveNotInDataset check 36 37 for (Way way:dataSet.getWays()) { 37 38 if (!way.isDeleted()) { 38 39 for (Node n:way.getNodes()) { 39 if ( !n.getReferrers().contains(way)) {40 if (n.getDataSet() != null && !n.getReferrers().contains(way)) { 40 41 printError("WAY NOT IN REFERRERS", "%s is part of %s but is not in referrers", n, way); 41 42 } … … 47 48 if (!relation.isDeleted()) { 48 49 for (RelationMember m:relation.getMembers()) { 49 if ( !m.getMember().getReferrers().contains(relation)) {50 if (m.getMember().getDataSet() != null && !m.getMember().getReferrers().contains(relation)) { 50 51 printError("RELATION NOT IN REFERRERS", "%s is part of %s but is not in referrers", m.getMember(), relation); 51 52 } … … 96 97 97 98 private void checkReferredPrimitive(OsmPrimitive primitive, OsmPrimitive parent) { 98 if (dataSet.getPrimitiveById(primitive) == null) { 99 if (primitive.getDataSet() == null) { 100 printError("NO DATASET", "%s is referenced by %s but not found in dataset", primitive, parent); 101 } else if (dataSet.getPrimitiveById(primitive) == null) { 99 102 printError("REFERENCED BUT NOT IN DATA", "%s is referenced by %s but not found in dataset", primitive, parent); 100 } 101 if (dataSet.getPrimitiveById(primitive) != primitive) { 103 } else if (dataSet.getPrimitiveById(primitive) != primitive) { 102 104 printError("DIFFERENT INSTANCE", "%s is different instance that referred by %s", primitive, parent); 103 105 } 106 104 107 if (primitive.isDeleted()) { 105 108 printError("DELETED REFERENCED", "%s refers to deleted primitive %s", parent, primitive); … … 134 137 public void runTest() { 135 138 try { 139 referredPrimitiveNotInDataset(); 136 140 checkReferrers(); 137 141 checkCompleteWaysWithIncompleteNodes(); … … 139 143 searchNodes(); 140 144 searchWays(); 141 referredPrimitiveNotInDataset();142 145 checkZeroNodesWays(); 143 146 if (errorCount > MAX_ERRORS) {
Note:
See TracChangeset
for help on using the changeset viewer.