All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.brettonw.bedrock.servlet.test.TestServletContext Maven / Gradle / Ivy

package com.brettonw.bedrock.servlet.test;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import javax.servlet.*;
import javax.servlet.descriptor.JspConfigDescriptor;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.nio.file.Paths;
import java.util.*;

public class TestServletContext implements ServletContext {
    private static final Logger log = LogManager.getLogger (TestServletContext.class);

    Map attributes;

    public TestServletContext () {
        attributes = new HashMap<> ();
    }

    @Override
    public String getContextPath () {
        return null;
    }

    @Override
    public ServletContext getContext (String s) {
        return null;
    }

    @Override
    public int getMajorVersion () {
        return 0;
    }

    @Override
    public int getMinorVersion () {
        return 0;
    }

    @Override
    public int getEffectiveMajorVersion () {
        return 0;
    }

    @Override
    public int getEffectiveMinorVersion () {
        return 0;
    }

    @Override
    public String getMimeType (String s) {
        return null;
    }

    @Override
    public Set getResourcePaths (String s) {
        return null;
    }

    @Override
    public URL getResource (String s) throws MalformedURLException {
        return null;
    }

    @Override
    public InputStream getResourceAsStream (String s) {
        try {
            return new FileInputStream (new File (getRealPath (s)));
        } catch (FileNotFoundException exception) {
            log.error (exception);
            return null;
        }
    }

    @Override
    public RequestDispatcher getRequestDispatcher (String s) {
        return null;
    }

    @Override
    public RequestDispatcher getNamedDispatcher (String s) {
        return null;
    }

    @Override
    public Servlet getServlet (String s) throws ServletException {
        return null;
    }

    @Override
    public Enumeration getServlets () {
        return null;
    }

    @Override
    public Enumeration getServletNames () {
        return null;
    }

    @Override
    public void log (String s) {

    }

    @Override
    public void log (Exception e, String s) {

    }

    @Override
    public void log (String s, Throwable throwable) {

    }

    @Override
    public String getRealPath (String s) {
        String root = Paths.get (".").toAbsolutePath ().normalize ().toString ();

        // the purpose of this library is to provide testing of live web servlets. They will be under
        // "src/main/webapp", but in some cases that location might not be part of the project, in
        // which case we want a reasonable fallback

        // first try to see if the requested reource is available in "src/main/webapp"
        File webappFile = new File (new File (root, "src/main/webapp"), s);
        if (webappFile.exists ()) {
            return webappFile.toString ();
        }

        // otherwise see if it's under "src/test" somewhere
        File testFile = new File (root, "src/test");
        String fullPath = new File (testFile, s).toString ();
        return fullPath;
    }

    @Override
    public String getServerInfo () {
        return null;
    }

    @Override
    public String getInitParameter (String s) {
        return null;
    }

    @Override
    public Enumeration getInitParameterNames () {
        return null;
    }

    @Override
    public boolean setInitParameter (String s, String s1) {
        return false;
    }

    @Override
    public Object getAttribute (String s) {
        return attributes.get (s);
    }

    @Override
    public Enumeration getAttributeNames () {
        return null;
    }

    @Override
    public void setAttribute (String s, Object o) {
        attributes.put (s, o);
    }

    @Override
    public void removeAttribute (String s) {
        attributes.remove (s);
    }

    @Override
    public String getServletContextName () {
        return null;
    }

    @Override
    public ServletRegistration.Dynamic addServlet (String s, String s1) {
        return null;
    }

    @Override
    public ServletRegistration.Dynamic addServlet (String s, Servlet servlet) {
        return null;
    }

    @Override
    public ServletRegistration.Dynamic addServlet (String s, Class aClass) {
        return null;
    }

    @Override
    public  T createServlet (Class aClass) throws ServletException {
        return null;
    }

    @Override
    public ServletRegistration getServletRegistration (String s) {
        return null;
    }

    @Override
    public Map getServletRegistrations () {
        return null;
    }

    @Override
    public FilterRegistration.Dynamic addFilter (String s, String s1) {
        return null;
    }

    @Override
    public FilterRegistration.Dynamic addFilter (String s, Filter filter) {
        return null;
    }

    @Override
    public FilterRegistration.Dynamic addFilter (String s, Class aClass) {
        return null;
    }

    @Override
    public  T createFilter (Class aClass) throws ServletException {
        return null;
    }

    @Override
    public FilterRegistration getFilterRegistration (String s) {
        return null;
    }

    @Override
    public Map getFilterRegistrations () {
        return null;
    }

    @Override
    public SessionCookieConfig getSessionCookieConfig () {
        return null;
    }

    @Override
    public void setSessionTrackingModes (Set set) {

    }

    @Override
    public Set getDefaultSessionTrackingModes () {
        return null;
    }

    @Override
    public Set getEffectiveSessionTrackingModes () {
        return null;
    }

    @Override
    public void addListener (String s) {

    }

    @Override
    public  void addListener (T t) {

    }

    @Override
    public void addListener (Class aClass) {

    }

    @Override
    public  T createListener (Class aClass) throws ServletException {
        return null;
    }

    @Override
    public JspConfigDescriptor getJspConfigDescriptor () {
        return null;
    }

    @Override
    public ClassLoader getClassLoader () {
        return null;
    }

    @Override
    public void declareRoles (String... strings) {

    }

    @Override
    public String getVirtualServerName () {
        return null;
    }

    @Override
    public ServletRegistration.Dynamic addJspFile (String s, String s1) {
        return null;
    }

    @Override
    public int getSessionTimeout () {
        return 0;
    }

    @Override
    public void setSessionTimeout (int i) {
    }

    @Override
    public String getRequestCharacterEncoding () {
        return StandardCharsets.UTF_8.name ();
    }

    @Override
    public void setRequestCharacterEncoding (String s) {
    }

    @Override
    public String getResponseCharacterEncoding () {
        return StandardCharsets.UTF_8.name ();
    }

    @Override
    public void setResponseCharacterEncoding (String s) {
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy