Changeset 32228 in osm for applications/editors
- Timestamp:
- 2016-06-09T11:51:45+02:00 (9 years ago)
- Location:
- applications/editors/josm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/DirectionTest.java
r32227 r32228 63 63 if (!waysToCheck.get(i).getWay().hasTag("busway", "lane") 64 64 && !waysToCheck.get(i).getWay().hasTag("oneway:bus", "no") 65 && !waysToCheck.get(i).getWay().hasTag("busway", "opposite_lane")) { 66 List<OsmPrimitive> primitiveList = new ArrayList<>(2); 67 primitiveList.add(0, r); 68 primitiveList.add(1, waysToCheck.get(i).getWay()); 65 && !waysToCheck.get(i).getWay().hasTag("busway", "opposite_lane") 66 && !waysToCheck.get(i).getWay().hasTag("oneway:psv", "no") 67 && !waysToCheck.get(i).getWay().hasTag("trolley_wire", "backward")) { 68 List<Relation> primitives = new ArrayList<>(1); 69 primitives.add(r); 70 List<Way> highlighted = new ArrayList<>(1); 71 highlighted.add(waysToCheck.get(i).getWay()); 69 72 errors.add(new TestError(this, Severity.WARNING, 70 73 tr("PT: Route passes a oneway road in wrong direction"), ERROR_CODE_DIRECTION, 71 primitive List));74 primitives, highlighted)); 72 75 } 73 76 … … 76 79 if (links.get(i).direction.equals(WayConnectionType.Direction.ROUNDABOUT_LEFT) 77 80 || links.get(i).direction.equals(WayConnectionType.Direction.ROUNDABOUT_RIGHT)) { 78 List<OsmPrimitive> primitiveList = new ArrayList<>(2); 79 primitiveList.add(0, r); 80 primitiveList.add(1, waysToCheck.get(i).getWay()); 81 errors.add(new TestError(this, Severity.WARNING, 82 tr("PT: Route passes on an unsplit roundabout"), ERROR_CODE_ROUNDABOUT, 83 primitiveList)); 81 errors.add(new TestError(this, Severity.WARNING, tr("PT: Route passes on an unsplit roundabout"), 82 ERROR_CODE_ROUNDABOUT, waysToCheck.get(i).getWay())); 84 83 } 85 84 } … … 94 93 95 94 if (testError.getTester().getClass().equals(DirectionTest.class) && testError.isFixable()) { 96 List<OsmPrimitive> primitiveList = (List<OsmPrimitive>) testError.getPrimitives(); 97 Relation originalRelation = (Relation) primitiveList.get(0); 98 Way wayToRemove = (Way) primitiveList.get(1); 99 95 List<OsmPrimitive> primitives = (List<OsmPrimitive>) testError.getPrimitives(); 96 Relation originalRelation = (Relation) primitives.get(0); 97 List<OsmPrimitive> highlightedList = (List<OsmPrimitive>) testError.getHighlighted(); 98 Way wayToRemove = (Way) highlightedList.get(0); 99 100 100 Relation modifiedRelation = new Relation(originalRelation); 101 List<RelationMember> modifiedRelationMembers = new ArrayList<>(originalRelation.getMembersCount() -1);102 101 List<RelationMember> modifiedRelationMembers = new ArrayList<>(originalRelation.getMembersCount() - 1); 102 103 103 // copy PT stops first, PT ways last: 104 for (RelationMember rm: originalRelation.getMembers()) { 104 for (RelationMember rm : originalRelation.getMembers()) { 105 105 if (RouteUtils.isPTStop(rm)) { 106 106 107 107 if (rm.getRole().equals("stop_position")) { 108 108 if (rm.getType().equals(OsmPrimitiveType.NODE)) { … … 113 113 modifiedRelationMembers.add(newMember); 114 114 } 115 } else { 116 // if the relation member does not have the role "stop_position": 115 } else { 116 // if the relation member does not have the role 117 // "stop_position": 117 118 modifiedRelationMembers.add(rm); 118 119 } 119 120 } 120 121 } 121 122 } 122 123 123 124 // now copy PT ways: 124 for (RelationMember rm: originalRelation.getMembers()) { 125 for (RelationMember rm : originalRelation.getMembers()) { 125 126 if (RouteUtils.isPTWay(rm)) { 126 127 Way wayToCheck = rm.getWay(); … … 135 136 } 136 137 } 137 138 138 139 modifiedRelation.setMembers(modifiedRelationMembers); 139 140 140 141 ChangeCommand changeCommand = new ChangeCommand(originalRelation, modifiedRelation); 141 142 commands.add(changeCommand); 142 143 143 144 } 144 145 145 146 if (commands.isEmpty()) { 146 147 return null; … … 150 151 return commands.get(0); 151 152 } 152 153 153 154 return new SequenceCommand(tr("Remove way from route if it does not match the route type"), commands); 155 154 return new SequenceCommand(tr("Remove way from route if it does not match the route type"), commands); 155 156 156 } 157 157
Note:
See TracChangeset
for help on using the changeset viewer.