/******************************************************************************* * Copyright (c) 2015 IBH SYSTEMS GmbH. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBH SYSTEMS GmbH - initial API and implementation *******************************************************************************/ package org.eclipse.packagedrone.web.util; import java.util.Enumeration; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import com.google.common.collect.Iterators; public class ParameterOverridingRequestWrapper extends HttpServletRequestWrapper { private final Map<String, String[]> parameters; public ParameterOverridingRequestWrapper ( final HttpServletRequest request, final Map<String, String[]> parameters ) { super ( request ); this.parameters = parameters; } @Override public String[] getParameterValues ( final String name ) { return getParameterMap ().get ( name ); } @Override public Enumeration<String> getParameterNames () { return Iterators.asEnumeration ( getParameterMap ().keySet ().iterator () ); } @Override public String getParameter ( final String name ) { final String[] values = getParameterValues ( name ); if ( values == null || values.length < 1 ) { return null; } return values[0]; } @Override public Map<String, String[]> getParameterMap () { return this.parameters; } }