/** * This software is licensed to you under the Apache License, Version 2.0 (the * "Apache License"). * * LinkedIn's contributions are made under the Apache License. If you contribute * to the Software, the contributions will be deemed to have been made under the * Apache License, unless you expressly indicate otherwise. Please do not make any * contributions that would be inconsistent with the Apache License. * * You may obtain a copy of the Apache License at http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, this software * distributed under the Apache License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Apache * License for the specific language governing permissions and limitations for the * software governed under the Apache License. * * © 2012 LinkedIn Corp. All Rights Reserved. */ package com.senseidb.test; import java.io.BufferedReader; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import javax.servlet.AsyncContext; import javax.servlet.DispatcherType; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletInputStream; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.apache.http.NameValuePair; /** * Created by IntelliJ IDEA. User: bguarrac Date: 4/8/11 Time: 3:47 PM To change this template use File | Settings | * File Templates. */ public class MockServletRequest implements ServletRequest { Map<String, List<String>> _map; public MockServletRequest(Map<String, List<String>> map) { _map = map; } public static MockServletRequest create(List<NameValuePair> list) { Map<String, List<String>> map = new HashMap<String, List<String>>(); for (NameValuePair pair : list) { String name = pair.getName(); if (!map.containsKey(name)) { map.put(name, new ArrayList<String>()); } for (String value: pair.getValue().split(",")) { map.get(name).add(value); } } return new MockServletRequest(map); } @Override public AsyncContext getAsyncContext() { throw new UnsupportedOperationException(); } @Override public boolean isAsyncStarted() { return false; } @Override public boolean isAsyncSupported() { return false; } @Override public AsyncContext startAsync() { throw new UnsupportedOperationException(); } @Override public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) { throw new UnsupportedOperationException(); } @Override public Object getAttribute(String s) { throw new UnsupportedOperationException(); } @Override public Enumeration getAttributeNames() { throw new UnsupportedOperationException(); } @Override public String getCharacterEncoding() { throw new UnsupportedOperationException(); } @Override public void setCharacterEncoding(String s) throws UnsupportedEncodingException { throw new UnsupportedOperationException(); } @Override public int getContentLength() { throw new UnsupportedOperationException(); } @Override public String getContentType() { throw new UnsupportedOperationException(); } @Override public DispatcherType getDispatcherType() { return DispatcherType.REQUEST; } @Override public ServletInputStream getInputStream() throws IOException { throw new UnsupportedOperationException(); } @Override public String getParameter(String s) { throw new UnsupportedOperationException(); } @Override public Enumeration getParameterNames() { return new EnumerationWrapper(_map.keySet().iterator()); } public class EnumerationWrapper implements Enumeration { Iterator _iterator; public EnumerationWrapper(Iterator iter) { _iterator = iter; } @Override public boolean hasMoreElements() { return _iterator.hasNext(); } @Override public Object nextElement() { return _iterator.next(); } }; @Override public String[] getParameterValues(String s) { List<String> value = _map.get(s); if (value == null) return new String[0]; return value.toArray(new String[value.size()]); } @Override public Map getParameterMap() { throw new UnsupportedOperationException(); } @Override public String getProtocol() { throw new UnsupportedOperationException(); } @Override public String getScheme() { throw new UnsupportedOperationException(); } @Override public ServletContext getServletContext() { throw new UnsupportedOperationException(); } @Override public String getServerName() { throw new UnsupportedOperationException(); } @Override public int getServerPort() { throw new UnsupportedOperationException(); } @Override public BufferedReader getReader() throws IOException { throw new UnsupportedOperationException(); } @Override public String getRemoteAddr() { throw new UnsupportedOperationException(); } @Override public String getRemoteHost() { throw new UnsupportedOperationException(); } @Override public void setAttribute(String s, Object o) { throw new UnsupportedOperationException(); } @Override public void removeAttribute(String s) { throw new UnsupportedOperationException(); } @Override public Locale getLocale() { throw new UnsupportedOperationException(); } @Override public Enumeration getLocales() { throw new UnsupportedOperationException(); } @Override public boolean isSecure() { throw new UnsupportedOperationException(); } @Override public RequestDispatcher getRequestDispatcher(String s) { throw new UnsupportedOperationException(); } @Override public String getRealPath(String s) { throw new UnsupportedOperationException(); } @Override public int getRemotePort() { throw new UnsupportedOperationException(); } @Override public String getLocalName() { throw new UnsupportedOperationException(); } @Override public String getLocalAddr() { throw new UnsupportedOperationException(); } @Override public int getLocalPort() { throw new UnsupportedOperationException(); } }