@Override public boolean isStyleApplicable( StyleRef style ) { Map<String, Style> styles = metadata.getStyles(); if ( styles.isEmpty() && "default".equals( style.getName() ) ) { return true; } return resolveStyleRef( style ) != null; } }
protected Style resolveStyleRef( StyleRef ref ) { Style style = ref.getStyle(); if ( style == null ) { style = metadata.getStyles().get( ref.getName() ); } return style; }
private Style findLegendStyle( LayerRef layer, StyleRef styleRef ) { Style style; style = service.themeMap.get( layer.getName() ).getLayerMetadata().getLegendStyles().get( styleRef.getName() ); if ( style == null ) { style = service.themeMap.get( layer.getName() ).getLayerMetadata().getStyles().get( styleRef.getName() ); } return style; }
private Theme buildAutoTheme( Layer layer ) { LayerMetadata md = new LayerMetadata( null, null, null ); LayerMetadata lmd = layer.getMetadata(); md.merge( lmd ); md.setDimensions( new LinkedHashMap<String, Dimension<?>>( lmd.getDimensions() ) ); md.setStyles( new LinkedHashMap<String, Style>( lmd.getStyles() ) ); md.setLegendStyles( new LinkedHashMap<String, Style>( lmd.getLegendStyles() ) ); return new StandardTheme( md, Collections.<Theme> emptyList(), singletonList( layer ), metadata ); }
private Map<String, Layer> collectConfiguredRemoteLayers( Map<String, LayerMetadata> configured ) { Map<String, Layer> map = new LinkedHashMap<String, Layer>(); RequestOptionsType opts = cfg.getRequestOptions(); List<LayerMetadata> layers = client.getLayerTree().flattenDepthFirst(); for ( LayerMetadata md : layers ) { String name = md.getName(); LayerMetadata confMd = configured.get( name ); if ( confMd != null ) { confMd.merge( md ); confMd.setStyles( md.getStyles() ); confMd.setLegendStyles( md.getLegendStyles() ); map.put( confMd.getName(), new RemoteWMSLayer( name, confMd, client, opts ) ); } } return map; }
dims.putAll( lay.getMetadata().getDimensions() ); styles.putAll( lay.getMetadata().getStyles() ); legendStyles.putAll( lay.getMetadata().getLegendStyles() ); types.addAll( lay.getMetadata().getFeatureTypes() );
LayerStore createFromAutoLayers( AutoLayers cfg ) { String cid = cfg.getCoverageStoreId(); String sid = cfg.getStyleStoreId(); Coverage cov = workspace.getResource( CoverageProvider.class, cid ); StyleStore sstore = null; if ( sid != null ) { sstore = workspace.getResource( StyleStoreProvider.class, sid ); } SpatialMetadata smd = new SpatialMetadata( cov.getEnvelope(), Collections.singletonList( cov.getCoordinateSystem() ) ); Description desc = new Description( cid, Collections.singletonList( new LanguageString( cid, null ) ), null, null ); LayerMetadata md = new LayerMetadata( cid, desc, smd ); md.getFeatureTypes().add( buildFeatureType() ); if ( sstore != null ) { for ( Style s : sstore.getAll( cid ) ) { md.getStyles().put( s.getName(), s ); } } Layer l = new CoverageLayer( md, cov instanceof AbstractRaster ? (AbstractRaster) cov : null, cov instanceof MultiResolutionRaster ? (MultiResolutionRaster) cov : null ); return new SingleLayerStore( l, metadata ); }
ref.resolve( getMetadata().getStyles().get( ref.getName() ) );
@Override public FeatureLayerData infoQuery( final LayerQuery query, List<String> headers ) throws OWSException { OperatorFilter filter = this.filter; filter = Filters.and( filter, dimFilterBuilder.getDimensionFilter( query.getDimensions(), headers ) ); StyleRef ref = query.getStyle(); if ( !ref.isResolved() ) { ref.resolve( getMetadata().getStyles().get( ref.getName() ) ); } Style style = ref.getStyle(); style = style.filter( query.getScale() ); filter = Filters.and( filter, getStyleFilters( style, query.getScale() ) ); filter = Filters.and( filter, query.getFilter() ); int layerRadius = -1; if ( getMetadata().getMapOptions() != null ) { layerRadius = getMetadata().getMapOptions().getFeatureInfoRadius(); } final Envelope clickBox = query.calcClickBox( layerRadius > -1 ? layerRadius : query.getLayerRadius() ); filter = (OperatorFilter) addBBoxConstraint( clickBox, filter, null, false ); QName featureType = this.featureType == null ? style.getFeatureType() : this.featureType; filter = Filters.repair( filter, AppSchemas.collectProperyNames( featureStore.getSchema(), featureType ) ); LOG.debug( "Querying the feature store(s)..." ); QueryBuilder builder = new QueryBuilder( featureStore, filter, featureType, clickBox, query, null, sortByFeatureInfo, getMetadata().getName() ); List<Query> queries = builder.buildInfoQueries(); LOG.debug( "Finished querying the feature store(s)." ); return new FeatureLayerData( queries, featureStore, query.getFeatureCount(), style, featureType ); }
writeStyles( writer, layerMetadata.getName(), layerMetadata.getLegendStyles(), layerMetadata.getStyles() );
writeStyles( writer, layerMetadata.getName(), layerMetadata.getLegendStyles(), layerMetadata.getStyles() );