Changeset 2789 in josm


Ignore:
Timestamp:
Jan 9, 2010 3:49:04 PM (3 years ago)
Author:
jttt
Message:

Fixed some FindBugs warnings

Location:
trunk
Files:
13 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/projection/LambertEST.java

    r2516 r2789  
    5858    } 
    5959 
    60     public  static double IterateAngle(double e, double t) 
     60    public static double iterateAngle(double e, double t) 
    6161    { 
    6262        double a1 = 0.0; 
     
    8888        double theta = Math.atan((p.getX() - ef) / (rf - p.getY() + nf)); 
    8989        double y = (theta / n + lonf) ; 
    90         double x = (IterateAngle(ee, T)) ; 
     90        double x = iterateAngle(ee, T); 
    9191        return new LatLon(Math.toDegrees(x),Math.toDegrees(y)); 
    9292    } 
  • trunk/src/org/openstreetmap/josm/data/projection/Puwg.java

    r2676 r2789  
    4646        double scale = z.getPuwgScaleFactor(); 
    4747        double center = z.getPuwgCentralMeridian(); /* in radians */ 
    48         EastNorth a = MapLatLonToXY(Math.toRadians(p.lat()), Math.toRadians(p.lon()), center); 
     48        EastNorth a = mapLatLonToXY(Math.toRadians(p.lat()), Math.toRadians(p.lon()), center); 
    4949        return new EastNorth(a.east() * scale + easting, a.north() * scale + northing); 
    5050    } 
     
    5757        double scale = z.getPuwgScaleFactor(); 
    5858        double center = z.getPuwgCentralMeridian(); /* in radians */ 
    59         return MapXYToLatLon((p.east() - easting)/scale, (p.north() - northing)/scale, center); 
     59        return mapXYToLatLon((p.east() - easting)/scale, (p.north() - northing)/scale, center); 
    6060    } 
    6161 
  • trunk/src/org/openstreetmap/josm/data/projection/UTM.java

    r2516 r2789  
    1212import javax.swing.JPanel; 
    1313 
    14 import org.openstreetmap.josm.Main; 
    1514import org.openstreetmap.josm.data.Bounds; 
    1615import org.openstreetmap.josm.data.coor.EastNorth; 
     
    2928    private int zone = DEFAULT_ZONE; 
    3029 
    31     final private double UTMScaleFactor = 0.9996; 
     30    final private static double UTMScaleFactor = 0.9996; 
    3231 
    3332    /* Ellipsoid model constants (WGS84) - TODO Use Elliposid class here too */ 
    34     final private double sm_EccSquared = 6.69437999013e-03; 
     33    //final private double sm_EccSquared = 6.69437999013e-03; 
    3534 
    3635    /* 
    37     * ArcLengthOfMeridian 
    38     * 
    39     * Computes the ellipsoidal distance from the equator to a point at a 
    40     * given latitude. 
    41     * 
    42     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
    43     * GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
    44     * 
    45     * Inputs: 
    46     *     phi - Latitude of the point, in radians. 
    47     * 
    48     * Globals: 
    49     *     Ellipsoid.GRS80.a - Ellipsoid model major axis. 
    50     *     Ellipsoid.GRS80.b - Ellipsoid model minor axis. 
    51     * 
    52     * Returns: 
    53     *     The ellipsoidal distance of the point from the equator, in meters. 
    54     * 
    55     */ 
     36     * ArcLengthOfMeridian 
     37     * 
     38     * Computes the ellipsoidal distance from the equator to a point at a 
     39     * given latitude. 
     40     * 
     41     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
     42     * GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
     43     * 
     44     * Inputs: 
     45     *     phi - Latitude of the point, in radians. 
     46     * 
     47     * Globals: 
     48     *     Ellipsoid.GRS80.a - Ellipsoid model major axis. 
     49     *     Ellipsoid.GRS80.b - Ellipsoid model minor axis. 
     50     * 
     51     * Returns: 
     52     *     The ellipsoidal distance of the point from the equator, in meters. 
     53     * 
     54     */ 
    5655    private double ArcLengthOfMeridian(double phi) 
    5756    { 
     
    6160        /* Precalculate alpha */ 
    6261        double alpha = ((Ellipsoid.GRS80.a + Ellipsoid.GRS80.b) / 2.0) 
    63            * (1.0 + (Math.pow (n, 2.0) / 4.0) + (Math.pow (n, 4.0) / 64.0)); 
     62        * (1.0 + (Math.pow (n, 2.0) / 4.0) + (Math.pow (n, 4.0) / 64.0)); 
    6463 
    6564        /* Precalculate beta */ 
    6665        double beta = (-3.0 * n / 2.0) + (9.0 * Math.pow (n, 3.0) / 16.0) 
    67            + (-3.0 * Math.pow (n, 5.0) / 32.0); 
     66        + (-3.0 * Math.pow (n, 5.0) / 32.0); 
    6867 
    6968        /* Precalculate gamma */ 
    7069        double gamma = (15.0 * Math.pow (n, 2.0) / 16.0) 
    71             + (-15.0 * Math.pow (n, 4.0) / 32.0); 
     70        + (-15.0 * Math.pow (n, 4.0) / 32.0); 
    7271 
    7372        /* Precalculate delta */ 
    7473        double delta = (-35.0 * Math.pow (n, 3.0) / 48.0) 
    75             + (105.0 * Math.pow (n, 5.0) / 256.0); 
     74        + (105.0 * Math.pow (n, 5.0) / 256.0); 
    7675 
    7776        /* Precalculate epsilon */ 
     
    8180        return alpha 
    8281        * (phi + (beta * Math.sin (2.0 * phi)) 
    83             + (gamma * Math.sin (4.0 * phi)) 
    84             + (delta * Math.sin (6.0 * phi)) 
    85             + (epsilon * Math.sin (8.0 * phi))); 
     82                + (gamma * Math.sin (4.0 * phi)) 
     83                + (delta * Math.sin (6.0 * phi)) 
     84                + (epsilon * Math.sin (8.0 * phi))); 
    8685    } 
    8786 
    8887    /* 
    89     * UTMCentralMeridian 
    90     * 
    91     * Determines the central meridian for the given UTM zone. 
    92     * 
    93     * Inputs: 
    94     *     zone - An integer value designating the UTM zone, range [1,60]. 
    95     * 
    96     * Returns: 
    97     *   The central meridian for the given UTM zone, in radians, or zero 
    98     *   if the UTM zone parameter is outside the range [1,60]. 
    99     *   Range of the central meridian is the radian equivalent of [-177,+177]. 
    100     * 
    101     */ 
     88     * UTMCentralMeridian 
     89     * 
     90     * Determines the central meridian for the given UTM zone. 
     91     * 
     92     * Inputs: 
     93     *     zone - An integer value designating the UTM zone, range [1,60]. 
     94     * 
     95     * Returns: 
     96     *   The central meridian for the given UTM zone, in radians, or zero 
     97     *   if the UTM zone parameter is outside the range [1,60]. 
     98     *   Range of the central meridian is the radian equivalent of [-177,+177]. 
     99     * 
     100     */ 
    102101    private double UTMCentralMeridian(int zone) 
    103102    { 
     
    110109 
    111110    /* 
    112     * FootpointLatitude 
    113     * 
    114     * Computes the footpoint latitude for use in converting transverse 
    115     * Mercator coordinates to ellipsoidal coordinates. 
    116     * 
    117     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
    118     *   GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
    119     * 
    120     * Inputs: 
    121     *   y - The UTM northing coordinate, in meters. 
    122     * 
    123     * Returns: 
    124     *   The footpoint latitude, in radians. 
    125     * 
    126     */ 
     111     * FootpointLatitude 
     112     * 
     113     * Computes the footpoint latitude for use in converting transverse 
     114     * Mercator coordinates to ellipsoidal coordinates. 
     115     * 
     116     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
     117     *   GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
     118     * 
     119     * Inputs: 
     120     *   y - The UTM northing coordinate, in meters. 
     121     * 
     122     * Returns: 
     123     *   The footpoint latitude, in radians. 
     124     * 
     125     */ 
    127126    private double FootpointLatitude(double y) 
    128127    { 
     
    133132        /* (Same as alpha in Eq. 10.17) */ 
    134133        double alpha_ = ((Ellipsoid.GRS80.a + Ellipsoid.GRS80.b) / 2.0) 
    135             * (1 + (Math.pow (n, 2.0) / 4) + (Math.pow (n, 4.0) / 64)); 
     134        * (1 + (Math.pow (n, 2.0) / 4) + (Math.pow (n, 4.0) / 64)); 
    136135 
    137136        /* Precalculate y_ (Eq. 10.23) */ 
     
    140139        /* Precalculate beta_ (Eq. 10.22) */ 
    141140        double beta_ = (3.0 * n / 2.0) + (-27.0 * Math.pow (n, 3.0) / 32.0) 
    142             + (269.0 * Math.pow (n, 5.0) / 512.0); 
     141        + (269.0 * Math.pow (n, 5.0) / 512.0); 
    143142 
    144143        /* Precalculate gamma_ (Eq. 10.22) */ 
    145144        double gamma_ = (21.0 * Math.pow (n, 2.0) / 16.0) 
    146             + (-55.0 * Math.pow (n, 4.0) / 32.0); 
     145        + (-55.0 * Math.pow (n, 4.0) / 32.0); 
    147146 
    148147        /* Precalculate delta_ (Eq. 10.22) */ 
    149148        double delta_ = (151.0 * Math.pow (n, 3.0) / 96.0) 
    150             + (-417.0 * Math.pow (n, 5.0) / 128.0); 
     149        + (-417.0 * Math.pow (n, 5.0) / 128.0); 
    151150 
    152151        /* Precalculate epsilon_ (Eq. 10.22) */ 
     
    155154        /* Now calculate the sum of the series (Eq. 10.21) */ 
    156155        return y_ + (beta_ * Math.sin (2.0 * y_)) 
    157             + (gamma_ * Math.sin (4.0 * y_)) 
    158             + (delta_ * Math.sin (6.0 * y_)) 
    159             + (epsilon_ * Math.sin (8.0 * y_)); 
     156        + (gamma_ * Math.sin (4.0 * y_)) 
     157        + (delta_ * Math.sin (6.0 * y_)) 
     158        + (epsilon_ * Math.sin (8.0 * y_)); 
    160159    } 
    161160 
    162161    /* 
    163     * MapLatLonToXY 
    164     * 
    165     * Converts a latitude/longitude pair to x and y coordinates in the 
    166     * Transverse Mercator projection.  Note that Transverse Mercator is not 
    167     * the same as UTM; a scale factor is required to convert between them. 
    168     * 
    169     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
    170     * GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
    171     * 
    172     * Inputs: 
    173     *    phi - Latitude of the point, in radians. 
    174     *    lambda - Longitude of the point, in radians. 
    175     *    lambda0 - Longitude of the central meridian to be used, in radians. 
    176     * 
    177     * Outputs: 
    178     *    xy - A 2-element array containing the x and y coordinates 
    179     *         of the computed point. 
    180     * 
    181     * Returns: 
    182     *    The function does not return a value. 
    183     * 
    184     */ 
    185     public EastNorth MapLatLonToXY(double phi, double lambda, double lambda0) 
     162     * MapLatLonToXY 
     163     * 
     164     * Converts a latitude/longitude pair to x and y coordinates in the 
     165     * Transverse Mercator projection.  Note that Transverse Mercator is not 
     166     * the same as UTM; a scale factor is required to convert between them. 
     167     * 
     168     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
     169     * GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
     170     * 
     171     * Inputs: 
     172     *    phi - Latitude of the point, in radians. 
     173     *    lambda - Longitude of the point, in radians. 
     174     *    lambda0 - Longitude of the central meridian to be used, in radians. 
     175     * 
     176     * Outputs: 
     177     *    xy - A 2-element array containing the x and y coordinates 
     178     *         of the computed point. 
     179     * 
     180     * Returns: 
     181     *    The function does not return a value. 
     182     * 
     183     */ 
     184    public EastNorth mapLatLonToXY(double phi, double lambda, double lambda0) 
    186185    { 
    187186        /* Precalculate ep2 */ 
     
    197196        double t = Math.tan (phi); 
    198197        double t2 = t * t; 
    199         double tmp = (t2 * t2 * t2) - Math.pow (t, 6.0); 
    200198 
    201199        /* Precalculate l */ 
     
    211209 
    212210        double l5coef = 5.0 - 18.0 * t2 + (t2 * t2) + 14.0 * nu2 
    213             - 58.0 * t2 * nu2; 
     211        - 58.0 * t2 * nu2; 
    214212 
    215213        double l6coef = 61.0 - 58.0 * t2 + (t2 * t2) + 270.0 * nu2 
    216             - 330.0 * t2 * nu2; 
     214        - 330.0 * t2 * nu2; 
    217215 
    218216        double l7coef = 61.0 - 479.0 * t2 + 179.0 * (t2 * t2) - (t2 * t2 * t2); 
     
    221219 
    222220        return new EastNorth( 
    223         /* Calculate easting (x) */ 
    224         N * Math.cos (phi) * l 
    225             + (N / 6.0 * Math.pow (Math.cos (phi), 3.0) * l3coef * Math.pow (l, 3.0)) 
    226             + (N / 120.0 * Math.pow (Math.cos (phi), 5.0) * l5coef * Math.pow (l, 5.0)) 
    227             + (N / 5040.0 * Math.pow (Math.cos (phi), 7.0) * l7coef * Math.pow (l, 7.0)), 
    228         /* Calculate northing (y) */ 
    229         ArcLengthOfMeridian (phi) 
    230             + (t / 2.0 * N * Math.pow (Math.cos (phi), 2.0) * Math.pow (l, 2.0)) 
    231             + (t / 24.0 * N * Math.pow (Math.cos (phi), 4.0) * l4coef * Math.pow (l, 4.0)) 
    232             + (t / 720.0 * N * Math.pow (Math.cos (phi), 6.0) * l6coef * Math.pow (l, 6.0)) 
    233             + (t / 40320.0 * N * Math.pow (Math.cos (phi), 8.0) * l8coef * Math.pow (l, 8.0))); 
     221                /* Calculate easting (x) */ 
     222                N * Math.cos (phi) * l 
     223                + (N / 6.0 * Math.pow (Math.cos (phi), 3.0) * l3coef * Math.pow (l, 3.0)) 
     224                + (N / 120.0 * Math.pow (Math.cos (phi), 5.0) * l5coef * Math.pow (l, 5.0)) 
     225                + (N / 5040.0 * Math.pow (Math.cos (phi), 7.0) * l7coef * Math.pow (l, 7.0)), 
     226                /* Calculate northing (y) */ 
     227                ArcLengthOfMeridian (phi) 
     228                + (t / 2.0 * N * Math.pow (Math.cos (phi), 2.0) * Math.pow (l, 2.0)) 
     229                + (t / 24.0 * N * Math.pow (Math.cos (phi), 4.0) * l4coef * Math.pow (l, 4.0)) 
     230                + (t / 720.0 * N * Math.pow (Math.cos (phi), 6.0) * l6coef * Math.pow (l, 6.0)) 
     231                + (t / 40320.0 * N * Math.pow (Math.cos (phi), 8.0) * l8coef * Math.pow (l, 8.0))); 
    234232    } 
    235233 
    236234    /* 
    237     * MapXYToLatLon 
    238     * 
    239     * Converts x and y coordinates in the Transverse Mercator projection to 
    240     * a latitude/longitude pair.  Note that Transverse Mercator is not 
    241     * the same as UTM; a scale factor is required to convert between them. 
    242     * 
    243     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
    244     *   GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
    245     * 
    246     * Inputs: 
    247     *   x - The easting of the point, in meters. 
    248     *   y - The northing of the point, in meters. 
    249     *   lambda0 - Longitude of the central meridian to be used, in radians. 
    250     * 
    251     * Outputs: 
    252     *   philambda - A 2-element containing the latitude and longitude 
    253     *               in radians. 
    254     * 
    255     * Returns: 
    256     *   The function does not return a value. 
    257     * 
    258     * Remarks: 
    259     *   The local variables Nf, nuf2, tf, and tf2 serve the same purpose as 
    260     *   N, nu2, t, and t2 in MapLatLonToXY, but they are computed with respect 
    261     *   to the footpoint latitude phif. 
    262     * 
    263     *   x1frac, x2frac, x2poly, x3poly, etc. are to enhance readability and 
    264     *   to optimize computations. 
    265     * 
    266     */ 
    267     public LatLon MapXYToLatLon(double x, double y, double lambda0) 
     235     * MapXYToLatLon 
     236     * 
     237     * Converts x and y coordinates in the Transverse Mercator projection to 
     238     * a latitude/longitude pair.  Note that Transverse Mercator is not 
     239     * the same as UTM; a scale factor is required to convert between them. 
     240     * 
     241     * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., 
     242     *   GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994. 
     243     * 
     244     * Inputs: 
     245     *   x - The easting of the point, in meters. 
     246     *   y - The northing of the point, in meters. 
     247     *   lambda0 - Longitude of the central meridian to be used, in radians. 
     248     * 
     249     * Outputs: 
     250     *   philambda - A 2-element containing the latitude and longitude 
     251     *               in radians. 
     252     * 
     253     * Returns: 
     254     *   The function does not return a value. 
     255     * 
     256     * Remarks: 
     257     *   The local variables Nf, nuf2, tf, and tf2 serve the same purpose as 
     258     *   N, nu2, t, and t2 in MapLatLonToXY, but they are computed with respect 
     259     *   to the footpoint latitude phif. 
     260     * 
     261     *   x1frac, x2frac, x2poly, x3poly, etc. are to enhance readability and 
     262     *   to optimize computations. 
     263     * 
     264     */ 
     265    public LatLon mapXYToLatLon(double x, double y, double lambda0) 
    268266    { 
    269267        /* Get the value of phif, the footpoint latitude. */ 
     
    272270        /* Precalculate ep2 */ 
    273271        double ep2 = (Math.pow (Ellipsoid.GRS80.a, 2.0) - Math.pow (Ellipsoid.GRS80.b, 2.0)) 
    274               / Math.pow (Ellipsoid.GRS80.b, 2.0); 
     272        / Math.pow (Ellipsoid.GRS80.b, 2.0); 
    275273 
    276274        /* Precalculate cos (phif) */ 
     
    325323 
    326324        return new LatLon( 
    327         /* Calculate latitude */ 
    328         Math.toDegrees( 
    329         phif + x2frac * x2poly * (x * x) 
    330         + x4frac * x4poly * Math.pow (x, 4.0) 
    331         + x6frac * x6poly * Math.pow (x, 6.0) 
    332         + x8frac * x8poly * Math.pow (x, 8.0)), 
    333         Math.toDegrees( 
    334         /* Calculate longitude */ 
    335         lambda0 + x1frac * x 
    336         + x3frac * x3poly * Math.pow (x, 3.0) 
    337         + x5frac * x5poly * Math.pow (x, 5.0) 
    338         + x7frac * x7poly * Math.pow (x, 7.0))); 
     325                /* Calculate latitude */ 
     326                Math.toDegrees( 
     327                        phif + x2frac * x2poly * (x * x) 
     328                        + x4frac * x4poly * Math.pow (x, 4.0) 
     329                        + x6frac * x6poly * Math.pow (x, 6.0) 
     330                        + x8frac * x8poly * Math.pow (x, 8.0)), 
     331                        Math.toDegrees( 
     332                                /* Calculate longitude */ 
     333                                lambda0 + x1frac * x 
     334                                + x3frac * x3poly * Math.pow (x, 3.0) 
     335                                + x5frac * x5poly * Math.pow (x, 5.0) 
     336                                + x7frac * x7poly * Math.pow (x, 7.0))); 
    339337    } 
    340338 
    341339    public EastNorth latlon2eastNorth(LatLon p) { 
    342         EastNorth a = MapLatLonToXY(Math.toRadians(p.lat()), Math.toRadians(p.lon()), UTMCentralMeridian(getzone())); 
     340        EastNorth a = mapLatLonToXY(Math.toRadians(p.lat()), Math.toRadians(p.lon()), UTMCentralMeridian(getzone())); 
    343341        return new EastNorth(a.east() * UTMScaleFactor + 3500000.0, a.north() * UTMScaleFactor); 
    344342    } 
    345343 
    346344    public LatLon eastNorth2latlon(EastNorth p) { 
    347         return MapXYToLatLon((p.east()-3500000.0)/UTMScaleFactor, p.north()/UTMScaleFactor, UTMCentralMeridian(getzone())); 
     345        return mapXYToLatLon((p.east()-3500000.0)/UTMScaleFactor, p.north()/UTMScaleFactor, UTMCentralMeridian(getzone())); 
    348346    } 
    349347 
     
    414412                { 
    415413                    zone = Integer.parseInt(s); 
    416                     if(zone <= 0 || zone > 60) 
     414                    if(zone <= 0 || zone > 60) { 
    417415                        zone = DEFAULT_ZONE; 
     416                    } 
    418417                    break; 
    419418                } 
     
    430429                int zoneval = Integer.parseInt(zonestring); 
    431430                if(zoneval > 0 && zoneval <= 60) 
    432                 { 
    433431                    return Collections.singleton(zonestring); 
    434                 } 
    435432            } catch(NumberFormatException e) {} 
    436433        } 
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheManager.java

    r2711 r2789  
    333333     * the cancel / close action 
    334334     */ 
    335     class CancelAction extends AbstractAction { 
     335    static class CancelAction extends AbstractAction { 
    336336        public CancelAction() { 
    337337            putValue(NAME, tr("Close")); 
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/UrlBasedQueryPanel.java

    r2728 r2789  
    6767        HtmlPanel pnl = new HtmlPanel(); 
    6868        pnl.setText( 
    69                 "<html><body>"  
    70                  + tr("Please enter or paste an URL to retrieve changesets from the OSM API.")  
    71                  + "<p><strong>" + tr("Examples") + "</strong></p>" 
    72                  + "<ul>" 
    73                  + "<li><a href=\"http://www.openstreetmap.org/browse/changesets?open=true\">http://www.openstreetmap.org/browse/changesets?open=true</a></li>" 
    74                  + "<li><a href=\"http://api.openstreetmap.org/api/0.6/changesets?open=true\">http://api.openstreetmap.org/api/0.6/changesets?open=true</a></li>" 
    75                  + "</ul>" 
    76                  + tr("Note that changeset queries are currently always submitted to ''{0}'', regardless of the " 
    77                     + "host, port and path of the URL entered below.", OsmApi.getOsmApi().getBaseUrl()) 
    78                  + "</body></html>" 
     69                "<html><body>" 
     70                + tr("Please enter or paste an URL to retrieve changesets from the OSM API.") 
     71                + "<p><strong>" + tr("Examples") + "</strong></p>" 
     72                + "<ul>" 
     73                + "<li><a href=\"http://www.openstreetmap.org/browse/changesets?open=true\">http://www.openstreetmap.org/browse/changesets?open=true</a></li>" 
     74                + "<li><a href=\"http://api.openstreetmap.org/api/0.6/changesets?open=true\">http://api.openstreetmap.org/api/0.6/changesets?open=true</a></li>" 
     75                + "</ul>" 
     76                + tr("Note that changeset queries are currently always submitted to ''{0}'', regardless of the " 
     77                        + "host, port and path of the URL entered below.", OsmApi.getOsmApi().getBaseUrl()) 
     78                        + "</body></html>" 
    7979        ); 
    8080        pnl.getEditorPane().addHyperlinkListener( 
     
    9191    } 
    9292 
    93     protected ChangesetQuery buildChangesetQueryFromUrlQuery(String query) { 
    94         if (query == null) 
    95             return new ChangesetQuery(); 
    96         query = query.trim(); 
    97         return null; 
    98     } 
    99  
    10093    protected void build() { 
    10194        setLayout(new GridBagLayout()); 
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/DownloadRelationMemberTask.java

    r2711 r2789  
    3535    private Collection<OsmPrimitive> children; 
    3636    private OsmDataLayer curLayer; 
    37     private MemberTableModel memberTableModel; 
    3837    private MultiFetchServerObjectReader objectReader; 
    3938 
     
    4342        this.children = children; 
    4443        this.curLayer = curLayer; 
    45         this.memberTableModel = memberTableModel; 
    4644    } 
    4745 
     
    5149        this.children = children; 
    5250        this.curLayer = curLayer; 
    53         this.memberTableModel = memberTableModel; 
    5451    } 
    5552 
  • trunk/src/org/openstreetmap/josm/gui/io/DownloadOpenChangesetsTask.java

    r2781 r2789  
    103103        JosmUserIdentityManager im = null; 
    104104        try { 
     105            im = JosmUserIdentityManager.getInstance(); 
    105106            OsmServerUserInfoReader reader = new OsmServerUserInfoReader(); 
    106107            UserInfo info = reader.fetchUserInfo(getProgressMonitor().createSubTaskMonitor(1, false)); 
    107             im = JosmUserIdentityManager.getInstance(); 
    108108            im.setFullyIdentified(info.getDisplayName(), info); 
    109109        } catch(OsmTransferException e) { 
  • trunk/src/org/openstreetmap/josm/gui/io/SaveLayersTable.java

    r2512 r2789  
    1919            Mode mode = (Mode)evt.getNewValue(); 
    2020            switch(mode) { 
    21                 case EDITING_DATA: setEnabled(true); 
    22                 case UPLOADING_AND_SAVING: setEnabled(false); 
     21            case EDITING_DATA: setEnabled(true); 
     22            break; 
     23            case UPLOADING_AND_SAVING: setEnabled(false); 
     24            break; 
    2325            } 
    2426        } 
  • trunk/src/org/openstreetmap/josm/gui/preferences/PrefJPanel.java

    r2787 r2789  
    2727 * If someone wants to merge it with ShortcutPreference.java, feel free. 
    2828 */ 
    29 public class prefJPanel extends javax.swing.JPanel { 
     29public class PrefJPanel extends javax.swing.JPanel { 
    3030 
    3131        // table of shortcuts 
     
    9696    /** Creates new form prefJPanel */ 
    9797    // Ain't those auto-generated comments helpful or what? <g> 
    98     public prefJPanel(TableModel model) { 
     98    public PrefJPanel(TableModel model) { 
    9999        this.model = model; 
    100100        initComponents(); 
     
    372372    // more expirience with GUI coding than I have. 
    373373    private class cbAction extends javax.swing.AbstractAction implements ListSelectionListener { 
    374         private prefJPanel panel; 
    375             public cbAction (prefJPanel panel) { 
     374        private PrefJPanel panel; 
     375            public cbAction (PrefJPanel panel) { 
    376376                this.panel = panel; 
    377377        } 
  • trunk/src/org/openstreetmap/josm/gui/preferences/ShortcutPreference.java

    r2745 r2789  
    3030                tr("Changing keyboard shortcuts manually."), false); 
    3131 
    32         prefJPanel prefpanel = new prefJPanel(new scListModel()); 
     32        PrefJPanel prefpanel = new PrefJPanel(new scListModel()); 
    3333        p.add(prefpanel, GBC.eol().fill(GBC.BOTH)); 
    3434 
  • trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java

    r2711 r2789  
    334334                value = value.substring(0,value.length() - 1) + "GMT+00:00"; 
    335335            } 
    336             DateFormat formatter = new SimpleDateFormat("MM/dd/yy"); 
    337             formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz"); 
     336            DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz"); 
    338337            try { 
    339338                return formatter.parse(value); 
  • trunk/src/org/openstreetmap/josm/io/GpxReader.java

    r2512 r2789  
    4141     */ 
    4242    public GpxData data; 
    43     public enum state { init, metadata, wpt, rte, trk, ext, author, link, trkseg, copyright} 
     43    public enum State { init, metadata, wpt, rte, trk, ext, author, link, trkseg, copyright} 
    4444 
    4545    private class Parser extends DefaultHandler { 
     
    5151        private WayPoint currentWayPoint; 
    5252 
    53         private state currentState = state.init; 
     53        private State currentState = State.init; 
    5454 
    5555        private GpxLink currentLink; 
    56         private Stack<state> states; 
     56        private Stack<State> states; 
    5757 
    5858        private StringBuffer accumulator = new StringBuffer(); 
     
    6262        @Override public void startDocument() { 
    6363            accumulator = new StringBuffer(); 
    64             states = new Stack<state>(); 
     64            states = new Stack<State>(); 
    6565            currentData = new GpxData(); 
    6666        } 
     
    8282        @Override public void startElement(String namespaceURI, String qName, String rqName, Attributes atts) throws SAXException { 
    8383            switch(currentState) { 
    84                 case init: 
    85                     if (qName.equals("metadata")) { 
    86                         states.push(currentState); 
    87                         currentState = state.metadata; 
    88                     } else if (qName.equals("wpt")) { 
    89                         states.push(currentState); 
    90                         currentState = state.wpt; 
    91                         currentWayPoint = new WayPoint(parseLatLon(atts)); 
    92                     } else if (qName.equals("rte")) { 
    93                         states.push(currentState); 
    94                         currentState = state.rte; 
    95                         currentRoute = new GpxRoute(); 
    96                     } else if (qName.equals("trk")) { 
    97                         states.push(currentState); 
    98                         currentState = state.trk; 
    99                         currentTrack = new GpxTrack(); 
    100                     } else if (qName.equals("extensions")) { 
    101                         states.push(currentState); 
    102                         currentState = state.ext; 
    103                     } else if (qName.equals("gpx") && atts.getValue("creator") != null && atts.getValue("creator").startsWith("Nokia Sports Tracker")) { 
    104                         nokiaSportsTrackerBug = true; 
    105                     } 
    106                     break; 
    107                 case author: 
    108                     if (qName.equals("link")) { 
    109                         states.push(currentState); 
    110                         currentState = state.link; 
    111                         currentLink = new GpxLink(atts.getValue("href")); 
    112                     } else if (qName.equals("email")) { 
    113                         currentData.attr.put(GpxData.META_AUTHOR_EMAIL, atts.getValue("id") + "@" + atts.getValue("domain")); 
    114                     } 
    115                     break; 
    116                 case trk: 
    117                     if (qName.equals("trkseg")) { 
    118                         states.push(currentState); 
    119                         currentState = state.trkseg; 
    120                         currentTrackSeg = new ArrayList<WayPoint>(); 
    121                     } else if (qName.equals("link")) { 
    122                         states.push(currentState); 
    123                         currentState = state.link; 
    124                         currentLink = new GpxLink(atts.getValue("href")); 
    125                     } else if (qName.equals("extensions")) { 
    126                         states.push(currentState); 
    127                         currentState = state.ext; 
    128                     } 
    129                     break; 
    130                 case metadata: 
    131                     if (qName.equals("author")) { 
    132                         states.push(currentState); 
    133                         currentState = state.author; 
    134                     } else if (qName.equals("extensions")) { 
    135                         states.push(currentState); 
    136                         currentState = state.ext; 
    137                     } else if (qName.equals("copyright")) { 
    138                         states.push(currentState); 
    139                         currentState = state.copyright; 
    140                         currentData.attr.put(GpxData.META_COPYRIGHT_AUTHOR, atts.getValue("author")); 
    141                     } else if (qName.equals("link")) { 
    142                         states.push(currentState); 
    143                         currentState = state.link; 
    144                         currentLink = new GpxLink(atts.getValue("href")); 
    145                     } 
    146                     break; 
    147                 case trkseg: 
    148                     if (qName.equals("trkpt")) { 
    149                         states.push(currentState); 
    150                         currentState = state.wpt; 
    151                         currentWayPoint = new WayPoint(parseLatLon(atts)); 
    152                     } 
    153                     break; 
    154                 case wpt: 
    155                     if (qName.equals("link")) { 
    156                         states.push(currentState); 
    157                         currentState = state.link; 
    158                         currentLink = new GpxLink(atts.getValue("href")); 
    159                     } else if (qName.equals("extensions")) { 
    160                         states.push(currentState); 
    161                         currentState = state.ext; 
    162                     } 
    163                     break; 
    164                 case rte: 
    165                     if (qName.equals("link")) { 
    166                         states.push(currentState); 
    167                         currentState = state.link; 
    168                         currentLink = new GpxLink(atts.getValue("href")); 
    169                     } else if (qName.equals("rtept")) { 
    170                         states.push(currentState); 
    171                         currentState = state.wpt; 
    172                         currentWayPoint = new WayPoint(parseLatLon(atts)); 
    173                     } else if (qName.equals("extensions")) { 
    174                         states.push(currentState); 
    175                         currentState = state.ext; 
    176                     } 
    177                     break; 
    178                 default: 
     84            case init: 
     85                if (qName.equals("metadata")) { 
     86                    states.push(currentState); 
     87                    currentState = State.metadata; 
     88                } else if (qName.equals("wpt")) { 
     89                    states.push(currentState); 
     90                    currentState = State.wpt; 
     91                    currentWayPoint = new WayPoint(parseLatLon(atts)); 
     92                } else if (qName.equals("rte")) { 
     93                    states.push(currentState); 
     94                    currentState = State.rte; 
     95                    currentRoute = new GpxRoute(); 
     96                } else if (qName.equals("trk")) { 
     97                    states.push(currentState); 
     98                    currentState = State.trk; 
     99                    currentTrack = new GpxTrack(); 
     100                } else if (qName.equals("extensions")) { 
     101                    states.push(currentState); 
     102                    currentState = State.ext; 
     103                } else if (qName.equals("gpx") && atts.getValue("creator") != null && atts.getValue("creator").startsWith("Nokia Sports Tracker")) { 
     104                    nokiaSportsTrackerBug = true; 
     105                } 
     106                break; 
     107            case author: 
     108                if (qName.equals("link")) { 
     109                    states.push(currentState); 
     110                    currentState = State.link; 
     111                    currentLink = new GpxLink(atts.getValue("href")); 
     112                } else if (qName.equals("email")) { 
     113                    currentData.attr.put(GpxData.META_AUTHOR_EMAIL, atts.getValue("id") + "@" + atts.getValue("domain")); 
     114                } 
     115                break; 
     116            case trk: 
     117                if (qName.equals("trkseg")) { 
     118                    states.push(currentState); 
     119                    currentState = State.trkseg; 
     120                    currentTrackSeg = new ArrayList<WayPoint>(); 
     121                } else if (qName.equals("link")) { 
     122                    states.push(currentState); 
     123                    currentState = State.link; 
     124                    currentLink = new GpxLink(atts.getValue("href")); 
     125                } else if (qName.equals("extensions")) { 
     126                    states.push(currentState); 
     127                    currentState = State.ext; 
     128                } 
     129                break; 
     130            case metadata: 
     131                if (qName.equals("author")) { 
     132                    states.push(currentState); 
     133                    currentState = State.author; 
     134                } else if (qName.equals("extensions")) { 
     135                    states.push(currentState); 
     136                    currentState = State.ext; 
     137                } else if (qName.equals("copyright")) { 
     138                    states.push(currentState); 
     139                    currentState = State.copyright; 
     140                    currentData.attr.put(GpxData.META_COPYRIGHT_AUTHOR, atts.getValue("author")); 
     141                } else if (qName.equals("link")) { 
     142                    states.push(currentState); 
     143                    currentState = State.link; 
     144                    currentLink = new GpxLink(atts.getValue("href")); 
     145                } 
     146                break; 
     147            case trkseg: 
     148                if (qName.equals("trkpt")) { 
     149                    states.push(currentState); 
     150                    currentState = State.wpt; 
     151                    currentWayPoint = new WayPoint(parseLatLon(atts)); 
     152                } 
     153                break; 
     154            case wpt: 
     155                if (qName.equals("link")) { 
     156                    states.push(currentState); 
     157                    currentState = State.link; 
     158                    currentLink = new GpxLink(atts.getValue("href")); 
     159                } else if (qName.equals("extensions")) { 
     160                    states.push(currentState); 
     161                    currentState = State.ext; 
     162                } 
     163                break; 
     164            case rte: 
     165                if (qName.equals("link")) { 
     166                    states.push(currentState); 
     167                    currentState = State.link; 
     168                    currentLink = new GpxLink(atts.getValue("href")); 
     169                } else if (qName.equals("rtept")) { 
     170                    states.push(currentState); 
     171                    currentState = State.wpt; 
     172                    currentWayPoint = new WayPoint(parseLatLon(atts)); 
     173                } else if (qName.equals("extensions")) { 
     174                    states.push(currentState); 
     175                    currentState = State.ext; 
     176                } 
     177                break; 
     178            default: 
    179179            } 
    180180            accumulator.setLength(0); 
     
    201201        private Map<String, Object> getAttr() { 
    202202            switch (currentState) { 
    203                 case rte: return currentRoute.attr; 
    204                 case metadata: return currentData.attr; 
    205                 case wpt: return currentWayPoint.attr; 
    206                 case trk: return currentTrack.attr; 
    207                 default: return null; 
    208             } 
    209         } 
    210  
     203            case rte: return currentRoute.attr; 
     204            case metadata: return currentData.attr; 
     205            case wpt: return currentWayPoint.attr; 
     206            case trk: return currentTrack.attr; 
     207            default: return null; 
     208            } 
     209        } 
     210 
     211        @SuppressWarnings("unchecked") 
    211212        @Override public void endElement(String namespaceURI, String qName, String rqName) { 
    212213            switch (currentState) { 
    213                 case metadata: 
    214                     if (qName.equals("name")) { 
    215                         currentData.attr.put(GpxData.META_NAME, accumulator.toString()); 
    216                     } else if (qName.equals("desc")) { 
    217                         currentData.attr.put(GpxData.META_DESC, accumulator.toString()); 
    218                     } else if (qName.equals("time")) { 
    219                         currentData.attr.put(GpxData.META_TIME, accumulator.toString()); 
    220                     } else if (qName.equals("keywords")) { 
    221                         currentData.attr.put(GpxData.META_KEYWORDS, accumulator.toString()); 
    222                     } else if (qName.equals("metadata")) { 
    223                         currentState = states.pop(); 
     214            case metadata: 
     215                if (qName.equals("name")) { 
     216                    currentData.attr.put(GpxData.META_NAME, accumulator.toString()); 
     217                } else if (qName.equals("desc")) { 
     218                    currentData.attr.put(GpxData.META_DESC, accumulator.toString()); 
     219                } else if (qName.equals("time")) { 
     220                    currentData.attr.put(GpxData.META_TIME, accumulator.toString()); 
     221                } else if (qName.equals("keywords")) { 
     222                    currentData.attr.put(GpxData.META_KEYWORDS, accumulator.toString()); 
     223                } else if (qName.equals("metadata")) { 
     224                    currentState = states.pop(); 
     225                } 
     226                //TODO: parse bounds, extensions 
     227                break; 
     228            case author: 
     229                if (qName.equals("author")) { 
     230                    currentState = states.pop(); 
     231                } else if (qName.equals("name")) { 
     232                    currentData.attr.put(GpxData.META_AUTHOR_NAME, accumulator.toString()); 
     233                } else if (qName.equals("email")) { 
     234                    // do nothing, has been parsed on startElement 
     235                } else if (qName.equals("link")) { 
     236                    currentData.attr.put(GpxData.META_AUTHOR_LINK, currentLink); 
     237                } 
     238                break; 
     239            case copyright: 
     240                if (qName.equals("copyright")) { 
     241                    currentState = states.pop(); 
     242                } else if (qName.equals("year")) { 
     243                    currentData.attr.put(GpxData.META_COPYRIGHT_YEAR, accumulator.toString()); 
     244                } else if (qName.equals("license")) { 
     245                    currentData.attr.put(GpxData.META_COPYRIGHT_LICENSE, accumulator.toString()); 
     246                } 
     247                break; 
     248            case link: 
     249                if (qName.equals("text")) { 
     250                    currentLink.text = accumulator.toString(); 
     251                } else if (qName.equals("type")) { 
     252                    currentLink.type = accumulator.toString(); 
     253                } else if (qName.equals("link")) { 
     254                    if (currentLink.uri == null && accumulator != null && accumulator.toString().length() != 0) { 
     255                        currentLink = new GpxLink(accumulator.toString()); 
    224256                    } 
    225                     //TODO: parse bounds, extensions 
    226                     break; 
    227                 case author: 
    228                     if (qName.equals("author")) { 
    229                         currentState = states.pop(); 
    230                     } else if (qName.equals("name")) { 
    231                         currentData.attr.put(GpxData.META_AUTHOR_NAME, accumulator.toString()); 
    232                     } else if (qName.equals("email")) { 
    233                         // do nothing, has been parsed on startElement 
    234                     } else if (qName.equals("link")) { 
    235                         currentData.attr.put(GpxData.META_AUTHOR_LINK, currentLink); 
     257                    currentState = states.pop(); 
     258                } 
     259                if (currentState == State.author) { 
     260                    currentData.attr.put(GpxData.META_AUTHOR_LINK, currentLink); 
     261                } else if (currentState != State.link) { 
     262                    Map<String, Object> attr = getAttr(); 
     263                    if (!attr.containsKey(GpxData.META_LINKS)) { 
     264                        attr.put(GpxData.META_LINKS, new LinkedList<GpxLink>()); 
    236265                    } 
    237                     break; 
    238                 case copyright: 
    239                     if (qName.equals("copyright")) { 
    240                         currentState = states.pop(); 
    241                     } else if (qName.equals("year")) { 
    242                         currentData.attr.put(GpxData.META_COPYRIGHT_YEAR, accumulator.toString()); 
    243                     } else if (qName.equals("license")) { 
    244                         currentData.attr.put(GpxData.META_COPYRIGHT_LICENSE, accumulator.toString()); 
     266                    ((Collection<GpxLink>) attr.get(GpxData.META_LINKS)).add(currentLink); 
     267                } 
     268                break; 
     269            case wpt: 
     270                if (   qName.equals("ele")  || qName.equals("magvar") 
     271                        || qName.equals("name") || qName.equals("geoidheight") 
     272                        || qName.equals("type") || qName.equals("sym")) { 
     273                    currentWayPoint.attr.put(qName, accumulator.toString()); 
     274                } else if(qName.equals("hdop") /*|| qName.equals("vdop") || 
     275                        qName.equals("pdop")*/) { 
     276                    try { 
     277                        currentWayPoint.attr.put(qName, Float.parseFloat(accumulator.toString())); 
     278                    } catch(Exception e) { 
     279                        currentWayPoint.attr.put(qName, new Float(0)); 
    245280                    } 
    246                     break; 
    247                 case link: 
    248                     if (qName.equals("text")) { 
    249                         currentLink.text = accumulator.toString(); 
    250                     } else if (qName.equals("type")) { 
    251                         currentLink.type = accumulator.toString(); 
    252                     } else if (qName.equals("link")) { 
    253                         if (currentLink.uri == null && accumulator != null && accumulator.toString().length() != 0) { 
    254                             currentLink = new GpxLink(accumulator.toString()); 
    255                         } 
    256                         currentState = states.pop(); 
    257                     } 
    258                     if (currentState == state.author) { 
    259                         currentData.attr.put(GpxData.META_AUTHOR_LINK, currentLink); 
    260                     } else if (currentState != state.link) { 
    261                         Map<String, Object> attr = getAttr(); 
    262                         if (!attr.containsKey(GpxData.META_LINKS)) { 
    263                             attr.put(GpxData.META_LINKS, new LinkedList<GpxLink>()); 
    264                         } 
    265                         ((Collection<GpxLink>) attr.get(GpxData.META_LINKS)).add(currentLink); 
    266                     } 
    267                     break; 
    268                 case wpt: 
    269                     if (   qName.equals("ele")  || qName.equals("magvar") 
    270                             || qName.equals("name") || qName.equals("geoidheight") 
    271                             || qName.equals("type") || qName.equals("sym")) { 
    272                         currentWayPoint.attr.put(qName, accumulator.toString()); 
    273                     } else if(qName.equals("hdop") /*|| qName.equals("vdop") || 
    274                         qName.equals("pdop")*/) { 
    275                         try { 
    276                             currentWayPoint.attr.put(qName, Float.parseFloat(accumulator.toString())); 
    277                         } catch(Exception e) { 
    278                             currentWayPoint.attr.put(qName, new Float(0)); 
    279                         } 
    280                     } else if (qName.equals("time")) { 
    281                         currentWayPoint.attr.put(qName, accumulator.toString()); 
    282                         currentWayPoint.setTime(); 
    283                     } else if (qName.equals("cmt") || qName.equals("desc")) { 
    284                         currentWayPoint.attr.put(qName, accumulator.toString()); 
    285                         currentWayPoint.setTime(); 
    286                     } else if (qName.equals("rtept")) { 
    287                         currentState = states.pop(); 
    288                         currentRoute.routePoints.add(currentWayPoint); 
    289                     } else if (qName.equals("trkpt")) { 
    290                         currentState = states.pop(); 
    291                         currentTrackSeg.add(currentWayPoint); 
    292                     } else if (qName.equals("wpt")) { 
    293                         currentState = states.pop(); 
    294                         currentData.waypoints.add(currentWayPoint); 
    295                     } 
    296                     break; 
    297                 case trkseg: 
    298                     if (qName.equals("trkseg")) { 
    299                         currentState = states.pop(); 
    300                         currentTrack.trackSegs.add(currentTrackSeg); 
    301                     } 
    302                     break; 
    303                 case trk: 
    304                     if (qName.equals("trk")) { 
    305                         currentState = states.pop(); 
    306                         currentData.tracks.add(currentTrack); 
    307                     } else if (qName.equals("name") || qName.equals("cmt") 
    308                             || qName.equals("desc") || qName.equals("src") 
    309                             || qName.equals("type") || qName.equals("number") 
    310                             || qName.equals("url")) { 
    311                         currentTrack.attr.put(qName, accumulator.toString()); 
    312                     } 
    313                     break; 
    314                 case ext: 
    315                     if (qName.equals("extensions")) { 
    316                         currentState = states.pop(); 
    317                     } 
    318                     break; 
    319                 default: 
    320                     if (qName.equals("wpt")) { 
    321                         currentState = states.pop(); 
    322                     } else if (qName.equals("rte")) { 
    323                         currentState = states.pop(); 
    324                         currentData.routes.add(currentRoute); 
    325                     } 
     281                } else if (qName.equals("time")) { 
     282                    currentWayPoint.attr.put(qName, accumulator.toString()); 
     283                    currentWayPoint.setTime(); 
     284                } else if (qName.equals("cmt") || qName.equals("desc")) { 
     285                    currentWayPoint.attr.put(qName, accumulator.toString()); 
     286                    currentWayPoint.setTime(); 
     287                } else if (qName.equals("rtept")) { 
     288                    currentState = states.pop(); 
     289                    currentRoute.routePoints.add(currentWayPoint); 
     290                } else if (qName.equals("trkpt")) { 
     291                    currentState = states.pop(); 
     292                    currentTrackSeg.add(currentWayPoint); 
     293                } else if (qName.equals("wpt")) { 
     294                    currentState = states.pop(); 
     295                    currentData.waypoints.add(currentWayPoint); 
     296                } 
     297                break; 
     298            case trkseg: 
     299                if (qName.equals("trkseg")) { 
     300                    currentState = states.pop(); 
     301                    currentTrack.trackSegs.add(currentTrackSeg); 
     302                } 
     303                break; 
     304            case trk: 
     305                if (qName.equals("trk")) { 
     306                    currentState = states.pop(); 
     307                    currentData.tracks.add(currentTrack); 
     308                } else if (qName.equals("name") || qName.equals("cmt") 
     309                        || qName.equals("desc") || qName.equals("src") 
     310                        || qName.equals("type") || qName.equals("number") 
     311                        || qName.equals("url")) { 
     312                    currentTrack.attr.put(qName, accumulator.toString()); 
     313                } 
     314                break; 
     315            case ext: 
     316                if (qName.equals("extensions")) { 
     317                    currentState = states.pop(); 
     318                } 
     319                break; 
     320            default: 
     321                if (qName.equals("wpt")) { 
     322                    currentState = states.pop(); 
     323                } else if (qName.equals("rte")) { 
     324                    currentState = states.pop(); 
     325                    currentData.routes.add(currentRoute); 
     326                } 
    326327            } 
    327328        } 
  • trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java

    r2688 r2789  
    4949            reference = reference.getParent(); 
    5050        } 
    51         if (reference == null || ! (reference instanceof Window)) 
     51        if (reference == null) 
    5252            return new WindowGeometry(new Point(0,0), extent); 
    5353        parentWindow = (Window)reference; 
  • trunk/test/unit/org/openstreetmap/josm/data/osm/history/HistoryNodeTest.java

    r2252 r2789  
    1414 
    1515    @Test 
    16     public void HistoryNode() { 
     16    public void historyNode() { 
    1717        Date d = new Date(); 
    1818        HistoryNode node = new HistoryNode( 
Note: See TracChangeset for help on using the changeset viewer.