Changeset 32791 in osm


Ignore:
Timestamp:
2016-08-09T20:58:07+02:00 (8 years ago)
Author:
darya
Message:

fix #13293, #13294

Location:
applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/utils/StopUtils.java

    r32783 r32791  
    11package org.openstreetmap.josm.plugins.pt_assistant.utils;
    22
    3 import static org.openstreetmap.josm.tools.I18n.tr;
    4 
    5 import java.util.ArrayList;
    6 import java.util.Collection;
    7 import java.util.List;
    8 
    9 import org.openstreetmap.josm.data.osm.Node;
    103import org.openstreetmap.josm.data.osm.OsmPrimitive;
    11 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    12 import org.openstreetmap.josm.data.osm.OsmUtils;
    134import org.openstreetmap.josm.data.osm.Relation;
    14 import org.openstreetmap.josm.data.osm.RelationMember;
    15 import org.openstreetmap.josm.data.osm.Way;
    16 import org.openstreetmap.josm.data.validation.TestError;
    17 import org.openstreetmap.josm.plugins.pt_assistant.data.PTRouteDataManager;
    18 import org.openstreetmap.josm.plugins.pt_assistant.validation.PTAssistantValidatorTest;
    195
    206/**
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/NodeChecker.java

    r32783 r32791  
    55import java.lang.reflect.InvocationTargetException;
    66import java.util.ArrayList;
     7import java.util.HashMap;
    78import java.util.List;
    8 import java.util.Set;
    9 import java.util.LinkedList;
    10 import java.util.Collection;
    11 import java.util.HashMap;
    12 import java.util.Collections;
    139
    1410import javax.swing.JOptionPane;
     
    2218import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2319import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    24 import org.openstreetmap.josm.data.osm.Way;
    2520import org.openstreetmap.josm.data.osm.Relation;
    2621import org.openstreetmap.josm.data.osm.RelationMember;
     22import org.openstreetmap.josm.data.osm.Way;
    2723import org.openstreetmap.josm.data.validation.Severity;
    2824import org.openstreetmap.josm.data.validation.Test;
     
    8985                }
    9086        }
    91        
     87
    9288        /**
    9389         * Checks if the given stop_position node belongs to any stop_area relation
     
    9692         */
    9793        protected void performNodePartOfStopAreaTest() {
    98                                
     94
    9995                if (!StopUtils.verifyIfMemberOfStopArea(node)) {
    100                
     96
    10197                        List<OsmPrimitive> primitives = new ArrayList<>(1);
    10298                        primitives.add(node);
    103                         TestError e = new TestError(this.test, Severity.WARNING, tr("PT: Stop position or platform is not part of a stop area relation"),
     99                        TestError e = new TestError(this.test, Severity.WARNING,
     100                                        tr("PT: Stop position or platform is not part of a stop area relation"),
    104101                                        PTAssistantValidatorTest.ERROR_CODE_NODE_PART_OF_STOP_AREA, primitives);
    105102                        errors.add(e);
    106103                }
    107104        }
    108        
    109         /**
    110          * Checks if the given stop_position belongs to the same route relations as it's related platform(s).    *
     105
     106        /**
     107         * Checks if the given stop_position belongs to the same route relations as
     108         * its related platform(s). *
     109         *
    111110         * @param n
    112111         */
     
    123122                                stopPositionRelationIds.put(referrer.getId(), referrer.getId());
    124123                        }
    125                        
     124
    126125                        // Create list of relations the related platform(s) belongs to
    127126                        else if (referrer.get("public_transport") == "stop_area") {
    128127                                for (RelationMember stopAreaMember : referrer.getMembers()) {
    129                                         Node stopAreaMemberFoo = stopAreaMember.getNode();
    130                                         if (stopAreaMemberFoo.get("public_transport") == "platform") {
    131                                                 for (Relation stopAreaMemberReferrer : OsmPrimitive.getFilteredList(stopAreaMemberFoo.getReferrers(), Relation.class)) {
    132                                                         if (stopAreaMemberReferrer.get("type") == "route") {
    133                                                                 platformRelationIds.put(stopAreaMemberReferrer.getId(), stopAreaMemberReferrer.getId());
     128                                        if (stopAreaMember.isNode()) {
     129                                                Node stopAreaMemberFoo = stopAreaMember.getNode();
     130                                                if (stopAreaMemberFoo.get("public_transport") == "platform") {
     131                                                        for (Relation stopAreaMemberReferrer : OsmPrimitive
     132                                                                        .getFilteredList(stopAreaMemberFoo.getReferrers(), Relation.class)) {
     133                                                                if (stopAreaMemberReferrer.get("type") == "route") {
     134                                                                        platformRelationIds.put(stopAreaMemberReferrer.getId(),
     135                                                                                        stopAreaMemberReferrer.getId());
     136                                                                }
    134137                                                        }
    135138                                                }
     
    143146                        return;
    144147                }
    145                
     148
    146149                List<OsmPrimitive> primitives = new ArrayList<>(1);
    147150                primitives.add(node);
    148                 TestError e = new TestError(this.test, Severity.WARNING, tr("PT: Stop position and it's related platform(s) have different route relations"),
     151                TestError e = new TestError(this.test, Severity.WARNING,
     152                                tr("PT: Stop position and its related platform(s) have different route relations"),
    149153                                PTAssistantValidatorTest.ERROR_CODE_STOP_POSITION_COMPARE_RELATIONS, primitives);
    150154                errors.add(e);
    151155        }
    152        
    153156
    154157        /**
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/PTAssistantValidatorTest.java

    r32783 r32791  
    55import java.lang.reflect.InvocationTargetException;
    66import java.util.ArrayList;
    7 import java.util.Collection;
    8 import java.util.LinkedList;
    97import java.util.List;
    10 import java.util.Set;
    118
    129import javax.swing.JOptionPane;
     
    1714import org.openstreetmap.josm.data.osm.DataSet;
    1815import org.openstreetmap.josm.data.osm.Node;
    19 import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2016import org.openstreetmap.josm.data.osm.Relation;
    2117import org.openstreetmap.josm.data.osm.Way;
     
    3329import org.openstreetmap.josm.plugins.pt_assistant.gui.ProceedDialog;
    3430import org.openstreetmap.josm.plugins.pt_assistant.utils.RouteUtils;
     31import org.openstreetmap.josm.plugins.pt_assistant.utils.StopToWayAssigner;
    3532import org.openstreetmap.josm.plugins.pt_assistant.utils.StopUtils;
    36 import org.openstreetmap.josm.plugins.pt_assistant.utils.StopToWayAssigner;
    3733
    3834public class PTAssistantValidatorTest extends Test {
     
    111107        public void visit(Relation r) {
    112108               
     109                System.out.println("starting: visit relation id=" + r.getId() + ", ref: " + r.get("ref") + ", " + r.getMembersCount() + " members");
     110               
    113111                // Do some testing on stop area relations
    114112                if (StopUtils.isStopArea(r)) {
     
    133131
    134132                if (!RouteUtils.isTwoDirectionRoute(r)) {
     133                        System.out.println("return: not two-direction route");
    135134                        return;
    136135                }
     
    142141                        boolean downloadSuccessful = this.downloadIncompleteMembers();
    143142                        if (!downloadSuccessful) {
     143                                System.out.println("return: download not successful");
    144144                                return;
    145145                        }
     
    147147
    148148                if (r.hasIncompleteMembers()) {
     149                        System.out.println("return: has incomplete members");
    149150                        return;
    150151                }
     
    164165                        this.proceedAfterWayCheckerErrors(r);
    165166                }
     167
     168                System.out.println("ending: visit relation id=" + r.getId() + ", ref: " + r.get("ref") + ", " + r.getMembersCount() + " members");
    166169
    167170        }
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/StopChecker.java

    r32783 r32791  
    44
    55import java.util.ArrayList;
    6 import java.util.Collection;
    76import java.util.List;
    87import java.util.Set;
    9 import java.util.HashMap;
    108
    11 
    12 import org.openstreetmap.josm.command.ChangeCommand;
    13 import org.openstreetmap.josm.command.Command;
    149import org.openstreetmap.josm.data.osm.OsmPrimitive;
    15 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1610import org.openstreetmap.josm.data.osm.Relation;
    17 import org.openstreetmap.josm.data.osm.RelationMember;
    18 import org.openstreetmap.josm.data.osm.Way;
    1911import org.openstreetmap.josm.data.validation.Severity;
    2012import org.openstreetmap.josm.data.validation.Test;
Note: See TracChangeset for help on using the changeset viewer.