Package org.geoserver.catalog

Examples of org.geoserver.catalog.WMSLayerInfo


       
        assertEquals( 201, response.getStatusCode() );
        assertNotNull( response.getHeader( "Location") );
        assertTrue( response.getHeader("Location").endsWith( "/workspaces/sf/wmsstores/demo/wmslayers/bugsites" ) );
       
        WMSLayerInfo layer = catalog.getResourceByName("sf", "bugsites", WMSLayerInfo.class);
        assertNotNull(layer.getNativeBoundingBox());
    }
View Full Code Here


       
        assertEquals( 201, response.getStatusCode() );
        assertNotNull( response.getHeader( "Location") );
        assertTrue( response.getHeader("Location").endsWith( "/workspaces/sf/wmsstores/demo/wmslayers/bugsites" ) );
       
        WMSLayerInfo layer = catalog.getResourceByName("sf", "bugsites", WMSLayerInfo.class);
        assertNotNull(layer.getNativeBoundingBox());
    }
View Full Code Here

        assertEquals( "wmsLayer", dom.getDocumentElement().getNodeName() );
        assertXpathEvaluatesTo("states", "/wmsLayer/name", dom);
        assertXpathEvaluatesTo( "EPSG:4326", "/wmsLayer/srs", dom);
        assertEquals( CRS.decode( "EPSG:4326" ).toWKT(), xp.evaluate( "/wmsLayer/nativeCRS", dom ) );
       
        WMSLayerInfo wml = catalog.getResourceByName( "sf", "states", WMSLayerInfo.class );
       
        ReferencedEnvelope re = wml.getLatLonBoundingBox();
        assertXpathEvaluatesTore.getMinX()+"" , "/wmsLayer/latLonBoundingBox/minx", dom );
        assertXpathEvaluatesTore.getMaxX()+"" , "/wmsLayer/latLonBoundingBox/maxx", dom );
        assertXpathEvaluatesTore.getMinY()+"" , "/wmsLayer/latLonBoundingBox/miny", dom );
        assertXpathEvaluatesTore.getMaxY()+"" , "/wmsLayer/latLonBoundingBox/maxy", dom );
    }
View Full Code Here

        assertEquals( 200, response.getStatusCode() );
       
        Document dom = getAsDOM("/rest/workspaces/sf/wmsstores/demo/wmslayers/states.xml");
        assertXpathEvaluatesTo("Lots of states here", "/wmsLayer/title", dom );
       
        WMSLayerInfo wli = catalog.getResourceByName( "sf", "states", WMSLayerInfo.class);
        assertEquals( "Lots of states here", wli.getTitle() );
    }
View Full Code Here

       
        NodeList links = xp.getMatchingNodes("//html:a", dom );
        assertEquals( wmsLayers.size(), links.getLength() );
       
        for ( int i = 0; i < wmsLayers.size(); i++ ){
            WMSLayerInfo wl = wmsLayers.get( i );
            Element link = (Element) links.item( i );
           
            assertTrue( link.getAttribute("href").endsWith( wl.getName() + ".html") );
        }
    }
View Full Code Here

        WMSStoreInfo wms = cb.buildWMSStore("demo");
        wms.setCapabilitiesURL(RemoteOWSTestSupport.WMS_SERVER_URL
                + "service=WMS&request=GetCapabilities");
        catalog.save(wms);
        cb.setStore(wms);
        WMSLayerInfo states = cb.buildWMSLayer("topp:states");
        states.setName("rstates");
        catalog.add(states);
        LayerInfo layer = cb.buildLayer(states);
        catalog.add(layer);

        // populate the access manager
View Full Code Here

            int maxFeatures,
            MapLayerInfo layerInfo) throws Exception {

        final int x = request.getXPixel();
        final int y = request.getYPixel();
        WMSLayerInfo info = (WMSLayerInfo) layerInfo.getResource();
        WebMapServer wms = info.getStore().getWebMapServer(null);
        Layer layer = info.getWMSLayer(null);

        CoordinateReferenceSystem crs = request.getGetMapRequest().getCrs();
        if(crs == null)  {
            // use the native one
            crs = info.getCRS();
        }
        ReferencedEnvelope bbox = new ReferencedEnvelope(request.getGetMapRequest().getBbox(), crs);
        int width = request.getGetMapRequest().getWidth();
        int height = request.getGetMapRequest().getHeight();

        // we can cascade GetFeatureInfo on queryable layers and if the GML mime type is supported
        if (!layer.isQueryable()) {
            return null;
        }

        List<String> infoFormats;
        infoFormats = wms.getCapabilities().getRequest().getGetFeatureInfo().getFormats();
        if (!infoFormats.contains("application/vnd.ogc.gml")) {
            return null;
        }

        // the wms layer does request in a CRS that's compatible with the WMS server srs
        // list,
        // we may need to transform
        WMSMapLayer ml = new WMSMapLayer(wms, layer);
        // delegate to the web map layer as there's quite a bit of reprojection magic
        // code
        // that we want to be consistently reproduced for GetFeatureInfo as well
        final InputStream is = ml.getFeatureInfo(bbox, width, height, x, y,
                "application/vnd.ogc.gml", maxFeatures);
        List<FeatureCollection> results = null;
        try {
            Parser parser = new Parser(new WFSConfiguration());
            parser.setStrict(false);
            Object result = parser.parse(is);
            if (result instanceof FeatureCollectionType) {
                FeatureCollectionType fcList = (FeatureCollectionType) result;
                results = fcList.getFeature();
               
                List<FeatureCollection> retypedResults =
                    new ArrayList<FeatureCollection>(results.size());
               
                // retyping feature collections to replace name and namespace
                // from cascading server with our local WMSLayerInfo
                for (Iterator it = results.iterator(); it.hasNext();) {
                    SimpleFeatureCollection fc = (SimpleFeatureCollection) it.next();                      
                    SimpleFeatureType ft = fc.getSchema();
                                   
                    SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();                   
                    builder.init(ft);                                                                      
                   
                    builder.setName(info.getName());
                    builder.setNamespaceURI(info.getNamespace().getURI());
                  
                    FeatureCollection rfc =
                        new ReTypingFeatureCollection(fc, builder.buildFeatureType());
                   
                    retypedResults.add(rfc);
View Full Code Here

        return resource;
    }   

    public WMSLayerInfo getWMSLayerInfo(final Name name) {
        Catalog catalog = getCatalog();
        WMSLayerInfo resource = catalog.getResourceByName(name, WMSLayerInfo.class);
        return resource;
    }
View Full Code Here

     * Returns true if the layer can be queried
     */
    public boolean isQueryable(LayerInfo layer) {
        try {
            if (layer.getResource() instanceof WMSLayerInfo) {
                WMSLayerInfo info = (WMSLayerInfo) layer.getResource();
                Layer wl = info.getWMSLayer(null);
                if (!wl.isQueryable()) {
                    return false;
                }
                WMSCapabilities caps = info.getStore().getWebMapServer(null).getCapabilities();
                if (!caps.getRequest().getGetFeatureInfo().getFormats()
                        .contains("application/vnd.ogc.gml")) {
                    return false;
                }
            }
View Full Code Here

TOP

Related Classes of org.geoserver.catalog.WMSLayerInfo

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.