Package org.geowebcache.storage

Examples of org.geowebcache.storage.DiscontinuousTileRange


        // Ask any existing seed jobs started by this feed to terminate
        stopSeeding(true);

        // We do the truncate synchronously to get rid of stale data as quickly as we can
        while (mimeIter.hasNext()) {
            DiscontinuousTileRange dtr = new DiscontinuousTileRange(layer.getName(), gridSetId,
                    gridSub.getZoomStart(), gridSub.getZoomStop(), rasterMask, mimeIter.next(),
                    (Map<String, String>) null);
            try {
                GWCTask[] tasks = seeder.createTasks(dtr, layer, GWCTask.TYPE.TRUNCATE, 1, false);
                tasks[0].doAction();
            } catch (GeoWebCacheException e) {
                logger.error("Problem truncating based on GeoRSS feed: " + e.getMessage());
            } catch (InterruptedException e) {
                logger.info("Task abruptly interrupted.");
                return;
            }
        }

        // If truncate was all that was needed, we can quit now
        if (pollDef.getOperation() == GWCTask.TYPE.TRUNCATE) {
            logger.info("Truncation succeeded, won't seed as stated by poll def: " + pollDef);
            return;
        }

        // ... else we seed
        mimeIter = mimeList.iterator();
        while (mimeIter.hasNext()) {
            DiscontinuousTileRange dtr = new DiscontinuousTileRange(layer.getName(), gridSetId,
                    gridSub.getZoomStart(), gridSub.getZoomStop(), rasterMask, mimeIter.next(),
                    (Map<String, String>) null);

            final int seedingThreads = pollDef.getSeedingThreads();
            GWCTask[] tasks;
View Full Code Here


    }

    public boolean deleteRange(BlobStore blobStore, TileRange trObj, int zoomLevel, long layerId,
            long formatId, long parametersId, long gridSetIdId) {

        DiscontinuousTileRange dtrObj = null;
        long[] deletedTiles = null;

        if (trObj instanceof DiscontinuousTileRange) {
            dtrObj = (DiscontinuousTileRange) trObj;
            deletedTiles = new long[100];
        }

        long[] bounds = trObj.rangeBounds[zoomLevel];

        final Connection conn;
        try {
            conn = getConnection();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        PreparedStatement tileSetQuery = null;
        ResultSet rs = null;
        try {
            tileSetQuery = getTileSet(conn, layerId, formatId, parametersId, zoomLevel, bounds,
                    gridSetIdId);

            rs = tileSetQuery.executeQuery();

            int deletedIdx = 0;

            while (rs.next()) {
                // TILE_ID, X, Y, Z
                long[] xyz = new long[3];
                xyz[0] = rs.getLong(2);
                xyz[1] = rs.getLong(3);
                xyz[2] = rs.getLong(4);

                if (dtrObj != null && !dtrObj.contains(xyz)) {
                    continue;
                }

                // System.out.println("x: " + xyz[0] + " y: " + xyz[1] + " z: " + xyz[2]);
View Full Code Here

        // Ask any existing seed jobs started by this feed to terminate
        stopSeeding(true);

        // We do the truncate synchronously to get rid of stale data as quickly as we can
        while (mimeIter.hasNext()) {
            DiscontinuousTileRange dtr = new DiscontinuousTileRange(layer.getName(), gridSetId,
                    gridSub.getZoomStart(), gridSub.getZoomStop(), rasterMask, mimeIter.next(),
                    (Map<String, String>) null);
            try {
                GWCTask[] tasks = seeder.createTasks(dtr, layer, GWCTask.TYPE.TRUNCATE, 1, false);
                tasks[0].doAction();
            } catch (GeoWebCacheException e) {
                logger.error("Problem truncating based on GeoRSS feed: " + e.getMessage());
            } catch (InterruptedException e) {
                logger.info("Task abruptly interrupted.");
                return;
            }
        }

        // If truncate was all that was needed, we can quit now
        if (pollDef.getOperation() == GWCTask.TYPE.TRUNCATE) {
            logger.info("Truncation succeeded, won't seed as stated by poll def: " + pollDef);
            return;
        }

        // ... else we seed
        mimeIter = mimeList.iterator();
        while (mimeIter.hasNext()) {
            DiscontinuousTileRange dtr = new DiscontinuousTileRange(layer.getName(), gridSetId,
                    gridSub.getZoomStart(), gridSub.getZoomStop(), rasterMask, mimeIter.next(),
                    (Map<String, String>) null);

            final int seedingThreads = pollDef.getSeedingThreads();
            GWCTask[] tasks;
View Full Code Here

TOP

Related Classes of org.geowebcache.storage.DiscontinuousTileRange

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.