Ignore:
Timestamp:
2016-06-27T00:49:06+02:00 (9 years ago)
Author:
darya
Message:

Extra layer added

Location:
applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/data/PTStop.java

    r32367 r32415  
    5252         *         already has an attribute with that role.
    5353         */
    54         public boolean addStopElement(RelationMember member) {
     54        protected boolean addStopElement(RelationMember member) {
    5555
    5656                // each element is only allowed once per stop
     
    9797        }
    9898
    99         public String getName() {
     99        protected String getName() {
    100100                return this.name;
    101101        }
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/utils/RouteUtils.java

    r32367 r32415  
    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.List;
    7 
    8 import javax.swing.JCheckBox;
    9 import javax.swing.JOptionPane;
    10 
    11 import org.openstreetmap.josm.actions.DownloadPrimitiveAction;
    12 import org.openstreetmap.josm.data.osm.OsmPrimitive;
    133import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    14 import org.openstreetmap.josm.data.osm.PrimitiveId;
    154import org.openstreetmap.josm.data.osm.Relation;
    165import org.openstreetmap.josm.data.osm.RelationMember;
     
    4534                                || r.hasTag("route", "tram") || r.hasTag("route", "light_rail") || r.hasTag("route", "subway")
    4635                                || r.hasTag("route", "train")) {
    47                         return true;
     36                       
     37                        if (!r.hasTag("bus", "on_demand")) {
     38                                return true;
     39                        }
     40                       
    4841                }
    4942                return false;
     
    6053        public static boolean isPTStop(RelationMember rm) {
    6154
    62                 if (rm.getType().equals(OsmPrimitiveType.NODE)) {
     55                if (rm.hasRole("stop") || rm.hasRole("stop_entry_only") || rm.hasRole("stop_exit_only")
     56                                || rm.hasRole("platform") || rm.hasRole("platform_entry_only") || rm.hasRole("platform_exit_only")) {
    6357
    64                         if (rm.hasRole("stop") || rm.hasRole("stop_entry_only") || rm.hasRole("stop_exit_only")
    65                                         || rm.hasRole("platform") || rm.hasRole("platform_entry_only")
    66                                         || rm.hasRole("platform_exit_only")) {
     58                        if (rm.getType().equals(OsmPrimitiveType.NODE)) {
    6759
    6860                                if (rm.getNode().hasTag("public_transport", "stop_position")
    6961                                                || rm.getNode().hasTag("highway", "bus_stop")
    7062                                                || rm.getNode().hasTag("public_transport", "platform")
    71                                                 || rm.getNode().hasTag("public_transport", "platform_entry_only")
    72                                                 || rm.getNode().hasTag("public_transport", "platform_exit_only")
    73                                                 || rm.getNode().hasTag("highway", "platform")
    74                                                 || rm.getNode().hasTag("highway", "platform_entry_only")
    75                                                 || rm.getNode().hasTag("highway", "platform_exit_only")
    76                                                 || rm.getNode().hasTag("railway", "platform")
    77                                                 || rm.getNode().hasTag("railway", "platform_entry_only")
    78                                                 || rm.getNode().hasTag("railway", "platform_exit_only")) {
     63                                                || rm.getNode().hasTag("highway", "platform") || rm.getNode().hasTag("railway", "platform")) {
     64                                        return true;
     65
     66                                }
     67                        }
     68
     69                        if (rm.getType().equals(OsmPrimitiveType.WAY)) {
     70                                if (rm.getWay().hasTag("public_transport", "platform") || rm.getWay().hasTag("highway", "platform")
     71                                                || rm.getWay().hasTag("railway", "platform")) {
    7972                                        return true;
    8073                                }
    81                         }
    82                 }
    83 
    84                 if (rm.getType().equals(OsmPrimitiveType.WAY)) {
    85                         if (rm.getWay().hasTag("public_transport", "platform")
    86                                         || rm.getWay().hasTag("public_transport", "platform_entry_only")
    87                                         || rm.getWay().hasTag("public_transport", "platform_exit_only")
    88                                         || rm.getWay().hasTag("highway", "platform") || rm.getWay().hasTag("highway", "platform_entry_only")
    89                                         || rm.getWay().hasTag("highway", "platform_exist_only") || rm.getWay().hasTag("railway", "platform")
    90                                         || rm.getWay().hasTag("railway", "platform_entry_only")
    91                                         || rm.getWay().hasTag("railway", "platform_exit_only")) {
    92                                 return true;
    9374                        }
    9475                }
     
    11596
    11697                if (rm.getType().equals(OsmPrimitiveType.WAY)) {
     98                        if (rm.getWay().hasTag("public_transport", "platform") || rm.getWay().hasTag("highway", "platform")
     99                                        || rm.getWay().hasTag("railway", "platform")) {
     100                                return false;
     101                        }
    117102                        return true;
    118103                }
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/PTAssitantValidatorTest.java

    r32367 r32415  
    77
    88import javax.swing.JOptionPane;
    9 import javax.swing.SwingUtilities;
    10 
     9
     10import org.openstreetmap.josm.Main;
    1111import org.openstreetmap.josm.command.ChangeCommand;
    1212import org.openstreetmap.josm.command.Command;
    1313import org.openstreetmap.josm.command.SequenceCommand;
     14import org.openstreetmap.josm.data.osm.DataSet;
    1415import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1516import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
     
    2425import org.openstreetmap.josm.plugins.pt_assistant.actions.IncompleteMembersDownloadThread;
    2526import org.openstreetmap.josm.plugins.pt_assistant.gui.IncompleteMembersDownloadDialog;
     27import org.openstreetmap.josm.plugins.pt_assistant.gui.PTAssistantLayer;
    2628import org.openstreetmap.josm.plugins.pt_assistant.gui.ProceedDialog;
    2729import org.openstreetmap.josm.plugins.pt_assistant.utils.RouteUtils;
     
    3133        public static final int ERROR_CODE_SORTING = 3711;
    3234        public static final int ERROR_CODE_ROAD_TYPE = 3721;
     35        public static final int ERROR_CODE_CONSTRUCTION = 3722;
    3336        public static final int ERROR_CODE_DIRECTION = 3731;
    3437        public static final int ERROR_CODE_END_STOP = 3141;
     
    3639        public static final int ERROR_CODE_RELAITON_MEMBER_ROLES = 3143;
    3740
     41        private PTAssistantLayer layer;
     42
    3843        public PTAssitantValidatorTest() {
    3944                super(tr("Public Transport Assistant tests"),
    4045                                tr("Check if route relations are compatible with public transport version 2"));
     46
     47                layer = new PTAssistantLayer();
     48                DataSet.addSelectionListener(layer);
    4149
    4250        }
     
    6068                        return;
    6169                }
     70
     71//              if (!Main.getLayerManager().containsLayer(layer)) {
     72//                      Main.getLayerManager().addLayer(layer);
     73//              }
     74//              layer.clear();
     75//              layer.addPrimitive(r);
    6276
    6377                // Check individual ways using the oneway direction test and the road
     
    192206                // Check if the creation of the route data model in the segment checker
    193207                // worked. If it did not, it means the roles in the route relation do
    194                 // not match the tags of the route members. 
     208                // not match the tags of the route members.
    195209                if (!segmentChecker.getErrors().isEmpty()) {
    196210                        this.errors.addAll(segmentChecker.getErrors());
     
    202216                // TODO: perform segment test
    203217                this.errors.addAll(segmentChecker.getErrors());
    204 //              performDummyTest(r);
     218                // performDummyTest(r);
    205219        }
    206220
     
    211225        public boolean isFixable(TestError testError) {
    212226                if (testError.getCode() == ERROR_CODE_DIRECTION || testError.getCode() == ERROR_CODE_ROAD_TYPE
    213                                 || testError.getCode() == ERROR_CODE_SORTING) {
     227                                || testError.getCode() == ERROR_CODE_CONSTRUCTION || testError.getCode() == ERROR_CODE_SORTING) {
    214228                        return true;
    215229                }
     
    222236                List<Command> commands = new ArrayList<>();
    223237
    224                 if (testError.getCode() == ERROR_CODE_DIRECTION || testError.getCode() == ERROR_CODE_ROAD_TYPE) {
     238                if (testError.getCode() == ERROR_CODE_DIRECTION || testError.getCode() == ERROR_CODE_ROAD_TYPE
     239                                || testError.getCode() == ERROR_CODE_CONSTRUCTION) {
    225240                        commands.add(fixErrorByRemovingWay(testError));
    226241                }
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/RoadTypeTest.java

    r32266 r32415  
    2222
    2323        public static final int ERROR_CODE_ROAD_TYPE = 3721;
     24        public static final int ERROR_CODE_CONSTRUCTION = 3722;
    2425
    2526        public RoadTypeTest() {
     
    8788                                                        tr("PT: Route type does not match the type of the road it passes on"), ERROR_CODE_ROAD_TYPE,
    8889                                                        primitives, highlighted));
     90                                }
     91                               
     92                                if ((way.hasTag("highway", "construction") || way.hasTag("railway", "construction")) && way.hasKey("construction")) {
     93                                        List<Relation> primitives = new ArrayList<>(1);
     94                                        primitives.add(r);
     95                                        List<Way> highlighted = new ArrayList<>(1);
     96                                        highlighted.add(way);
     97                                        TestError e = new TestError(this, Severity.WARNING,
     98                                                        tr("PT: Road is under construction"),
     99                                                        PTAssitantValidatorTest.ERROR_CODE_CONSTRUCTION, primitives, highlighted);
     100                                        errors.add(e);
    89101                                }
    90102
     
    168180        @Override
    169181        public boolean isFixable(TestError testError) {
    170                 if (testError.getCode() == ERROR_CODE_ROAD_TYPE) {
     182                if (testError.getCode() == ERROR_CODE_ROAD_TYPE || testError.getCode() == ERROR_CODE_CONSTRUCTION) {
    171183                        return true;
    172184                }
  • applications/editors/josm/plugins/pt_assistant/src/org/openstreetmap/josm/plugins/pt_assistant/validation/WayChecker.java

    r32353 r32415  
    9595
    9696                                }
     97                               
     98                                if ((way.hasTag("highway", "construction") || way.hasTag("railway", "construction")) && way.hasKey("construction")) {
     99                                        List<Relation> primitives = new ArrayList<>(1);
     100                                        primitives.add(relation);
     101                                        List<Way> highlighted = new ArrayList<>(1);
     102                                        highlighted.add(way);
     103                                        TestError e = new TestError(this.test, Severity.WARNING,
     104                                                        tr("PT: Road is under construction"),
     105                                                        PTAssitantValidatorTest.ERROR_CODE_CONSTRUCTION, primitives, highlighted);
     106                                        errors.add(e);
     107                                }
    97108                        }
    98109                }
Note: See TracChangeset for help on using the changeset viewer.