Changeset 3826 in josm for trunk/src/org/openstreetmap/josm/data/imagery
- Timestamp:
- 2011-01-28T00:49:15+01:00 (13 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/data/imagery
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
r3720 r3826 6 6 7 7 /** 8 * Class that stores info about a WMS server.8 * Class that stores info about an image background layer. 9 9 * 10 10 * @author Frederik Ramm <frederik@remote.org> 11 11 */ 12 12 public class ImageryInfo implements Comparable<ImageryInfo> { 13 13 14 public enum ImageryType { 14 15 WMS("wms"), … … 26 27 } 27 28 29 private final static String[] BLACKLIST_REGEXES = { 30 // These entries are for Google tile servers (names and IPV4 numbers) 31 ".*\\.google\\.com/.*", 32 ".*209\\.85\\.2\\d\\d.*", 33 ".*209\\.85\\.1[3-9]\\d.*", 34 ".*209\\.85\\.12[89].*" 35 }; 36 28 37 String name; 29 String url =null;38 String url = null; 30 39 String cookies = null; 31 40 public final String eulaAcceptanceRequired; … … 33 42 double pixelPerDegree = 0.0; 34 43 int maxZoom = 0; 44 private boolean blacklisted = false; 35 45 36 46 public ImageryInfo(String name) { … … 41 51 public ImageryInfo(String name, String url) { 42 52 this.name=name; 43 setU RL(url);53 setUrl(url); 44 54 this.eulaAcceptanceRequired = null; 45 55 } … … 47 57 public ImageryInfo(String name, String url, String eulaAcceptanceRequired) { 48 58 this.name=name; 49 setU RL(url);59 setUrl(url); 50 60 this.eulaAcceptanceRequired = eulaAcceptanceRequired; 51 61 } … … 53 63 public ImageryInfo(String name, String url, String eulaAcceptanceRequired, String cookies) { 54 64 this.name=name; 55 setU RL(url);65 setUrl(url); 56 66 this.cookies=cookies; 57 67 this.eulaAcceptanceRequired = eulaAcceptanceRequired; … … 60 70 public ImageryInfo(String name, String url, String cookies, double pixelPerDegree) { 61 71 this.name=name; 62 setU RL(url);72 setUrl(url); 63 73 this.cookies=cookies; 64 74 this.pixelPerDegree=pixelPerDegree; … … 71 81 String e4 = null; 72 82 if(url != null && !url.isEmpty()) { 73 e2 = getFullU RL();83 e2 = getFullUrl(); 74 84 } 75 85 if(cookies != null && !cookies.isEmpty()) { … … 110 120 this.name=array.get(0); 111 121 if(array.size() >= 2) { 112 setU RL(array.get(1));122 setUrl(array.get(1)); 113 123 } 114 124 if(array.size() >= 3) { … … 160 170 } 161 171 162 public void setURL(String url) { 172 public void setUrl(String url) { 173 174 // determine if URL is on blacklist and flag accordingly. 175 blacklisted = false; 176 for (String blacklistRegex : BLACKLIST_REGEXES) { 177 if (url.matches(blacklistRegex)) { 178 blacklisted = true; 179 System.err.println("layer '" + name + "' uses blacklisted URL"); 180 break; 181 } 182 } 183 163 184 for (ImageryType type : ImageryType.values()) { 164 185 if (url.startsWith(type.getUrlString() + ":")) { … … 182 203 } 183 204 184 public String getU RL() {205 public String getUrl() { 185 206 return this.url; 186 207 } … … 198 219 } 199 220 200 public String getFullU RL() {221 public String getFullUrl() { 201 222 return imageryType.getUrlString() + ":" + url; 202 223 } … … 229 250 return url != null && url.contains("{") && url.contains("}"); 230 251 } 252 253 public boolean isBlacklisted() { 254 return blacklisted; 255 } 231 256 } -
trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java
r3737 r3826 20 20 21 21 public class ImageryLayerInfo { 22 22 23 public static final ImageryLayerInfo instance = new ImageryLayerInfo(); 23 24 ArrayList<ImageryInfo> layers = new ArrayList<ImageryInfo>(); 24 25 ArrayList<ImageryInfo> defaultLayers = new ArrayList<ImageryInfo>(); 25 private final static String[] DEFAULT_LAYER_SITES 26 = { "http://josm.openstreetmap.de/maps"}; 26 27 private final static String[] DEFAULT_LAYER_SITES = { 28 "http://josm.openstreetmap.de/maps" 29 }; 27 30 28 31 public void load() { … … 32 35 for(Collection<String> c : Main.pref.getArray("imagery.layers", 33 36 Collections.<Collection<String>>emptySet())) { 34 layers.add(new ImageryInfo(c));37 add(new ImageryInfo(c)); 35 38 } 36 39 … … 60 63 String url = val[2]; 61 64 String eulaAcceptanceRequired = null; 65 62 66 if (val.length == 4) { 63 67 // 4th parameter optional for license agreement (EULA) 64 68 eulaAcceptanceRequired = val[3]; 65 69 } 70 66 71 defaultLayers.add(new ImageryInfo(name, url, eulaAcceptanceRequired)); 67 72 68 if (force) {73 if (force) { 69 74 defaultsSave.add(url); 70 if (!defaults.contains(url)) {71 for (ImageryInfo i : layers) {72 if ((i.getImageryType() == ImageryType.WMS && url.equals(i.getU RL()))73 || url.equals(i.getFullU RL())) {75 if (!defaults.contains(url)) { 76 for (ImageryInfo i : layers) { 77 if ((i.getImageryType() == ImageryType.WMS && url.equals(i.getUrl())) 78 || url.equals(i.getFullUrl())) { 74 79 force = false; 75 80 } 76 81 } 77 if (force) {78 layers.add(new ImageryInfo(name, url));82 if (force) { 83 add(new ImageryInfo(name, url)); 79 84 } 80 85 }
Note:
See TracChangeset
for help on using the changeset viewer.