Changeset 13969 in josm for trunk


Ignore:
Timestamp:
2018-06-23T11:59:58+02:00 (6 years ago)
Author:
Don-vip
Message:

fix #16417 - Downloading primitive with id "0" causes IllegalArgumentException

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/SimplePrimitiveId.java

    r12190 r13969  
    133133            }
    134134            for (long i = Long.parseLong(firstId); i <= lastIdParsed; i++) {
     135                if (i > 0) {
     136                    ids.add(new SimplePrimitiveId(i, type));
     137                }
     138            }
     139        } else {
     140            long i = Long.parseLong(firstId);
     141            if (i > 0) {
    135142                ids.add(new SimplePrimitiveId(i, type));
    136143            }
    137         } else {
    138             ids.add(new SimplePrimitiveId(Long.parseLong(firstId), type));
    139144        }
    140145        return ids;
  • trunk/src/org/openstreetmap/josm/gui/widgets/OsmIdTextField.java

    r13849 r13969  
    129129                }
    130130            }
    131             return true;
     131            return !ids.isEmpty();
    132132        }
    133133    }
  • trunk/test/unit/org/openstreetmap/josm/data/osm/SimplePrimitiveIdTest.java

    r11104 r13969  
    6363        assertEquals("[relation 123, relation 124, way 345, way 346, node 789]",
    6464                SimplePrimitiveId.fuzzyParse("foo relation/123-24 and way/345-346 but also node/789").toString());
     65        assertEquals("[]",
     66                SimplePrimitiveId.fuzzyParse("foo relation/0 bar").toString());
    6567    }
    6668
     
    9395        assertEquals("[node 234, node 235]", SimplePrimitiveId.multipleFromString("node/234-235").toString());
    9496        assertEquals("[node 998, node 999, node 1000, node 1001]", SimplePrimitiveId.multipleFromString("node/998-1001").toString());
     97        assertEquals("[]", SimplePrimitiveId.multipleFromString("node/0").toString());
    9598    }
    9699
Note: See TracChangeset for help on using the changeset viewer.