Skip to content

Commit

Permalink
making the AbstractFilter class to extend the AbstractServlet class
Browse files Browse the repository at this point in the history
  • Loading branch information
laminba2003 committed Nov 28, 2019
1 parent f92cadc commit c088830
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 53 deletions.
54 changes: 2 additions & 52 deletions src/main/java/org/gservlet/AbstractFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,22 @@

package org.gservlet;

import static groovy.json.JsonOutput.toJson;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import groovy.sql.Sql;
import groovy.xml.MarkupBuilder;

public abstract class AbstractFilter implements Filter {
@SuppressWarnings("serial")
public abstract class AbstractFilter extends AbstractServlet implements Filter {

protected FilterConfig config;
protected final ThreadLocal<RequestContext> requestContext = new ThreadLocal<>();
protected final Logger logger = Logger.getLogger(AbstractFilter.class.getName());

@Override
Expand Down Expand Up @@ -78,26 +72,6 @@ public void destroy() {
// no implementation provided
}

public RequestContext getRequestContext() {
return requestContext.get();
}

public HttpServletRequest getRequest() {
return new RequestWrapper(getRequestContext().getRequest());
}

public HttpSession getSession() {
return new SessionWrapper(getRequestContext().getSession());
}

public ServletContext getContext() {
return new ContextWrapper(getRequestContext().getServletContext());
}

public HttpServletResponse getResponse() {
return getRequestContext().getResponse();
}

public FilterChain getFilterChain() {
return getRequestContext().getFilterChain();
}
Expand All @@ -106,28 +80,4 @@ public FilterConfig getConfig() {
return config;
}

public Sql getConnection() {
return (Sql) getRequestContext().getRequest().getAttribute(Constants.CONNECTION);
}

public PrintWriter getOut() throws IOException {
return getResponse().getWriter();
}

public void json(Object object) throws IOException {
getResponse().setHeader("Content-Type", "application/json");
getResponse().getWriter().write(toJson(object));
}

public String stringify(Object object) {
return toJson(object);
}

public MarkupBuilder getHtml() throws IOException {
MarkupBuilder builder = new MarkupBuilder(getOut());
getResponse().setHeader("Content-Type", "text/html");
getResponse().getWriter().println("<!DOCTYPE html>");
return builder;
}

}
3 changes: 2 additions & 1 deletion src/test/java/org/gservlet/HttpFilterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import java.util.HashMap;
import java.util.Map;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpServletRequest;
Expand Down Expand Up @@ -55,7 +56,7 @@ public Object answer(InvocationOnMock invocation) throws Throwable {
doAnswer(initializeMap).when(request).setAttribute(anyString(),any());
filter.doFilter(request, mock(HttpServletResponse.class), mock(FilterChain.class));
assertEquals("filtering", map.get("state"));
filter.init(null);
filter.init(mock(FilterConfig.class));
assertEquals("init", map.get("state"));
filter.destroy();
assertEquals("destroy", map.get("state"));
Expand Down

0 comments on commit c088830

Please sign in to comment.