Ignore:
Timestamp:
2016-01-24T14:42:03+01:00 (8 years ago)
Author:
stoecker
Message:

fix #12425 - add checksum based no-tile detection

Location:
trunk/src/org/openstreetmap/josm/data/imagery
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java

    r9371 r9610  
    220220        @pref String description;
    221221        @pref Map<String, String> noTileHeaders;
     222        @pref Map<String, String> noTileChecksums;
    222223        @pref int tileSize = OsmMercator.DEFAUL_TILE_SIZE;
    223224        @pref Map<String, String> metadataHeaders;
     
    281282            }
    282283
     284            if (i.noTileChecksums != null && !i.noTileChecksums.isEmpty()) {
     285                noTileChecksums = i.noTileChecksums;
     286            }
     287
    283288            if (i.metadataHeaders != null && !i.metadataHeaders.isEmpty()) {
    284289                metadataHeaders = i.metadataHeaders;
     
    409414            noTileHeaders = e.noTileHeaders;
    410415        }
     416        if (e.noTileChecksums != null) {
     417            noTileChecksums = e.noTileChecksums;
     418        }
    411419        setTileSize(e.tileSize);
    412420        metadataHeaders = e.metadataHeaders;
     
    440448        this.description = i.description;
    441449        this.noTileHeaders = i.noTileHeaders;
     450        this.noTileChecksums = i.noTileChecksums;
    442451        this.metadataHeaders = i.metadataHeaders;
    443452        this.isEpsg4326To3857Supported = i.isEpsg4326To3857Supported;
     
    485494                Objects.equals(this.description, other.description) &&
    486495                Objects.equals(this.noTileHeaders, other.noTileHeaders) &&
     496                Objects.equals(this.noTileChecksums, other.noTileChecksums) &&
    487497                Objects.equals(this.metadataHeaders, other.metadataHeaders);
    488498    }
     
    978988
    979989    /**
     990     * Sets the map of &lt;checksum type, checksum value&gt; that if any tile with that checksum
     991     * will be returned, then this tile will be treated as "no tile at this zoom level"
     992     *
     993     * @param noTileChecksums Map of &lt;checksum type, checksum value&gt; which will be treated as "no tile at this zoom level"
     994     * @since 9610
     995     */
     996    public void setNoTileChecksums(Map<String, String> noTileChecksums) {
     997       this.noTileChecksums = noTileChecksums;
     998    }
     999
     1000    @Override
     1001    public Map<String, String> getNoTileChecksums() {
     1002        return noTileChecksums;
     1003    }
     1004
     1005    /**
    9801006     * Returns the map of &lt;header name, metadata key&gt; indicating, which HTTP headers should
    9811007     * be moved to metadata
  • trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java

    r9414 r9610  
    206206        Collection<String> newKnownDefaults = new TreeSet<>(knownDefaults);
    207207        for (ImageryInfo def : defaultLayers) {
    208             // temporary migration code, so all user preferences will get updated with new settings from JOSM site (can be removed ~Dez. 2015)
    209             if (def.getNoTileHeaders() != null || def.getTileSize() > 0 || def.getMetadataHeaders() != null) {
    210                 for (ImageryInfo i: layers) {
    211                     if (isSimilar(def,  i)) {
    212                         if (def.getNoTileHeaders() != null) {
    213                             i.setNoTileHeaders(def.getNoTileHeaders());
    214                         }
    215                         if (def.getTileSize() > 0) {
    216                             i.setTileSize(def.getTileSize());
    217                         }
    218                         if (def.getMetadataHeaders() != null && def.getMetadataHeaders().size() > 0) {
    219                             i.setMetadataHeaders(def.getMetadataHeaders());
    220                         }
    221                         changed = true;
    222                     }
    223                 }
    224             }
    225 
    226208            if (def.isDefaultEntry()) {
    227209                boolean isKnownDefault = false;
Note: See TracChangeset for help on using the changeset viewer.