Changeset 418
- Timestamp:
- 11/11/08 20:44:15 (2 months ago)
- Location:
- trunk/geowebcache/src/main
- Files:
-
- 1 added
- 6 modified
-
java/org/geowebcache/cache/Cache.java (modified) (2 diffs)
-
java/org/geowebcache/cache/file/FileCache.java (modified) (2 diffs)
-
java/org/geowebcache/cache/file/FilePathKey2.java (modified) (1 diff)
-
java/org/geowebcache/rest/SeedResource.java (modified) (1 diff)
-
java/org/geowebcache/rest/TruncateTask.java (modified) (1 diff)
-
java/org/geowebcache/service/kml/KMLDebugGridLayer.java (modified) (2 diffs)
-
resources/truncatetest.json (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/geowebcache/src/main/java/org/geowebcache/cache/Cache.java
r279 r418 21 21 22 22 import org.geowebcache.GeoWebCacheException; 23 import org.geowebcache.layer.SRS; 24 import org.geowebcache.layer.TileLayer; 25 import org.geowebcache.mime.MimeType; 23 26 import org.geowebcache.tile.Tile; 24 27 import org.springframework.context.ApplicationContextAware; … … 67 70 throws CacheException, GeoWebCacheException; 68 71 72 public void truncate(TileLayer tl, SRS srs, int zoomStart, int zoomStop, 73 int[][] bounds, MimeType mimeType) throws CacheException; 74 69 75 public boolean remove(CacheKey keyProto, Tile tile) throws CacheException; 70 76 -
trunk/geowebcache/src/main/java/org/geowebcache/cache/file/FileCache.java
r417 r418 34 34 import org.geowebcache.cache.Cache; 35 35 import org.geowebcache.cache.CacheException; 36 import org.geowebcache.cache.CacheFilter; 36 37 import org.geowebcache.cache.CacheKey; 38 import org.geowebcache.layer.SRS; 39 import org.geowebcache.layer.TileLayer; 40 import org.geowebcache.mime.MimeType; 37 41 import org.geowebcache.tile.Tile; 38 42 import org.geowebcache.util.GWCVars; … … 289 293 context = (WebApplicationContext) arg0; 290 294 } 295 296 public void truncate(TileLayer tl, SRS srs, int zoomStart, int zoomStop, 297 int[][] bounds, MimeType mimeType) throws CacheException { 298 299 String prefix = tl.getCachePrefix(); 300 301 File layerPath = new File(prefix); 302 303 if (layerPath.exists() && layerPath.canWrite()) { 304 FilePathKey2Filter fpk2f = new FilePathKey2Filter(srs, zoomStart, 305 zoomStop, bounds, mimeType); 306 307 File[] srsZoomDirs = layerPath.listFiles(fpk2f); 308 309 for (File srsZoom : srsZoomDirs) { 310 File[] intermediates = srsZoom.listFiles(fpk2f); 311 312 for (File imd : intermediates) { 313 File[] tiles = imd.listFiles(fpk2f); 314 315 for (File tile : tiles) { 316 tile.delete(); 317 } 318 319 String[] chk = imd.list(); 320 if (chk == null || chk.length == 0) { 321 imd.delete(); 322 } 323 } 324 325 String[] chk = srsZoom.list(); 326 if (chk == null || chk.length == 0) { 327 srsZoom.delete(); 328 } 329 330 } 331 332 } else { 333 throw new CacheException(prefix 334 + " does not exist or is not writable."); 335 } 336 337 } 291 338 } -
trunk/geowebcache/src/main/java/org/geowebcache/cache/file/FilePathKey2.java
r349 r418 13 13 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 14 * 15 * @author Arne Kepp, The Open Planning Project, Copyright 200 715 * @author Arne Kepp, The Open Planning Project, Copyright 2008 16 16 * 17 17 */ -
trunk/geowebcache/src/main/java/org/geowebcache/rest/SeedResource.java
r410 r418 212 212 } 213 213 if(type.equalsIgnoreCase("truncate")) { 214 return new TruncateTask( );214 return new TruncateTask(rq, tl); 215 215 } 216 216 -
trunk/geowebcache/src/main/java/org/geowebcache/rest/TruncateTask.java
r384 r418 17 17 package org.geowebcache.rest; 18 18 19 import org.apache.commons.logging.Log; 20 import org.apache.commons.logging.LogFactory; 19 21 import org.geowebcache.GeoWebCacheException; 22 import org.geowebcache.cache.Cache; 23 import org.geowebcache.layer.TileLayer; 24 import org.geowebcache.mime.MimeType; 25 import org.geowebcache.util.wms.BBOX; 20 26 21 27 public class TruncateTask extends GWCTask { 22 23 @Override 28 private static Log log = LogFactory.getLog(org.geowebcache.rest.TruncateTask.class); 29 30 private final SeedRequest req; 31 32 private final TileLayer tl; 33 34 public TruncateTask(SeedRequest req, TileLayer tl) { 35 this.req = req; 36 this.tl = tl; 37 } 38 24 39 void doAction() throws GeoWebCacheException { 25 throw new GeoWebCacheException("Truncate isn't implemented yet! Sorry :( "); 40 41 tl.isInitialized(); 42 43 Cache cache = tl.getCache(); 44 45 BBOX bbox = req.getBounds(); 46 int[][] bounds = null; 47 48 if(bbox != null) { 49 bounds = tl.getCoveredGridLevels(req.getSRS(), bbox); 50 } 51 52 cache.truncate(tl, req.getSRS(), 53 req.getZoomStart(), req.getZoomStop(), 54 bounds, MimeType.createFromFormat(req.getMimeFormat())); 26 55 } 27 56 -
trunk/geowebcache/src/main/java/org/geowebcache/service/kml/KMLDebugGridLayer.java
r371 r418 61 61 62 62 } 63 64 65 63 66 64 private KMLDebugGridLayer() { 67 65 super.grids = new Hashtable<SRS,Grid>(); … … 388 386 } 389 387 388 389 public void truncate(TileLayer tl, SRS srs, int zoomStart, int zoomStop, 390 int[][] bounds, MimeType mimeType) throws CacheException { 391 // TODO Auto-generated method stub 392 393 } 394 390 395 }
