|
4 | 4 | import static java.util.concurrent.TimeUnit.MILLISECONDS; |
5 | 5 |
|
6 | 6 | import java.awt.Color; |
| 7 | +import java.awt.Point; |
7 | 8 | import java.awt.image.DataBufferByte; |
8 | 9 | import java.io.IOException; |
9 | 10 | import java.lang.reflect.Field; |
10 | 11 | import java.util.ArrayList; |
11 | 12 | import java.util.List; |
| 13 | +import java.util.Map; |
12 | 14 | import java.util.concurrent.Future; |
13 | 15 | import java.util.concurrent.ExecutorService; |
14 | 16 | import java.util.concurrent.RejectedExecutionException; |
15 | 17 | import java.util.concurrent.ThreadPoolExecutor; |
16 | 18 |
|
| 19 | +import org.openstreetmap.gui.jmapviewer.Coordinate; |
| 20 | +import org.openstreetmap.gui.jmapviewer.Projected; |
17 | 21 | import org.openstreetmap.gui.jmapviewer.Tile; |
| 22 | +import org.openstreetmap.gui.jmapviewer.TileRange; |
| 23 | +import org.openstreetmap.gui.jmapviewer.TileXY; |
| 24 | +import org.openstreetmap.gui.jmapviewer.interfaces.ICoordinate; |
| 25 | +import org.openstreetmap.gui.jmapviewer.interfaces.IProjected; |
18 | 26 | import org.openstreetmap.gui.jmapviewer.interfaces.TileSource; |
| 27 | +import org.openstreetmap.gui.jmapviewer.tilesources.AbstractTMSTileSource; |
| 28 | +import org.openstreetmap.gui.jmapviewer.tilesources.TileSourceInfo; |
19 | 29 | import org.openstreetmap.josm.TestUtils; |
20 | 30 | import org.openstreetmap.josm.data.Bounds; |
21 | 31 |
|
@@ -53,12 +63,80 @@ public static QuadTreeNodeDynamicReference[] createDynamicReferences(QuadTreeMet |
53 | 63 | }; |
54 | 64 | QuadTreeNodeDynamicReference[] refs = new QuadTreeNodeDynamicReference[referenceTiles_.length]; |
55 | 65 | for (int i = 0; i < referenceTiles_.length; i++) { |
56 | | - Tile mockTile = new Tile(null, (int) referenceTiles_[i][1], (int) referenceTiles_[i][2], (int) referenceTiles_[i][0]); |
| 66 | + Tile mockTile = new Tile(new TileStubSource(), (int) referenceTiles_[i][1], |
| 67 | + (int) referenceTiles_[i][2], (int) referenceTiles_[i][0]); |
57 | 68 | refs[i] = new QuadTreeNodeDynamicReference(quadTreeMeta, mockTile); |
58 | 69 | } |
59 | 70 | return refs; |
60 | 71 | } |
61 | 72 |
|
| 73 | + private static final class TileStubSource extends AbstractTMSTileSource { |
| 74 | + private TileStubSource() { |
| 75 | + super(new TileSourceInfo()); |
| 76 | + } |
| 77 | + |
| 78 | + @Override |
| 79 | + public Map<String, String> getMetadata(Map<String, List<String>> headers) { |
| 80 | + // TODO Auto-generated method stub |
| 81 | + return null; |
| 82 | + } |
| 83 | + |
| 84 | + @Override |
| 85 | + public double getDistance(double la1, double lo1, double la2, double lo2) { |
| 86 | + // TODO Auto-generated method stub |
| 87 | + return 0; |
| 88 | + } |
| 89 | + |
| 90 | + @Override |
| 91 | + public Point latLonToXY(double lat, double lon, int zoom) { |
| 92 | + // TODO Auto-generated method stub |
| 93 | + return null; |
| 94 | + } |
| 95 | + |
| 96 | + @Override |
| 97 | + public ICoordinate xyToLatLon(int x, int y, int zoom) { |
| 98 | + // TODO Auto-generated method stub |
| 99 | + return null; |
| 100 | + } |
| 101 | + |
| 102 | + @Override |
| 103 | + public TileXY latLonToTileXY(double lat, double lon, int zoom) { |
| 104 | + return new TileXY(lon / 2, lat / 2); |
| 105 | + } |
| 106 | + |
| 107 | + @Override |
| 108 | + public ICoordinate tileXYToLatLon(int x, int y, int zoom) { |
| 109 | + return new Coordinate(2*y, 2*x); |
| 110 | + } |
| 111 | + |
| 112 | + @Override |
| 113 | + public IProjected tileXYtoProjected(int x, int y, int zoom) { |
| 114 | + return new Projected(2*x, 2*y); |
| 115 | + } |
| 116 | + |
| 117 | + @Override |
| 118 | + public TileXY projectedToTileXY(IProjected p, int zoom) { |
| 119 | + return new TileXY(p.getEast() / 2, p.getNorth() / 2); |
| 120 | + } |
| 121 | + |
| 122 | + @Override |
| 123 | + public boolean isInside(Tile inner, Tile outer) { |
| 124 | + // TODO Auto-generated method stub |
| 125 | + return false; |
| 126 | + } |
| 127 | + |
| 128 | + @Override |
| 129 | + public TileRange getCoveringTileRange(Tile tile, int newZoom) { |
| 130 | + // TODO Auto-generated method stub |
| 131 | + return null; |
| 132 | + } |
| 133 | + |
| 134 | + @Override |
| 135 | + public String getServerCRS() { |
| 136 | + return "EPSG:3857"; |
| 137 | + } |
| 138 | + } |
| 139 | + |
62 | 140 | protected QuadTreeMeta quadTreeMeta; |
63 | 141 |
|
64 | 142 | public BaseQuadTreeMetaTest(int scenarioIndex_, Integer seenRectOrderSeed_, Integer referenceTileOrderSeed_) |
@@ -189,8 +267,8 @@ protected void inspectReferenceTiles( |
189 | 267 | } catch (final AssertionError e) { |
190 | 268 | System.out.format("assertArrayEquals failed on reference tile %d\n", j); |
191 | 269 | System.out.println( |
192 | | - "ref = " + javax.xml.bind.DatatypeConverter.printHexBinary(refMaskBytes) + |
193 | | - ", result = " + javax.xml.bind.DatatypeConverter.printHexBinary(resultMaskBytes) |
| 270 | + "ref = " + jakarta.xml.bind.DatatypeConverter.printHexBinary(refMaskBytes) + |
| 271 | + ", result = " + jakarta.xml.bind.DatatypeConverter.printHexBinary(resultMaskBytes) |
194 | 272 | ); |
195 | 273 | throw e; |
196 | 274 | } |
|
0 commit comments