Class SLDParser


  • public class SLDParser
    extends Object
    TODO: This really needs to be container ready
    Author:
    jgarnett
    • Field Detail

      • source

        protected InputSource source
    • Constructor Detail

      • SLDParser

        public SLDParser​(StyleFactory factory)
        Create a Stylereader - use if you already have a dom to parse.
        Parameters:
        factory - The StyleFactory to use to build the style
      • SLDParser

        public SLDParser​(StyleFactory factory,
                         String filename)
                  throws FileNotFoundException
        Creates a new instance of SLDStyler
        Parameters:
        factory - The StyleFactory to use to read the file
        filename - The file to be read.
        Throws:
        FileNotFoundException - - if the file is missing
      • SLDParser

        public SLDParser​(StyleFactory factory,
                         File f)
                  throws FileNotFoundException
        Creates a new SLDStyle object.
        Parameters:
        factory - The StyleFactory to use to read the file
        f - the File to be read
        Throws:
        FileNotFoundException - - if the file is missing
      • SLDParser

        public SLDParser​(StyleFactory factory,
                         URL url)
                  throws IOException
        Creates a new SLDStyle object.
        Parameters:
        factory - The StyleFactory to use to read the file
        url - the URL to be read.
        Throws:
        IOException - - if something goes wrong reading the file
      • SLDParser

        public SLDParser​(StyleFactory factory,
                         InputStream s)
        Creates a new SLDStyle object.
        Parameters:
        factory - The StyleFactory to use to read the file
        s - The inputstream to be read
      • SLDParser

        public SLDParser​(StyleFactory factory,
                         Reader r)
        Creates a new SLDStyle object.
        Parameters:
        factory - The StyleFactory to use to read the file
        r - The inputstream to be read
    • Method Detail

      • setInput

        public void setInput​(String filename)
                      throws FileNotFoundException
        set the file to read the SLD from
        Parameters:
        filename - the file to read the SLD from
        Throws:
        FileNotFoundException - if the file is missing
      • setInput

        public void setInput​(File f)
                      throws FileNotFoundException
        Sets the file to use to read the SLD from
        Parameters:
        f - the file to use
        Throws:
        FileNotFoundException - if the file is missing
      • setInput

        public void setInput​(URL url)
                      throws IOException
        sets an URL to read the SLD from
        Parameters:
        url - the url to read the SLD from
        Throws:
        IOException - If anything goes wrong opening the url
      • setInput

        public void setInput​(InputStream in)
        Sets the input stream to read the SLD from
        Parameters:
        in - the inputstream used to read the SLD from
      • setInput

        public void setInput​(Reader in)
        Sets the input stream to read the SLD from
        Parameters:
        in - the inputstream used to read the SLD from
      • setOnLineResourceLocator

        public void setOnLineResourceLocator​(ResourceLocator onlineResourceLocator)
        Sets the resource loader implementation for parsing online resources.
      • setEntityResolver

        public void setEntityResolver​(EntityResolver entityResolver)
        Sets the EntityResolver implementation that will be used by DocumentBuilder to resolve XML external entities.
      • newDocumentBuilder

        protected DocumentBuilder newDocumentBuilder​(boolean namespaceAware)
                                              throws ParserConfigurationException
        Throws:
        ParserConfigurationException
      • readXML

        public Style[] readXML()
        Read the xml inputsource provided and create a Style object for each user style found
        Returns:
        Style[] the styles constructed.
        Throws:
        RuntimeException - if a parsing error occurs
      • readDOM

        public Style[] readDOM()
        Read styles from the dom that was previously parsed.
      • readDOM

        public Style[] readDOM​(Document document)
        Read the DOM provided and create a Style object for each user style found
        Parameters:
        document - a dom containing the SLD
        Returns:
        Style[] the styles constructed.
      • parseRemoteOWS

        protected RemoteOWS parseRemoteOWS​(Node root)
      • parseNamedStyle

        public NamedStyle parseNamedStyle​(Node n)
        Parses a NamedStyle from node.

        A NamedStyle is used to refer to a style that has a name in a WMS, and is defined as:

         <code>
         <xsd:element name="NamedStyle">
          <xsd:annotation>
           <xsd:documentation> A NamedStyle is used to refer to a style that has a name in a WMS. </xsd:documentation>
          </xsd:annotation>
          <xsd:complexType>
           <xsd:sequence>
            <xsd:element ref="sld:Name"/>
           </xsd:sequence>
          </xsd:complexType>
         </xsd:element>
         </code>
         
      • parseStyle

        public Style parseStyle​(Node n)
        build a style for the Node provided
        Parameters:
        n - the node which contains the style to be parsed.
        Returns:
        the Style constructed.
        Throws:
        RuntimeException - if an error occurs setting up the parser
      • parseFeatureTypeStyle

        protected FeatureTypeStyle parseFeatureTypeStyle​(Node style)
        Internal parse method - made protected for unit testing
      • parseRule

        protected Rule parseRule​(Node ruleNode)
        Internal parse method - made protected for unit testing
      • parseFilter

        protected Filter parseFilter​(Node child)
        Internal parse method - made protected for unit testing
      • parseLineSymbolizer

        protected LineSymbolizer parseLineSymbolizer​(Node root)
        parses the SLD for a linesymbolizer
        Parameters:
        root - a w2c Dom Node
        Returns:
        the linesymbolizer
      • parsePolygonSymbolizer

        protected PolygonSymbolizer parsePolygonSymbolizer​(Node root)
        parses the SLD for a polygonsymbolizer
        Parameters:
        root - w3c dom node
        Returns:
        the polygon symbolizer
      • parseTextSymbolizer

        protected TextSymbolizer parseTextSymbolizer​(Node root)
        parses the SLD for a text symbolizer
        Parameters:
        root - w3c dom node
        Returns:
        the TextSymbolizer
      • parseOtherText

        protected OtherText parseOtherText​(Node root)
      • parseRasterSymbolizer

        protected RasterSymbolizer parseRasterSymbolizer​(Node root)
        parses the SLD for a text symbolizer
        Parameters:
        root - w3c dom node
        Returns:
        the TextSymbolizer
      • parseColorMapEntry

        protected ColorMapEntry parseColorMapEntry​(Node root)
        Internal parse method - made protected for unit testing
      • parseColorMap

        protected ColorMap parseColorMap​(Node root)
        Internal parse method - made protected for unit testing
      • parseSelectedChannel

        protected SelectedChannelType parseSelectedChannel​(Node root)
        Internal parse method - made protected for unit testing
      • parseChannelSelection

        protected ChannelSelection parseChannelSelection​(Node root)
        Internal parse method - made protected for unit testing
      • parseContrastEnhancement

        protected ContrastEnhancement parseContrastEnhancement​(Node root)
        Internal parse method - made protected for unit testing
      • parseShadedRelief

        protected ShadedRelief parseShadedRelief​(Node root)
        Internal parse method - made protected for unit testing
      • parsePointSymbolizer

        protected PointSymbolizer parsePointSymbolizer​(Node root)
        parses the SLD for a point symbolizer
        Parameters:
        root - a w3c dom node
        Returns:
        the pointsymbolizer
      • parseGraphic

        protected Graphic parseGraphic​(Node root)
        Internal parse method - made protected for unit testing
      • parseGeometryName

        protected String parseGeometryName​(Node root)
        Internal parse method - made protected for unit testing
      • parseGeometry

        protected Expression parseGeometry​(Node root)
        Internal parse method - made protected for unit testing
      • parseMark

        protected Mark parseMark​(Node root)
        Internal parse method - made protected for unit testing
      • parseExternalGraphic

        protected ExternalGraphic parseExternalGraphic​(Node root)
        Internal parse method - made protected for unit testing
      • parseOnlineResource

        protected String parseOnlineResource​(Node root)
        Internal parse method - made protected for unit testing
      • parseStroke

        protected Stroke parseStroke​(Node root)
        Internal parse method - made protected for unit testing
      • parseFill

        protected Fill parseFill​(Node root)
        Internal parse method - made protected for unit testing
      • parseFont

        protected Font parseFont​(Node root)
        Internal method to parse a Font Node; protected to allow for unit testing
      • parseLabelPlacement

        protected LabelPlacement parseLabelPlacement​(Node root)
        Internal parse method - made protected for unit testing
      • parsePointPlacement

        protected PointPlacement parsePointPlacement​(Node root)
        Internal parse method - made protected for unit testing
      • parseLinePlacement

        protected LinePlacement parseLinePlacement​(Node root)
        Internal parse method - made protected for unit testing
      • parseAnchorPoint

        protected AnchorPoint parseAnchorPoint​(Node root)
        Internal method to parse an AnchorPoint node; protected visibility for testing.
      • parseDisplacement

        protected Displacement parseDisplacement​(Node root)
        Internal parse method - made protected for unit testing
      • parseHalo

        protected Halo parseHalo​(Node root)
        Internal parse method - made protected for unit testing