if ( sld != null ) { try { triple = parse( xmlfac.createXMLStreamReader( sld, new URL( sld ).openStream() ), this ); } catch ( ParseException e ) { LOG.trace( "Stack trace:", e ); triple = parse( xmlfac.createXMLStreamReader( new StringReader( sldBody ) ), this ); } catch ( ParseException e ) { LOG.trace( "Stack trace:", e );
/** * @param in * @param service * @param gm * filters will be added to this GetMap instance * @return a list of layers parsed from SLD * @throws XMLStreamException * @throws OWSException * @throws ParseException */ @Deprecated public static Triple<LinkedList<LayerRef>, LinkedList<StyleRef>, LinkedList<OperatorFilter>> parse( XMLStreamReader in, RequestBase gm ) throws XMLStreamException, OWSException, ParseException { StylesContainer styleInformations = parse( in ); for ( Pair<String, List<?>> dimension : styleInformations.getDimensions() ) { gm.addDimensionValue( dimension.first, dimension.second ); } LinkedList<LayerRef> layerRefs = new LinkedList<LayerRef>(); LinkedList<StyleRef> styleRefs = new LinkedList<StyleRef>(); LinkedList<OperatorFilter> filters = new LinkedList<OperatorFilter>(); List<StyleContainer> styles = styleInformations.getStyles(); for ( StyleContainer styleInformation : styles ) { layerRefs.add( styleInformation.getLayerRef() ); styleRefs.add( styleInformation.getStyleRef() ); filters.add( styleInformation.getFilter() ); } return new Triple<LinkedList<LayerRef>, LinkedList<StyleRef>, LinkedList<OperatorFilter>>( layerRefs, styleRefs, filters ); }
private GetMap parse130( XMLStreamReader in ) throws UnknownCRSException, XMLStreamException, OWSException, ParseException { skipToRequiredElement( in, new QName( SLDNS, "StyledLayerDescriptor" ) ); StylesContainer parsedStyles = SLDParser.parse( in ); List<LayerRef> layers = new ArrayList<LayerRef>(); List<StyleRef> styles = new ArrayList<StyleRef>(); for ( StyleContainer style : parsedStyles.getStyles() ) { layers.add( style.getLayerRef() ); styles.add( style.getStyleRef() ); } skipToRequiredElement( in, new QName( SLDNS, "CRS" ) ); ICRS crs = parseCRS( in ); skipToRequiredElement( in, new QName( SLDNS, "BoundingBox" ) ); Envelope envelope = parseBoundingBox( in ); skipToRequiredElement( in, new QName( SLDNS, "Output" ) ); Output output = parseOutput( in ); Map<String, String> parameterMap = new HashMap<String, String>(); parameterMap.put( "EXCEPTIONS", parseExceptions( in ) ); Map<String, List<?>> dimensions = parseDimensions( in ); return createGetMap( layers, styles, crs, envelope, output, parameterMap, dimensions ); }