Changeset 449 in josm for trunk/src/org


Ignore:
Timestamp:
2007-11-01T14:35:36+01:00 (17 years ago)
Author:
gebner
Message:

GpxReader: Handle <extensions> that are not children of <gpx>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/GpxReader.java

    r447 r449  
    102102                                        currentState = state.trkseg;
    103103                                        currentTrackSeg = new ArrayList<WayPoint>();
    104                                 }
    105                                 if (qName.equals("link")) {
    106                                         states.push(currentState);
    107                                         currentState = state.link;
    108                                         currentLink = new GpxLink(atts.getValue("href"));
     104                                } else if (qName.equals("link")) {
     105                                        states.push(currentState);
     106                                        currentState = state.link;
     107                                        currentLink = new GpxLink(atts.getValue("href"));
     108                                } else if (qName.equals("extensions")) {
     109                                        states.push(currentState);
     110                                        currentState = state.ext;
    109111                                }
    110112                                break;
     
    113115                                        states.push(currentState);
    114116                                        currentState = state.author;
     117                                } else if (qName.equals("extensions")) {
     118                                        states.push(currentState);
     119                                        currentState = state.ext;
    115120                                }
    116121                                break;
     
    128133                                        currentState = state.link;
    129134                                        currentLink = new GpxLink(atts.getValue("href"));
     135                                } else if (qName.equals("extensions")) {
     136                                        states.push(currentState);
     137                                        currentState = state.ext;
    130138                                }
    131139                                break;
     
    135143                                        currentState = state.link;
    136144                                        currentLink = new GpxLink(atts.getValue("href"));
    137                                 }
    138                                 if (qName.equals("rtept")) {
     145                                } else if (qName.equals("rtept")) {
    139146                                        LatLon ll = new LatLon(Double.parseDouble(atts.getValue("lat")), Double.parseDouble(atts.getValue("lon")));
    140147                                        states.push(currentState);
    141148                                        currentState = state.wpt;
    142149                                        currentWayPoint = new WayPoint(ll);
     150                                } else if (qName.equals("extensions")) {
     151                                        states.push(currentState);
     152                                        currentState = state.ext;
    143153                                }
    144154                                break;
     
    232242                                        currentTrack.attr.put(qName, accumulator.toString());
    233243                                }
     244                                break;
     245                        case ext:
     246                                if (qName.equals("extensions")) {
     247                                        currentState = states.pop();
     248                                }
     249                                break;
    234250                        default:
    235251                                if (qName.equals("wpt")) {
     
    238254                                        currentState = states.pop();
    239255                                        currentData.routes.add(currentRoute);
    240                                 } else if (qName.equals("extensions")) {
    241                                         currentState = states.pop();
    242256                                }
    243257                        }
Note: See TracChangeset for help on using the changeset viewer.