Ignore:
Timestamp:
2016-01-24T15:14:26+01:00 (4 years ago)
Author:
stoecker
Message:

fix #12437 - see #12425 - fix handling of equal no tile headers with different values - hope the related josm config change does not break anything

File:
1 edited

Legend:

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

    r9610 r9613  
    9494        private String lang;
    9595        private List<String> projections;
    96         private Map<String, String> noTileHeaders;
    97         private Map<String, String> noTileChecksums;
     96        private Map<String, List<String> > noTileHeaders;
     97        private Map<String, List<String> > noTileChecksums;
    9898        private Map<String, String> metadataHeaders;
    9999
     
    172172                    newState = State.PROJECTIONS;
    173173                } else if ("no-tile-header".equals(qName)) {
    174                     noTileHeaders.put(atts.getValue("name"), atts.getValue("value"));
     174                    String name = atts.getValue("name");
     175                    List<String> l;
     176                    if (noTileHeaders.containsKey(name)) {
     177                        l = noTileHeaders.get(name);
     178                    } else {
     179                        l = new ArrayList<String>();
     180                        noTileHeaders.put(atts.getValue("name"), l);
     181                    }
     182                    l.add(atts.getValue("value"));
    175183                    newState = State.NO_TILE;
    176184                } else if ("no-tile-checksum".equals(qName)) {
    177                     noTileChecksums.put(atts.getValue("type"), atts.getValue("value"));
     185                    String type = atts.getValue("type");
     186                    List<String> l;
     187                    if (noTileChecksums.containsKey(type)) {
     188                        l = noTileChecksums.get(type);
     189                    } else {
     190                        l = new ArrayList<String>();
     191                        noTileChecksums.put(type, l);
     192                    }
     193                    l.add(atts.getValue("value"));
    178194                    newState = State.NO_TILESUM;
    179195                } else if ("metadata-header".equals(qName)) {
Note: See TracChangeset for help on using the changeset viewer.