Package org.geowebcache.layer

Examples of org.geowebcache.layer.TileLayer


        // Do we have a layer, or should we make a list?
        if (action != null) {
            String layerName = ServletUtils.URLDecode(action, request.getCharacterEncoding());
           
            TileLayer layer = tileLayerDispatcher.getTileLayer(layerName);

            String rawGridSet = request.getParameter("gridSet");
            String gridSetStr = null;
            if(rawGridSet != null)
                gridSetStr = ServletUtils.URLDecode(rawGridSet, request.getCharacterEncoding());
           
            if(gridSetStr == null) {
                gridSetStr = request.getParameter("srs");
               
                if(gridSetStr == null) {
                    gridSetStr = layer.getGridSubsets().keySet().iterator().next();
                }
            }
           
            String formatStr = request.getParameter("format");

            if (formatStr != null) {
                if (!layer.supportsFormat(formatStr)) {
                    throw new GeoWebCacheException(
                            "Unknow or unsupported format " + formatStr);
                }
            } else {
                formatStr = layer.getDefaultMimeType().getFormat();
            }
           
            if(request.getPathInfo().startsWith("/demo")) {
                // Running in GeoServer
                page = generateHTML(layer, gridSetStr, formatStr, true);
View Full Code Here


    throws GeoWebCacheException {
        StringBuffer buf = new StringBuffer();
       
        Set<String> layerList = new TreeSet<String>(tileLayerDispatcher.getLayerNames());
        for(String layerName : layerList) {
            TileLayer layer = tileLayerDispatcher.getTileLayer(layerName);
            buf.append("<tr><td style=\"min-width: 100px;\"><strong>"+layer.getName() + "</strong><br />\n");
            buf.append("<a href=\"rest/seed/"+layer.getName()+"\">Seed this layer</a>\n");
            buf.append("</td><td>" + layer.isEnabled() + "</td>");
            buf.append("<td><table width=\"100%\">");
           
            int count = 0;
            Iterator<GridSubset> iter = layer.getGridSubsets().values().iterator();
            while(iter.hasNext()) {
                GridSubset gridSubset = iter.next();
                String gridSetName = gridSubset.getName();
                if(gridSetName.length() > 20) {
                    gridSetName = gridSetName.substring(0, 20) + "...";
                }
                buf.append("<tr><td style=\"width: 170px;\">").append(gridSetName);
               
                buf.append("</td><td>OpenLayers: [");
                Iterator<MimeType> mimeIter = layer.getMimeTypes().iterator();
                boolean prependComma = false;
                while(mimeIter.hasNext()) {
                    MimeType mime = mimeIter.next();
                    if(mime instanceof ImageMime) {
                        if(prependComma) {
                            buf.append(", ");
                        } else {
                            prependComma = true;
                        }
                        buf.append(generateDemoUrl(layer.getName(), gridSubset.getName(), (ImageMime) mime));
                    }
                }
                buf.append("]</td><td>\n");
               
                if(gridSubset.getName().equals(gridSetBroker.WORLD_EPSG4326.getName())) {
                    buf.append(" &nbsp; KML: [");
                    String prefix = "";
                    prependComma = false;
                    Iterator<MimeType> kmlIter = layer.getMimeTypes().iterator();
                    while(kmlIter.hasNext()) {
                        MimeType mime = kmlIter.next();
                        if(mime instanceof ImageMime || mime == XMLMime.kml) {
                            if(prependComma) {
                                buf.append(", ");
                            } else {
                                prependComma = true;
                            }
                            buf.append("<a href=\""+prefix+"service/kml/"+layer.getName()+"."+mime.getFileExtension()+".kml\">"+mime.getFileExtension()+"</a>");
                        } else if(mime == XMLMime.kmz) {
                            if(prependComma) {
                                buf.append(", ");
                            } else {
                                prependComma = true;
                            }
                            buf.append("<a href=\""+prefix+"service/kml/"+layer.getName()+".kml.kmz\">kmz</a>");
                        }
                    }
                    buf.append("]");
                } else {
                    // No Google Earth support
View Full Code Here

        // Loop over the layers and set appropriate values
        if (gwcConfig.layers != null) {
            Iterator<TileLayer> iter = gwcConfig.layers.iterator();

            while (iter.hasNext()) {
                TileLayer layer = iter.next();
                setDefaultValues(layer);
            }
        }
    }
View Full Code Here

        }
        return names;
    }

    public boolean remove(String layerName) {
        TileLayer tileLayer = getTileLayer(layerName);
        if (tileLayer == null) {
            return false;
        }
        boolean removed = false;
        tileLayer.acquireLayerLock();
        try {
            removed = gwcConfig.removeLayer(tileLayer);
            if (removed) {
                Map<String, TileLayer> buff = new HashMap<String, TileLayer>(this.layers);
                buff.remove(layerName);
                this.layers = buff;
            }
        } finally {
            tileLayer.releaseLayerLock();
        }
        return removed;
    }
View Full Code Here

        if(layers == null)
            return false;
       
        Iterator<TileLayer> iter = layers.iterator();
        while(iter.hasNext()) {
            TileLayer aLayer = iter.next();
            if(aLayer.getName().equals(layer.getName())) {
                layers.remove(aLayer);
                layers.add(layer);
                return true;
            }
        }
View Full Code Here

        if(layers == null)
            return false;
       
        Iterator<TileLayer> iter = layers.iterator();
        while(iter.hasNext()) {
            TileLayer aLayer = iter.next();
            if(aLayer.getName().equals(layer.getName())) {
                return false;
            }
        }
       
        layers.add(layer);
View Full Code Here

        contextProvider = new ApplicationContextProvider();
        contextProvider.setApplicationContext(appContext);

        tld = EasyMock.createMock(TileLayerDispatcher.class);
        TileLayer toppStates = createMockLayer("topp:states");
        TileLayer raster = createMockLayer("raster test layer");
        EasyMock.expect(tld.getTileLayer(EasyMock.eq("topp:states"))).andReturn(toppStates)
                .anyTimes();
        EasyMock.expect(tld.getTileLayer(EasyMock.eq("raster test layer"))).andReturn(raster)
                .anyTimes();
View Full Code Here

            FileUtils.rmFileCacheDir(cacheDir, null);
        }
    }

    private TileLayer createMockLayer(String name) {
        TileLayer layer = EasyMock.createMock(TileLayer.class);
        EasyMock.expect(layer.getName()).andReturn(name).anyTimes();
        EasyMock.replay(layer);
        return layer;
    }
View Full Code Here

    CircularExtentFilter() {
       
    }
   
    public void apply(ConveyorTile convTile) throws RequestFilterException {
        TileLayer tl = convTile.getLayer();
        //SRS srs = convTile.getSRS();
        GridSubset gridSubset = tl.getGridSubset(convTile.getGridSetId());
       
        int z = (int) convTile.getTileIndex()[2];
        long[] gridCoverage = gridSubset.getCoverage(z);

        // Figure out the radius
View Full Code Here

            throw error;
        }
    }

    private void runPollAndLaunchSeed() throws IOException {
        final TileLayer layer = poll.getLayer();
        final GeoRSSFeedDefinition pollDef = poll.getPollDef();

        logger.info("Polling GeoRSS feed for layer " + layer.getName() + ": " + pollDef.toString());

        final String gridSetId = pollDef.getGridSetId();
        final URL feedUrl = new URL(templateFeedUrl(pollDef.getFeedUrl()));
        final String httpUsername = pollDef.getHttpUsername();
        final String httpPassword = pollDef.getHttpUsername();

        logger.debug("Getting GeoRSS reader for " + feedUrl.toExternalForm());
        final GeoRSSReaderFactory geoRSSReaderFactory = new GeoRSSReaderFactory();

        GeoRSSReader geoRSSReader = null;
        try {
            geoRSSReader = geoRSSReaderFactory.createReader(feedUrl, httpUsername, httpPassword);
        } catch (IOException ioe) {
            logger.error("Failed to fetch RSS feed from " + feedUrl + "\n" + ioe.getMessage());
            return;
        }

        logger.debug("Got reader for " + pollDef.getFeedUrl()
                + ". Creating geometry filter matrix for gridset " + gridSetId + " on layer "
                + layer.getName());

        final int maxMaskLevel = pollDef.getMaxMaskLevel();
        final GeoRSSTileRangeBuilder matrixBuilder = new GeoRSSTileRangeBuilder(layer, gridSetId,
                maxMaskLevel);

        logger.debug("Creating tile range mask based on GeoRSS feed's geometries from "
                + feedUrl.toExternalForm() + " for " + layer.getName());

        final GeometryRasterMaskBuilder tileRangeMask = matrixBuilder.buildTileRangeMask(
                geoRSSReader, this.lastUpdatedEntry);

        if (tileRangeMask == null) {
            logger.info("Did not create a tileRangeMask, presumably no new entries in feed.");
            return;
        }

        this.lastUpdatedEntry = matrixBuilder.getLastEntryUpdate();

        logger.debug("Created tile range mask based on GeoRSS geometry feed from " + pollDef
                + " for " + layer.getName() + ". Calculating number of affected tiles...");
        _logImagesToDisk(tileRangeMask);

        final boolean tilesAffected = tileRangeMask.hasTilesSet();
        if (tilesAffected) {
            logger.info("Launching reseed process " + pollDef + " for " + layer.getName());
        } else {
            logger.info(pollDef + " for " + layer.getName()
                    + " did not affect any tile. No need to reseed.");
            return;
        }

        launchSeeding(layer, pollDef, gridSetId, tileRangeMask);
View Full Code Here

TOP

Related Classes of org.geowebcache.layer.TileLayer

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.