Class SSIServletExternalResolver

  • All Implemented Interfaces:
    SSIExternalResolver

    public class SSIServletExternalResolver
    extends java.lang.Object
    implements SSIExternalResolver
    An implementation of SSIExternalResolver that is used with servlets.
    Author:
    Dan Sandberg, David Becker
    • Field Detail

      • VARIABLE_NAMES

        protected final java.lang.String[] VARIABLE_NAMES
      • isVirtualWebappRelative

        protected final boolean isVirtualWebappRelative
      • debug

        protected final int debug
      • inputEncoding

        protected final java.lang.String inputEncoding
    • Method Detail

      • log

        public void log​(java.lang.String message,
                        java.lang.Throwable throwable)
        Specified by:
        log in interface SSIExternalResolver
      • addVariableNames

        public void addVariableNames​(java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: SSIExternalResolver
        Adds any external variables to the variableNames collection.
        Specified by:
        addVariableNames in interface SSIExternalResolver
        Parameters:
        variableNames - the collection to add to
      • getReqAttributeIgnoreCase

        protected java.lang.Object getReqAttributeIgnoreCase​(java.lang.String targetName)
      • isNameReserved

        protected boolean isNameReserved​(java.lang.String name)
      • setVariableValue

        public void setVariableValue​(java.lang.String name,
                                     java.lang.String value)
        Description copied from interface: SSIExternalResolver
        Set the named variable to the specified value. If value is null, then the variable will be removed ( ie. a call to getVariableValue will return null )
        Specified by:
        setVariableValue in interface SSIExternalResolver
        Parameters:
        name - of the variable
        value - of the variable
      • getCGIVariable

        protected java.lang.String getCGIVariable​(java.lang.String name)
      • getCurrentDate

        public java.util.Date getCurrentDate()
        Description copied from interface: SSIExternalResolver
        Returns the current date. This is useful for putting the SSI stuff in a regression test. Since you can make the current date a constant, it makes testing easier since the output won't change.
        Specified by:
        getCurrentDate in interface SSIExternalResolver
        Returns:
        the data
      • nullToEmptyString

        protected java.lang.String nullToEmptyString​(java.lang.String string)
      • getPathWithoutFileName

        protected java.lang.String getPathWithoutFileName​(java.lang.String servletPath)
      • getPathWithoutContext

        protected java.lang.String getPathWithoutContext​(java.lang.String contextPath,
                                                         java.lang.String servletPath)
      • getAbsolutePath

        protected java.lang.String getAbsolutePath​(java.lang.String path)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • getServletContextAndPathFromNonVirtualPath

        protected SSIServletExternalResolver.ServletContextAndPath getServletContextAndPathFromNonVirtualPath​(java.lang.String nonVirtualPath)
                                                                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • isRootContext

        protected boolean isRootContext​(ServletContext servletContext)
      • getURLConnection

        protected java.net.URLConnection getURLConnection​(java.lang.String originalPath,
                                                          boolean virtual)
                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getFileLastModified

        public long getFileLastModified​(java.lang.String path,
                                        boolean virtual)
                                 throws java.io.IOException
        Specified by:
        getFileLastModified in interface SSIExternalResolver
        Throws:
        java.io.IOException
      • getFileSize

        public long getFileSize​(java.lang.String path,
                                boolean virtual)
                         throws java.io.IOException
        Specified by:
        getFileSize in interface SSIExternalResolver
        Throws:
        java.io.IOException
      • getFileText

        public java.lang.String getFileText​(java.lang.String originalPath,
                                            boolean virtual)
                                     throws java.io.IOException
        Specified by:
        getFileText in interface SSIExternalResolver
        Throws:
        java.io.IOException