Changeset 32228 in osm for applications/editors


Ignore:
Timestamp:
2016-06-09T11:51:45+02:00 (9 years ago)
Author:
darya
Message:

Clarification in DirectionTest

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  
    6363                                        if (!waysToCheck.get(i).getWay().hasTag("busway", "lane")
    6464                                                        && !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());
    6972                                                errors.add(new TestError(this, Severity.WARNING,
    7073                                                                tr("PT: Route passes a oneway road in wrong direction"), ERROR_CODE_DIRECTION,
    71                                                                 primitiveList));
     74                                                                primitives, highlighted));
    7275                                        }
    7376
     
    7679                                if (links.get(i).direction.equals(WayConnectionType.Direction.ROUNDABOUT_LEFT)
    7780                                                || 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()));
    8483                                }
    8584                        }
     
    9493
    9594                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
    100100                        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
    103103                        // copy PT stops first, PT ways last:
    104                         for (RelationMember rm: originalRelation.getMembers()) {
     104                        for (RelationMember rm : originalRelation.getMembers()) {
    105105                                if (RouteUtils.isPTStop(rm)) {
    106                                        
     106
    107107                                        if (rm.getRole().equals("stop_position")) {
    108108                                                if (rm.getType().equals(OsmPrimitiveType.NODE)) {
     
    113113                                                        modifiedRelationMembers.add(newMember);
    114114                                                }
    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":
    117118                                                modifiedRelationMembers.add(rm);
    118119                                        }
    119                                        
    120                                 } 
     120
     121                                }
    121122                        }
    122                        
     123
    123124                        // now copy PT ways:
    124                         for (RelationMember rm: originalRelation.getMembers()) {
     125                        for (RelationMember rm : originalRelation.getMembers()) {
    125126                                if (RouteUtils.isPTWay(rm)) {
    126127                                        Way wayToCheck = rm.getWay();
     
    135136                                }
    136137                        }
    137                        
     138
    138139                        modifiedRelation.setMembers(modifiedRelationMembers);
    139                        
     140
    140141                        ChangeCommand changeCommand = new ChangeCommand(originalRelation, modifiedRelation);
    141142                        commands.add(changeCommand);
    142                        
     143
    143144                }
    144                
     145
    145146                if (commands.isEmpty()) {
    146147                        return null;
     
    150151                        return commands.get(0);
    151152                }
    152                
    153153
    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
    156156        }
    157157
Note: See TracChangeset for help on using the changeset viewer.