Updated Branches: refs/heads/sandbox/servlet3 [created] d9093ad31
better implementation of servlet 3 specs in mocks Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d9093ad3 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d9093ad3 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d9093ad3 Branch: refs/heads/sandbox/servlet3 Commit: d9093ad318fc9ca441691da78c3365d7ad64d60a Parents: 82eef30 Author: Emond Papegaaij <[email protected]> Authored: Wed Apr 4 11:07:47 2012 +0200 Committer: Emond Papegaaij <[email protected]> Committed: Thu Apr 19 11:04:24 2012 +0200 ---------------------------------------------------------------------- .../protocol/http/mock/MockHttpServletRequest.java | 88 ++++++++++++++- .../protocol/http/mock/MockServletContext.java | 58 ++++++---- 2 files changed, 116 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/d9093ad3/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java index 74733e9..75c0e67 100755 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java @@ -21,6 +21,7 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEncodingException; @@ -155,6 +156,72 @@ public class MockHttpServletRequest implements HttpServletRequest } } + private static class MockPart implements Part + { + private String name; + private UploadedFile file; + + public MockPart(String name, UploadedFile file) + { + this.name = name; + this.file = file; + } + + @Override + public InputStream getInputStream() throws IOException + { + return file.getFile().inputStream(); + } + + @Override + public String getContentType() + { + return file.getContentType(); + } + + @Override + public String getName() + { + return name; + } + + @Override + public long getSize() + { + return file.getFile().length(); + } + + @Override + public void write(String fileName) throws IOException + { + throw new UnsupportedOperationException(); + } + + @Override + public void delete() throws IOException + { + throw new UnsupportedOperationException(); + } + + @Override + public String getHeader(String name) + { + return null; + } + + @Override + public Collection<String> getHeaders(String name) + { + return Collections.emptyList(); + } + + @Override + public Collection<String> getHeaderNames() + { + return Collections.emptyList(); + } + } + /** Logging object */ private static final Logger log = LoggerFactory.getLogger(MockHttpServletRequest.class); @@ -1862,30 +1929,41 @@ public class MockHttpServletRequest implements HttpServletRequest @Override public boolean authenticate(HttpServletResponse response) throws IOException, ServletException { - throw new UnsupportedOperationException(); + throw new ServletException("authentication not supported"); } @Override public void login(String username, String password) throws ServletException { - throw new UnsupportedOperationException(); + throw new ServletException("authentication not supported"); } @Override public void logout() throws ServletException { - throw new UnsupportedOperationException(); + throw new ServletException("authentication not supported"); } @Override public Collection<Part> getParts() throws IOException, ServletException { - throw new UnsupportedOperationException(); + List<Part> parts = new ArrayList<Part>(); + if (useMultiPartContentType) + { + for (Map.Entry<String, UploadedFile> curFile : uploadedFiles.entrySet()) + { + parts.add(new MockPart(curFile.getKey(), curFile.getValue())); + } + } + return parts; } @Override public Part getPart(String name) throws IOException, ServletException { - throw new UnsupportedOperationException(); + for (Part curPart : getParts()) + if (curPart.getName().equals(name)) + return curPart; + return null; } } http://git-wip-us.apache.org/repos/asf/wicket/blob/d9093ad3/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java index 3cbd678..8ef8336 100755 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockServletContext.java @@ -215,12 +215,12 @@ public class MockServletContext implements ServletContext } /** - * @return Always 2 + * @return Always 3 */ @Override public int getMajorVersion() { - return 2; + return 3; } /** @@ -246,12 +246,12 @@ public class MockServletContext implements ServletContext } /** - * @return Always 5 + * @return Always 0 */ @Override public int getMinorVersion() { - return 5; + return 0; } /** @@ -603,127 +603,135 @@ public class MockServletContext implements ServletContext public int getEffectiveMajorVersion() { - return 0; + return getMajorVersion(); } public int getEffectiveMinorVersion() { - return 0; + return getMinorVersion(); } public boolean setInitParameter(String name, String value) { - return false; + if (initParameters.containsKey(name)) + return false; + initParameters.put(name, value); + return true; } public Dynamic addServlet(String servletName, String className) { - return null; + throw new UnsupportedOperationException(); } public Dynamic addServlet(String servletName, Servlet servlet) { - return null; + throw new UnsupportedOperationException(); } public Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass) { - return null; + throw new UnsupportedOperationException(); } public <T extends Servlet> T createServlet(Class<T> clazz) throws ServletException { - return null; + throw new UnsupportedOperationException(); } public ServletRegistration getServletRegistration(String servletName) { - return null; + throw new UnsupportedOperationException(); } public Map<String, ? extends ServletRegistration> getServletRegistrations() { - return null; + throw new UnsupportedOperationException(); } public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, String className) { - return null; + throw new UnsupportedOperationException(); } public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, Filter filter) { - return null; + throw new UnsupportedOperationException(); } public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, Class<? extends Filter> filterClass) { - return null; + throw new UnsupportedOperationException(); } public <T extends Filter> T createFilter(Class<T> clazz) throws ServletException { - return null; + throw new UnsupportedOperationException(); } public FilterRegistration getFilterRegistration(String filterName) { - return null; + throw new UnsupportedOperationException(); } public Map<String, ? extends FilterRegistration> getFilterRegistrations() { - return null; + throw new UnsupportedOperationException(); } public SessionCookieConfig getSessionCookieConfig() { - return null; + throw new UnsupportedOperationException(); } public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes) { + throw new UnsupportedOperationException(); } public Set<SessionTrackingMode> getDefaultSessionTrackingModes() { - return null; + throw new UnsupportedOperationException(); } public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() { - return null; + throw new UnsupportedOperationException(); } public void addListener(String className) { + throw new UnsupportedOperationException(); } public <T extends EventListener> void addListener(T t) { + throw new UnsupportedOperationException(); } public void addListener(Class<? extends EventListener> listenerClass) { + throw new UnsupportedOperationException(); } public <T extends EventListener> T createListener(Class<T> clazz) throws ServletException { - return null; + throw new UnsupportedOperationException(); } public JspConfigDescriptor getJspConfigDescriptor() { - return null; + throw new UnsupportedOperationException(); } public ClassLoader getClassLoader() { - return null; + return getClass().getClassLoader(); } public void declareRoles(String... roleNames) { + throw new UnsupportedOperationException(); } }
