Iterator<LayerRef> layerItr = gm.getLayers().iterator(); List<OperatorFilter> filters = gm.getFilters(); Iterator<OperatorFilter> filterItr = filters == null ? null : filters.iterator();
private GetFeatureInfo createGetFeatureInfo( GetMap getMap, List<String> queryLayers, int i, int j, Output output, String exceptions ) throws OWSException { HashMap<String, String> parameterMap = new HashMap<String, String>(); if ( exceptions != null ) parameterMap.put( "EXCEPTIONS", exceptions ); return new GetFeatureInfo( getMap.getLayers(), getMap.getStyles(), queryLayers, getMap.getWidth(), getMap.getHeight(), i, j, getMap.getBoundingBox(), getMap.getCoordinateSystem(), output.featureCount, output.infoFormat, parameterMap, getMap.getDimensions() ); }
map.put( "version", wmsVersion.toString() ); map.put( "service", "WMS" ); map.put( "layers", join( ",", getMap.getLayers() ) ); map.put( "styles", "" ); LinkedList<StyleRef> styles = new LinkedList<StyleRef>( getMap.getStyles() ); if ( styles.size() > 0 ) { while ( styles.size() < getMap.getLayers().size() ) { styles.add( new StyleRef( "default" ) );
try { List<String> layers = new ArrayList<String>(); for ( LayerRef layerRef : gm.getLayers() ) { layers.add( layerRef.getName() );
/** * Checks whether the given {@link GetMap} request can be processed with regard to the configured limits on image * size and layer count. * * @param request * request, must not be <code>null</code> * @param config * WMS config, must not be <code>null</code> * @throws OWSException * if the request can not be processed */ public void checkRequestedSizeAndLayerCount( final GetMap request, final DeegreeWMS config ) throws OWSException { checkWidth( request.getWidth(), toIntegerNullSafe( config.getMaxWidth() ) ); checkHeight( request.getHeight(), toIntegerNullSafe( config.getMaxHeight() ) ); int layerCount = request.getLayers() != null ? request.getLayers().size() : 0; checkLayerCount( layerCount, toIntegerNullSafe( config.getLayerLimit() ) ); }
private List<LayerData> checkStyleValidAndBuildLayerDataList( org.deegree.protocol.wms.ops.GetMap gm, List<String> headers, double scale, ListIterator<LayerQuery> queryIter ) throws OWSException { List<LayerData> layerDataList = new ArrayList<LayerData>(); for ( LayerRef lr : gm.getLayers() ) { LayerQuery query = queryIter.next(); List<Layer> layers = getAllLayers( themeMap.get( lr.getName() ) ); assertStyleApplicableForAtLeastOneLayer( layers, query.getStyle(), lr.getName() ); for ( org.deegree.layer.Layer layer : layers ) { if ( layer.getMetadata().getScaleDenominators().first > scale || layer.getMetadata().getScaleDenominators().second < scale ) { continue; } if ( layer.isStyleApplicable( query.getStyle() ) ) { layerDataList.add( layer.mapQuery( query, headers ) ); } } } return layerDataList; }
/** * @param hardParameters * parameters to override in the request, may be null * @throws IOException */ public Pair<BufferedImage, String> getMap( GetMap getMap, Map<String, String> hardParameters, int timeout, boolean errorsInImage ) throws IOException { if ( VERSION_111.equals( wmsVersion ) ) { Worker worker = new Worker( getMap.getLayers(), getMap.getStyles(), getMap.getWidth(), getMap.getHeight(), getMap.getBoundingBox(), getMap.getCoordinateSystem(), getMap.getFormat(), getMap.getTransparent(), errorsInImage, false, null, hardParameters ); Pair<BufferedImage, String> result; try { if ( timeout == -1 ) { result = worker.call(); } else { result = Executor.getInstance().performSynchronously( worker, timeout * 1000 ); } } catch ( Throwable e ) { throw new IOException( e.getMessage(), e ); } return result; } throw new IllegalArgumentException( "GetMap request for other versions than 1.1.1 are not supported yet." ); }
throw new OWSException( get( "WMS.UNSUPPORTED_IMAGE_FORMAT", gm.getFormat() ), OWSException.INVALID_FORMAT ); for ( LayerRef lr : gm.getLayers() ) { if ( !service.hasTheme( lr.getName() ) ) { throw new OWSException( "The layer with name " + lr.getName() + " is not defined.", "LayerNotDefined",