Ignore:
Timestamp:
2012-05-04T19:15:59+02:00 (12 years ago)
Author:
simon04
Message:

fix #7666 - Download object exception with invalid value

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/widgets/OsmIdTextField.java

    r4796 r5211  
    3030    }
    3131
    32     public long getOsmId() {
    33         return validator.getOsmId();
    34     }
    35 
    3632    /**
    3733     * Get entered ID list - supports "1,2,3" "1 2   ,3" or even "1 2 3 v2 6 v8"
     
    4642    }
    4743
     44    public void performValidation() {
     45        validator.validate();
     46    }
    4847
    4948    /**
     
    6665        @Override
    6766        public boolean isValid() {
    68             return getOsmId() > 0 || readOsmIds() != false;
     67            return readOsmIds();
    6968        }
    7069
     
    7877        }
    7978
    80         public long getOsmId() {
    81             String value  = getComponent().getText();
    82             if (value == null || value.trim().length() == 0) return 0;
    83             try {
    84                 long osmId = Long.parseLong(value.trim());
    85                 if (osmId > 0)
    86                     return osmId;
    87                 return 0;
    88             } catch(NumberFormatException e) {
    89                 return 0;
    90             }
    91         }
    92        
    9379        public boolean readOsmIds() {
    9480            String value = getComponent().getText();
     
    11096                        ids.add(SimplePrimitiveId.fromString(s));
    11197                    } catch (IllegalArgumentException ex) {
    112                         if (type == OsmPrimitiveType.NODE) {
    113                             ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.NODE));
    114                         } else if (type == OsmPrimitiveType.WAY) {
    115                             ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.WAY));
    116                         } else if (type == OsmPrimitiveType.RELATION) {
    117                             ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.RELATION));
    118                         } else {
     98                        try {
     99                            if (type == OsmPrimitiveType.NODE) {
     100                                ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.NODE));
     101                            } else if (type == OsmPrimitiveType.WAY) {
     102                                ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.WAY));
     103                            } else if (type == OsmPrimitiveType.RELATION) {
     104                                ids.add(new SimplePrimitiveId(Long.parseLong(s), OsmPrimitiveType.RELATION));
     105                            } else {
     106                                return false;
     107                            }
     108                        } catch (IllegalArgumentException ex2) {
    119109                            return false;
    120110                        }
Note: See TracChangeset for help on using the changeset viewer.