You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/05/02 16:01:32 UTC

[01/15] git commit: Fix for WICKET-4664

Updated Branches:
  refs/heads/master 9759e26e7 -> 0ddc7913f


Fix for WICKET-4664

Added tests for RequestUtils.decodeParameters() : in order to be able to test it easily without the mocking or starting a complex requestCycle, extracted the static call to getCurrentCharset() as a method parameter. The extracted method is package visible only and visible for tests only.

When RequestUtils.decodeParameters() is called with a queryString beginning with a "?" it is automatically stripped and thus is not reflected into pageParameters.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/96832b46
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/96832b46
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/96832b46

Branch: refs/heads/master
Commit: 96832b461416db3c95af8d2ae0b597b4d33e5066
Parents: 1c84648
Author: Cedric Gatay <ce...@gatay.fr>
Authored: Mon Apr 29 19:43:34 2013 +0200
Committer: Cedric Gatay <ce...@gatay.fr>
Committed: Mon Apr 29 19:43:34 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/protocol/http/RequestUtils.java  |   29 +++++-
 .../wicket/protocol/http/RequestUtilsTest.java     |   76 ++++++++++++++-
 2 files changed, 101 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/96832b46/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
index cf832bc..023c7d3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
@@ -46,18 +46,41 @@ public final class RequestUtils
 	 */
 	public static void decodeParameters(String queryString, PageParameters params)
 	{
+		decodeParameters(queryString, params, getCurrentCharset());
+	}
+
+	/**
+	 * Decode the provided queryString as a series of key/ value pairs and set them in the provided
+	 * value map.
+	 *
+	 * @param queryString
+	 *            string to decode, uses '&' to separate parameters and '=' to separate key from
+	 *            value
+	 * @param params
+	 *            parameters map to write the found key/ value pairs to
+	 * @param currentCharset
+	 *            charset resolved via current requestCycle
+	 */
+	static void decodeParameters(String queryString, PageParameters params, Charset currentCharset)
+	{
+        
+        if (Strings.indexOf(queryString, '?') == 0)
+        {
+            queryString = queryString.substring(1);
+        }
+        
 		for (String paramTuple : Strings.split(queryString, '&'))
 		{
 			final String[] bits = Strings.split(paramTuple, '=');
 
 			if (bits.length == 2)
 			{
-				params.add(UrlDecoder.QUERY_INSTANCE.decode(bits[0], getCurrentCharset()),
-					UrlDecoder.QUERY_INSTANCE.decode(bits[1], getCurrentCharset()));
+				params.add(UrlDecoder.QUERY_INSTANCE.decode(bits[0], currentCharset),
+					UrlDecoder.QUERY_INSTANCE.decode(bits[1], currentCharset));
 			}
 			else
 			{
-				params.add(UrlDecoder.QUERY_INSTANCE.decode(bits[0], getCurrentCharset()), "");
+				params.add(UrlDecoder.QUERY_INSTANCE.decode(bits[0], currentCharset), "");
 			}
 		}
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/96832b46/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
index a7398c0..c800e87 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
@@ -16,6 +16,9 @@
  */
 package org.apache.wicket.protocol.http;
 
+import java.nio.charset.Charset;
+
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -25,7 +28,10 @@ import org.junit.Test;
  */
 public class RequestUtilsTest extends Assert
 {
-	/**
+
+    public static final Charset UTF_8_CHARSET = Charset.forName("UTF-8");
+
+    /**
 	 * 
 	 */
 	@Test
@@ -97,4 +103,72 @@ public class RequestUtilsTest extends Assert
 		assertEquals(RequestUtils.toAbsolutePath("http://aif.ru/", "./"), "http://aif.ru/");
 
 	}
+
+    /**
+     * WICKET-4664 - remove leading ? if present
+     */
+    @Test
+	public void removeLeadingQuestionMark_simpleParam()
+	{
+        final PageParameters params = new PageParameters();
+		RequestUtils.decodeParameters("?key=value", params, UTF_8_CHARSET);
+        assertEquals("value", params.get("key").toString());
+	}
+
+    /**
+     * WICKET-4664 - remove leading ? if present
+     */
+    @Test
+	public void removeLeadingQuestionMark_simpleParamWithoutValueAndAnotherParam()
+	{
+		final PageParameters params = new PageParameters();
+		RequestUtils.decodeParameters("?123&key=value", params, UTF_8_CHARSET);
+        assertEquals("", params.get("123").toString());
+        assertEquals("value", params.get("key").toString());
+	}
+
+    /**
+     * WICKET-4664 - remove leading ? if present
+     */
+    @Test
+    public void removeLeadingQuestionMark_simpleParamWithoutValue()
+    {
+        final PageParameters params = new PageParameters();
+        RequestUtils.decodeParameters("?123", params, UTF_8_CHARSET);
+        assertEquals("", params.get("123").toString());
+    }
+
+    /**
+     * 
+     */
+    @Test
+    public void decodeParam_simpleParam_noQuestionMark()
+    {
+        final PageParameters params = new PageParameters();
+        RequestUtils.decodeParameters("key=value", params, UTF_8_CHARSET);
+        assertEquals("value", params.get("key").toString());
+    }
+
+    /**
+     * 
+     */
+    @Test
+    public void decodeParam_simpleParamWithoutValueAndAnotherParam_NoQuestionMark()
+    {
+        final PageParameters params = new PageParameters();
+        RequestUtils.decodeParameters("123&key=value", params, UTF_8_CHARSET);
+        assertEquals("", params.get("123").toString());
+        assertEquals("value", params.get("key").toString());
+    }
+
+    /**
+     * 
+     */
+    @Test
+    public void decodeParam_simpleParamWithoutValue_NoQuestionMark()
+    {
+        final PageParameters params = new PageParameters();
+        RequestUtils.decodeParameters("123", params, UTF_8_CHARSET);
+        assertEquals("", params.get("123").toString());
+    }
 }


[12/15] git commit: WICKET-5167 Depend on Servlet API 3.0

Posted by mg...@apache.org.
WICKET-5167 Depend on Servlet API 3.0

Move the code from WicketStuff-Servlet3


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/c2d271be
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/c2d271be
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/c2d271be

Branch: refs/heads/master
Commit: c2d271beed55a875e41a6257be09aec4758c19d9
Parents: 5746249
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 10:59:50 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/protocol/http/WicketFilter.java  |   37 +++++++++++----
 1 files changed, 27 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/c2d271be/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
index 0ce7a2a..8b46792 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
@@ -26,6 +26,8 @@ import javax.servlet.FilterConfig;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -465,10 +467,6 @@ public class WicketFilter implements Filter
 	 */
 	protected String getFilterPathFromAnnotation(boolean isServlet)
 	{
-		// @formatter:off
-		/* TODO JAVA6,SERVLET3.0
-		 * the code below is disabled because servlet 3.0 requires java 6 and wicket still supports java 5
-		 * for now the code below will go into a wicket-stuff module
 		String[] patterns = null;
 
 		if (isServlet)
@@ -476,7 +474,14 @@ public class WicketFilter implements Filter
 			WebServlet servlet = getClass().getAnnotation(WebServlet.class);
 			if (servlet != null)
 			{
-				patterns = servlet.urlPatterns();
+				if (servlet.urlPatterns().length > 0)
+				{
+					patterns = servlet.urlPatterns();
+				}
+				else
+				{
+					patterns = servlet.value();
+				}
 			}
 		}
 		else
@@ -484,22 +489,34 @@ public class WicketFilter implements Filter
 			WebFilter filter = getClass().getAnnotation(WebFilter.class);
 			if (filter != null)
 			{
-				patterns = filter.urlPatterns();
+				if (filter.urlPatterns().length > 0)
+				{
+					patterns = filter.urlPatterns();
+				}
+				else
+				{
+					patterns = filter.value();
+				}
 			}
 		}
+
 		if (patterns != null && patterns.length > 0)
 		{
 			String pattern = patterns[0];
 			if (patterns.length > 1)
 			{
 				log.warn(
-					"Multiple url patterns defined for Wicket filter/servlet, using the first: {}",
-					pattern);
+						"Multiple url patterns defined for Wicket filter/servlet, using the first: {}",
+						pattern);
+			}
+
+			if ("/*".equals(pattern))
+			{
+				pattern = "";
 			}
+
 			return pattern;
 		}
-		*/
-		// @formatter:on
 		return null;
 	}
 


[13/15] git commit: WICKET-5168 Depend on Java 1.7 WICKET-5167 Depend on Servlet API 3.0

Posted by mg...@apache.org.
WICKET-5168 Depend on Java 1.7
WICKET-5167 Depend on Servlet API 3.0


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f7dc4fcd
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f7dc4fcd
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f7dc4fcd

Branch: refs/heads/master
Commit: f7dc4fcdecc86974e216e94be67f54e744a7df1b
Parents: 6ceed77
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 10:00:28 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 .../src/main/resources/archetype-resources/pom.xml |    6 +-
 pom.xml                                            |   21 +-
 .../protocol/http/mock/MockHttpServletRequest.java |   73 ++++---
 .../protocol/http/mock/MockServletContext.java     |  184 ++++++++++++++-
 .../http/servlet/XForwardedRequestWrapper.java     |    8 +-
 .../MetaInfStaticResourceReferenceTest.java        |   78 +------
 wicket-examples/pom.xml                            |   20 ++-
 .../guice/GuiceWebApplicationFactoryTest.java      |    2 +-
 .../spring/SpringWebApplicationFactoryTest.java    |    2 +-
 9 files changed, 255 insertions(+), 139 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml b/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
index 4086219..d65f954 100644
--- a/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
@@ -77,7 +77,7 @@
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-			<version>4.10</version>
+			<version>4.11</version>
 			<scope>test</scope>
 		</dependency>
 
@@ -129,8 +129,8 @@
 				<artifactId>maven-compiler-plugin</artifactId>
 				<version>2.5.1</version>
 				<configuration>
-					<source>1.6</source>
-					<target>1.6</target>
+					<source>1.7</source>
+					<target>1.7</target>
 					<encoding>UTF-8</encoding>
 					<showWarnings>true</showWarnings>
 					<showDeprecation>true</showDeprecation>

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 70fbc4f..ea6a425 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,9 +29,11 @@
 	<description>Wicket is a Java-based open source component web application framework.</description>
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<jetty.version>7.6.3.v20120416</jetty.version>
+		<mvn.build.java.version>1.7</mvn.build.java.version>
+		<jetty.version>8.1.10.v20130312</jetty.version>
 		<jetty9.version>9.0.2.v20130417</jetty9.version>
 		<spring.version>3.0.7.RELEASE</spring.version>
+		<servlet-api.version>3.0.1</servlet-api.version>
 		<maven.javadoc.version>2.8.1</maven.javadoc.version>
 		<maven.surefire.version>2.12.2</maven.surefire.version>
 	</properties>
@@ -366,8 +368,8 @@
 			</dependency>
 			<dependency>
 				<groupId>javax.servlet</groupId>
-				<artifactId>servlet-api</artifactId>
-				<version>2.5</version>
+				<artifactId>javax.servlet-api</artifactId>
+				<version>${servlet-api.version}</version>
 				<scope>provided</scope>
 			</dependency>
 			<dependency>
@@ -473,9 +475,9 @@
 				<scope>provided</scope>
 			</dependency>
 			<dependency>
-				<groupId>httpunit</groupId>
+				<groupId>org.httpunit</groupId>
 				<artifactId>httpunit</artifactId>
-				<version>1.6.1</version>
+				<version>1.7.2</version>
 				<scope>test</scope>
 			</dependency>
 		</dependencies>
@@ -493,7 +495,7 @@
 		</dependency>
 		<dependency>
 			<groupId>javax.servlet</groupId>
-			<artifactId>servlet-api</artifactId>
+			<artifactId>javax.servlet-api</artifactId>
 			<scope>provided</scope>
 		</dependency>
 		<dependency>
@@ -645,8 +647,11 @@
 					<artifactId>maven-compiler-plugin</artifactId>
 					<version>2.5.1</version>
 					<configuration>
-						<source>1.6</source>
-						<target>1.6</target>
+						<source>${mvn.build.java.version}</source>
+						<target>${mvn.build.java.version}</target>
+						<compilerVersion>${mvn.build.java.version}</compilerVersion>
+						<encoding>${project.build.sourceEncoding}</encoding>
+						<showWarnings>true</showWarnings>
 						<optimize>true</optimize>
 						<debug>true</debug>
 					</configuration>

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/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 82c3923..de0ce51 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
@@ -41,12 +41,19 @@ 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.ServletException;
 import javax.servlet.ServletInputStream;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import javax.servlet.http.Part;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.WicketRuntimeException;
@@ -1204,6 +1211,34 @@ public class MockHttpServletRequest implements HttpServletRequest
 		return false;
 	}
 
+	@Override
+	public boolean authenticate(HttpServletResponse response) throws IOException, ServletException
+	{
+		return false;
+	}
+
+	@Override
+	public void login(String username, String password) throws ServletException
+	{
+	}
+
+	@Override
+	public void logout() throws ServletException
+	{
+	}
+
+	@Override
+	public Collection<Part> getParts() throws IOException, ServletException
+	{
+		return null;
+	}
+
+	@Override
+	public Part getPart(String name) throws IOException, ServletException
+	{
+		return null;
+	}
+
 	/**
 	 * Check whether session id is from a url rewrite. Always returns false.
 	 * 
@@ -1826,64 +1861,40 @@ public class MockHttpServletRequest implements HttpServletRequest
 		return context;
 	}
 
-	// @formatter:off
-	/* TODO JAVA6,SERVLET3.0
-	 * servlet 3.0 stuff
-	 * 
-	
+	@Override
 	public AsyncContext startAsync() throws IllegalStateException
 	{
 		return null;
 	}
 
-	public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse)
-		throws IllegalStateException
+	@Override
+	public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException
 	{
 		return null;
 	}
 
+	@Override
 	public boolean isAsyncStarted()
 	{
 		return false;
 	}
 
+	@Override
 	public boolean isAsyncSupported()
 	{
 		return false;
 	}
 
+	@Override
 	public AsyncContext getAsyncContext()
 	{
 		return null;
 	}
 
+	@Override
 	public DispatcherType getDispatcherType()
 	{
 		return null;
 	}
 
-	public boolean authenticate(HttpServletResponse response) throws IOException, ServletException
-	{
-		return false;
-	}
-
-	public void login(String username, String password) throws ServletException
-	{
-	}
-
-	public void logout() throws ServletException
-	{
-	}
-
-	public Collection<Part> getParts() throws IOException, ServletException
-	{
-		return null;
-	}
-
-	public Part getPart(String name) throws IOException, ServletException
-	{
-		return null;
-	}
-	*/
-	// @formatter:on
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/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 c18a791..70af32e 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
@@ -25,15 +25,23 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Collections;
 import java.util.Enumeration;
+import java.util.EventListener;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
+import javax.servlet.Filter;
+import javax.servlet.FilterRegistration;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.Servlet;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
+import javax.servlet.ServletRegistration;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
+import javax.servlet.SessionCookieConfig;
+import javax.servlet.SessionTrackingMode;
+import javax.servlet.descriptor.JspConfigDescriptor;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.util.string.Strings;
@@ -217,13 +225,10 @@ public class MockServletContext implements ServletContext
 		return Collections.enumeration(initParameters.keySet());
 	}
 
-	/**
-	 * @return Always 2
-	 */
 	@Override
-	public int getMajorVersion()
+	public boolean setInitParameter(String name, String value)
 	{
-		return 2;
+		return false;
 	}
 
 	/**
@@ -248,13 +253,28 @@ public class MockServletContext implements ServletContext
 		}
 	}
 
-	/**
-	 * @return Always 5
-	 */
+	@Override
+	public int getMajorVersion()
+	{
+		return 3;
+	}
+
 	@Override
 	public int getMinorVersion()
 	{
-		return 5;
+		return 0;
+	}
+
+	@Override
+	public int getEffectiveMajorVersion()
+	{
+		return 3;
+	}
+
+	@Override
+	public int getEffectiveMinorVersion()
+	{
+		return 0;
 	}
 
 	/**
@@ -346,20 +366,25 @@ public class MockServletContext implements ServletContext
 			return null;
 		}
 
+		URL result = null;
+
 		if (name.startsWith("/"))
 		{
 			name = name.substring(1);
 		}
 
 		File f = new File(webappRoot, name);
-		if (!f.exists())
+		if (f.exists())
 		{
-			return null;
+			result = f.toURI().toURL();
 		}
-		else
+
+		if (result == null)
 		{
-			return f.toURI().toURL();
+			result = getClass().getClassLoader().getResource("META-INF/resources/" + name);
 		}
+
+		return result;
 	}
 
 	/**
@@ -507,6 +532,139 @@ public class MockServletContext implements ServletContext
 		return application.getName();
 	}
 
+	@Override
+	public ServletRegistration.Dynamic addServlet(String servletName, String className)
+	{
+		return null;
+	}
+
+	@Override
+	public ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet)
+	{
+		return null;
+	}
+
+	@Override
+	public ServletRegistration.Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass)
+	{
+		return null;
+	}
+
+	@Override
+	public <T extends Servlet> T createServlet(Class<T> clazz) throws ServletException
+	{
+		return null;
+	}
+
+	@Override
+	public ServletRegistration getServletRegistration(String servletName)
+	{
+		return null;
+	}
+
+	@Override
+	public Map<String, ? extends ServletRegistration> getServletRegistrations()
+	{
+		return null;
+	}
+
+	@Override
+	public FilterRegistration.Dynamic addFilter(String filterName, String className)
+	{
+		return null;
+	}
+
+	@Override
+	public FilterRegistration.Dynamic addFilter(String filterName, Filter filter)
+	{
+		return null;
+	}
+
+	@Override
+	public FilterRegistration.Dynamic addFilter(String filterName, Class<? extends Filter> filterClass)
+	{
+		return null;
+	}
+
+	@Override
+	public <T extends Filter> T createFilter(Class<T> clazz) throws ServletException
+	{
+		return null;
+	}
+
+	@Override
+	public FilterRegistration getFilterRegistration(String filterName)
+	{
+		return null;
+	}
+
+	@Override
+	public Map<String, ? extends FilterRegistration> getFilterRegistrations()
+	{
+		return null;
+	}
+
+	@Override
+	public SessionCookieConfig getSessionCookieConfig()
+	{
+		return null;
+	}
+
+	@Override
+	public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes)
+	{
+	}
+
+	@Override
+	public Set<SessionTrackingMode> getDefaultSessionTrackingModes()
+	{
+		return null;
+	}
+
+	@Override
+	public Set<SessionTrackingMode> getEffectiveSessionTrackingModes()
+	{
+		return null;
+	}
+
+	@Override
+	public void addListener(String className)
+	{
+	}
+
+	@Override
+	public <T extends EventListener> void addListener(T t)
+	{
+	}
+
+	@Override
+	public void addListener(Class<? extends EventListener> listenerClass)
+	{
+	}
+
+	@Override
+	public <T extends EventListener> T createListener(Class<T> clazz) throws ServletException
+	{
+		return null;
+	}
+
+	@Override
+	public JspConfigDescriptor getJspConfigDescriptor()
+	{
+		return null;
+	}
+
+	@Override
+	public ClassLoader getClassLoader()
+	{
+		return null;
+	}
+
+	@Override
+	public void declareRoles(String... roleNames)
+	{
+	}
+
 	/**
 	 * NOT USED - Servlet spec requires that this always returns null.
 	 * 

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapper.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapper.java
index ee23c1f..0ec350a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/XForwardedRequestWrapper.java
@@ -31,7 +31,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequestWrapper;
 
 /**
- * {@link href http://code.google.com/p/xebia-france/wiki/XForwardedFilter}
+ * See <a href="http://code.google.com/p/xebia-france/wiki/XForwardedFilter">XForwardedFilter</a>
  * 
  * @author Juergen Donnerstag
  */
@@ -153,7 +153,7 @@ public class XForwardedRequestWrapper extends HttpServletRequestWrapper
 	 * @see javax.servlet.http.HttpServletRequestWrapper#getHeaderNames()
 	 */
 	@Override
-	public Enumeration<?> getHeaderNames()
+	public Enumeration<String> getHeaderNames()
 	{
 		return Collections.enumeration(headers.keySet());
 	}
@@ -162,12 +162,12 @@ public class XForwardedRequestWrapper extends HttpServletRequestWrapper
 	 * @see javax.servlet.http.HttpServletRequestWrapper#getHeaders(java.lang.String)
 	 */
 	@Override
-	public Enumeration<?> getHeaders(final String name)
+	public Enumeration<String> getHeaders(final String name)
 	{
 		Map.Entry<String, List<String>> header = getHeaderEntry(name);
 		if (header == null || header.getValue() == null)
 		{
-			return Collections.enumeration(Collections.emptyList());
+			return Collections.enumeration(Collections.<String>emptyList());
 		}
 		else
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/wicket-core/src/test/java/org/apache/wicket/request/resource/MetaInfStaticResourceReferenceTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/request/resource/MetaInfStaticResourceReferenceTest.java b/wicket-core/src/test/java/org/apache/wicket/request/resource/MetaInfStaticResourceReferenceTest.java
index d60e399..5333e31 100644
--- a/wicket-core/src/test/java/org/apache/wicket/request/resource/MetaInfStaticResourceReferenceTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/request/resource/MetaInfStaticResourceReferenceTest.java
@@ -20,7 +20,6 @@ import java.lang.reflect.Field;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.apache.wicket.Application;
 import org.apache.wicket.mock.MockApplication;
 import org.apache.wicket.mock.MockWebRequest;
 import org.apache.wicket.protocol.http.mock.MockServletContext;
@@ -42,37 +41,6 @@ public class MetaInfStaticResourceReferenceTest
 	private static final String STATIC_RESOURCE_NAME = "sample.js";
 
 	/**
-	 * Test with Servlet 2.5 container
-	 */
-	@Test
-	public void testWithServlet25()
-	{
-		BaseWicketTester tester = new BaseWicketTester();
-
-		MetaInfStaticResourceReference metaRes = new MetaInfStaticResourceReference(getClass(),
-			STATIC_RESOURCE_NAME);
-		PackageResourceReference packRes = new PackageResourceReference(getClass(),
-			STATIC_RESOURCE_NAME);
-
-		Url packUrl = tester.getRequestCycle().mapUrlFor(packRes, null);
-		Url metaUrl = tester.getRequestCycle().mapUrlFor(metaRes, null);
-
-		Assert.assertNotNull(metaUrl);
-
-		// under 2.5 there should not be any difference between meta and pack resource urls
-		Assert.assertEquals(metaUrl, packUrl);
-
-		MockWebRequest request = new MockWebRequest(metaUrl);
-
-		IRequestHandler requestHandler = tester.getApplication()
-			.getRootRequestMapper()
-			.mapRequest(request);
-
-		// meta resource is served by wicket under 2.5
-		Assert.assertNotNull(requestHandler);
-	}
-
-	/**
 	 * Test with Servlet 3.0 container
 	 * 
 	 * @throws MalformedURLException
@@ -82,7 +50,7 @@ public class MetaInfStaticResourceReferenceTest
 	public void testWithServlet30() throws MalformedURLException
 	{
 		MockApplication application = new MockApplication();
-		MockServletContext servletContext = new MockServletContext30(application, null);
+		MockServletContext servletContext = new MockServletContext(application, "/");
 		BaseWicketTester tester = new BaseWicketTester(application, servletContext);
 
 		MetaInfStaticResourceReference metaRes = new MetaInfStaticResourceReference(getClass(),
@@ -100,7 +68,7 @@ public class MetaInfStaticResourceReferenceTest
 			metaUrl.equals(packUrl));
 
 		String metaUrlStr = metaUrl.toString();
-		if (!metaUrlStr.startsWith("/"))
+		if (metaUrlStr.charAt(1) != '/')
 		{
 			metaUrlStr = "/" + metaUrlStr;
 		}
@@ -148,46 +116,4 @@ public class MetaInfStaticResourceReferenceTest
 		before();
 	}
 
-	/**
-	 * Partial mock implementation for Servlet 3.0 ServletContext.
-	 */
-	private static class MockServletContext30 extends MockServletContext
-	{
-		public MockServletContext30(Application application, String path)
-		{
-			super(application, path);
-		}
-
-		@Override
-		public URL getResource(String name) throws MalformedURLException
-		{
-			URL url = super.getResource(name);
-
-			if (url != null)
-			{
-				return url;
-			}
-
-			return getClass().getClassLoader().getResource("META-INF/resources" + name);
-		}
-
-		/**
-		 * @return 3
-		 */
-		@Override
-		public int getMajorVersion()
-		{
-			return 3;
-		}
-
-		/**
-		 * @return 0
-		 */
-		@Override
-		public int getMinorVersion()
-		{
-			return 0;
-		}
-
-	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/wicket-examples/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-examples/pom.xml b/wicket-examples/pom.xml
index 5a6b4b7..82e4303 100644
--- a/wicket-examples/pom.xml
+++ b/wicket-examples/pom.xml
@@ -32,6 +32,10 @@
 	</description>
 	<dependencies>
 		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>javax.servlet-api</artifactId>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.wicket</groupId>
 			<artifactId>wicket-core</artifactId>
 		</dependency>
@@ -57,7 +61,7 @@
 			<artifactId>hibernate-validator</artifactId>
 			<version>4.3.0.Final</version>
 		</dependency>
-        <!-- / bean validation -->
+		<!-- / bean validation -->
 		<dependency>
 			<groupId>org.apache.wicket</groupId>
 			<artifactId>wicket-jmx</artifactId>
@@ -99,9 +103,15 @@
 			<groupId>com.uwyn</groupId>
 			<artifactId>jhighlight</artifactId>
 			<version>1.0</version>
+			<exclusions>
+				<exclusion>
+					<groupId>javax.servlet</groupId>
+					<artifactId>servlet-api</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
-			<groupId>httpunit</groupId>
+			<groupId>org.httpunit</groupId>
 			<artifactId>httpunit</artifactId>
 		</dependency>
 		<dependency>
@@ -130,6 +140,12 @@
 			<groupId>org.jboss.seam.conversation</groupId>
 			<artifactId>seam-conversation-weld</artifactId>
 			<version>3.0.0.Final</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.jboss.spec.javax.servlet</groupId>
+					<artifactId>jboss-servlet-api_3.0_spec</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.wicket</groupId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/wicket-guice/src/test/java/org/apache/wicket/guice/GuiceWebApplicationFactoryTest.java
----------------------------------------------------------------------
diff --git a/wicket-guice/src/test/java/org/apache/wicket/guice/GuiceWebApplicationFactoryTest.java b/wicket-guice/src/test/java/org/apache/wicket/guice/GuiceWebApplicationFactoryTest.java
index b2db825..3bfddb3 100644
--- a/wicket-guice/src/test/java/org/apache/wicket/guice/GuiceWebApplicationFactoryTest.java
+++ b/wicket-guice/src/test/java/org/apache/wicket/guice/GuiceWebApplicationFactoryTest.java
@@ -88,7 +88,7 @@ public class GuiceWebApplicationFactoryTest
 					}
 
 					@Override
-					public Enumeration<?> getInitParameterNames()
+					public Enumeration<String> getInitParameterNames()
 					{
 						return null;
 					}

http://git-wip-us.apache.org/repos/asf/wicket/blob/f7dc4fcd/wicket-spring/src/test/java/org/apache/wicket/spring/SpringWebApplicationFactoryTest.java
----------------------------------------------------------------------
diff --git a/wicket-spring/src/test/java/org/apache/wicket/spring/SpringWebApplicationFactoryTest.java b/wicket-spring/src/test/java/org/apache/wicket/spring/SpringWebApplicationFactoryTest.java
index ad1c9f5..89bf3e4 100644
--- a/wicket-spring/src/test/java/org/apache/wicket/spring/SpringWebApplicationFactoryTest.java
+++ b/wicket-spring/src/test/java/org/apache/wicket/spring/SpringWebApplicationFactoryTest.java
@@ -87,7 +87,7 @@ public class SpringWebApplicationFactoryTest extends Assert
 		}
 
 		@Override
-		public Enumeration<?> getInitParameterNames()
+		public Enumeration<String> getInitParameterNames()
 		{
 			throw new UnsupportedOperationException();
 		}


[10/15] git commit: Remove deprecated methods in JavaScriptFilteredIntoFooterHeaderResponse. Use FilteringHeaderResponse#DEFAULT_HEADER_FILTER_NAME as the new default for header filter.

Posted by mg...@apache.org.
Remove deprecated methods in JavaScriptFilteredIntoFooterHeaderResponse. Use FilteringHeaderResponse#DEFAULT_HEADER_FILTER_NAME as the new default for header filter.

These changes should not affect user applications so there is no need of migration guide entry


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/6ceed771
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/6ceed771
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/6ceed771

Branch: refs/heads/master
Commit: 6ceed7713db37435eef7bd7702dc015d96fa3e3f
Parents: 434e802
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 08:44:15 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 .../markup/head/filter/FilteredHeaderItem.java     |    2 +-
 ...JavaScriptFilteredIntoFooterHeaderResponse.java |   38 ++-------------
 .../markup/head/filter/FilteredHeaderPage.java     |    2 +-
 .../examples/resourcedecoration/HomePage.java      |    4 +-
 4 files changed, 9 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6ceed771/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
index b3402e3..e0dd507 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteredHeaderItem.java
@@ -27,7 +27,7 @@ import org.apache.wicket.request.Response;
  * {@link HeaderItem} that specifies the filter it belongs to. Dependencies of a
  * {@code FilteredHeaderItem} belong to the same filter. If used in conjunction with
  * {@link JavaScriptFilteredIntoFooterHeaderResponse}, use
- * {@link JavaScriptFilteredIntoFooterHeaderResponse#HEADER_FILTER_NAME HEADER_FILTER_NAME} to
+ * {@link FilteringHeaderResponse#DEFAULT_HEADER_FILTER_NAME DEFAULT_HEADER_FILTER_NAME} to
  * render items in the header.
  * 
  * @author papegaaij

http://git-wip-us.apache.org/repos/asf/wicket/blob/6ceed771/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
index 45c6e37..b15b33b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
@@ -17,7 +17,6 @@
 package org.apache.wicket.markup.head.filter;
 
 import java.util.Arrays;
-import java.util.Collections;
 
 import org.apache.wicket.markup.head.IHeaderResponse;
 
@@ -34,7 +33,8 @@ public final class JavaScriptFilteredIntoFooterHeaderResponse extends FilteringH
 	/**
 	 * The name of the filter that renders the head section of the page
 	 */
-	public static final String HEADER_FILTER_NAME = "headerBucket";
+	@Deprecated
+	public static final String HEADER_FILTER_NAME = DEFAULT_HEADER_FILTER_NAME;
 
 	/**
 	 * Construct.
@@ -48,15 +48,14 @@ public final class JavaScriptFilteredIntoFooterHeaderResponse extends FilteringH
 	public JavaScriptFilteredIntoFooterHeaderResponse(IHeaderResponse response,
 		String footerBucketName)
 	{
-		super(response, HEADER_FILTER_NAME, Collections.<IHeaderResponseFilter>emptyList());
+		super(response);
 		setFilters(createFilters(footerBucketName));
 	}
 
-	// TODO: make this method private in Wicket 7
-	protected Iterable<? extends IHeaderResponseFilter> createFilters(String footerBucketName)
+	private Iterable<? extends IHeaderResponseFilter> createFilters(String footerBucketName)
 	{
 		IHeaderResponseFilter footer = createFooterFilter(footerBucketName);
-		IHeaderResponseFilter header = createHeaderFilter(HEADER_FILTER_NAME, footer);
+		IHeaderResponseFilter header = createHeaderFilter(DEFAULT_HEADER_FILTER_NAME, footer);
 		return Arrays.asList(header, footer);
 	}
 
@@ -70,31 +69,4 @@ public final class JavaScriptFilteredIntoFooterHeaderResponse extends FilteringH
 		return new OppositeHeaderResponseFilter(headerFilterName, footerFilter);
 	}
 
-	/**
-	 * see WICKET-4736 JavaScriptFilteredIntoFooterHeaderResponse should reverse filter logic
-	 * 
-	 * @param footerBucketName
-	 * @param header
-	 * @return the correct header response filter, but a different one
-	 * @deprecated no longer part of the API
-	 */
-	@Deprecated
-	protected IHeaderResponseFilter createFooterFilter(String footerBucketName,
-		IHeaderResponseFilter header)
-	{
-		return new OppositeHeaderResponseFilter(footerBucketName, header);
-	}
-
-	/**
-	 * see WICKET-4736 JavaScriptFilteredIntoFooterHeaderResponse should reverse filter logic
-	 * 
-	 * @param headerFilterName
-	 * @return the wrong header response filter
-	 * @deprecated no longer part of the API
-	 */
-	@Deprecated
-	protected IHeaderResponseFilter createHeaderFilter(String headerFilterName)
-	{
-		return new CssAndPageAcceptingHeaderResponseFilter(HEADER_FILTER_NAME);
-	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/6ceed771/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteredHeaderPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteredHeaderPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteredHeaderPage.java
index e187cb5..0ac79e5 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteredHeaderPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteredHeaderPage.java
@@ -57,7 +57,7 @@ public class FilteredHeaderPage extends WebPage
 		final JavaScriptResourceReference topJsReference = new JavaScriptResourceReference(
 			FilteredHeaderPage.class, "top.js");
 		response.render(new FilteredHeaderItem(JavaScriptHeaderItem.forReference(topJsReference),
-			JavaScriptFilteredIntoFooterHeaderResponse.HEADER_FILTER_NAME));
+			FilteringHeaderResponse.DEFAULT_HEADER_FILTER_NAME));
 
 		// rendered at the bottom of the body bucket
 		JQueryPluginResourceReference bottomJs = new JQueryPluginResourceReference(

http://git-wip-us.apache.org/repos/asf/wicket/blob/6ceed771/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java
index 6c169eb..f8b19ba 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/HomePage.java
@@ -26,8 +26,8 @@ import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.head.filter.FilteredHeaderItem;
+import org.apache.wicket.markup.head.filter.FilteringHeaderResponse;
 import org.apache.wicket.markup.head.filter.HeaderResponseContainer;
-import org.apache.wicket.markup.head.filter.JavaScriptFilteredIntoFooterHeaderResponse;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.CssResourceReference;
@@ -113,7 +113,7 @@ public class HomePage extends WicketExamplePage
 			HomePage.class, "HomePage.js")));
 		response.render(new FilteredHeaderItem(
 			JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(HomePage.class,
-				"top.js")), JavaScriptFilteredIntoFooterHeaderResponse.HEADER_FILTER_NAME));
+				"top.js")), FilteringHeaderResponse.DEFAULT_HEADER_FILTER_NAME));
 	}
 
 	private static class AjaxProofContainer extends WebMarkupContainer


[02/15] git commit: Complement for WICKET-4664

Posted by mg...@apache.org.
Complement for WICKET-4664

Update on Url#getQueryString(), the result is now on par with the ones returned by HttpServletRequest :

  * does not contain the leading "?"
  * returns null when no query parameter is present


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ff4ebd89
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ff4ebd89
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ff4ebd89

Branch: refs/heads/master
Commit: ff4ebd898e1f6a88979fb5a5bb078498e391adaa
Parents: 96832b4
Author: Cedric Gatay <ce...@gatay.fr>
Authored: Wed May 1 18:31:45 2013 +0200
Committer: Cedric Gatay <ce...@gatay.fr>
Committed: Wed May 1 18:31:45 2013 +0200

----------------------------------------------------------------------
 .../http/mock/MockHttpServletRequestTest.java      |   20 ++++++++-
 .../main/java/org/apache/wicket/request/Url.java   |   31 ++++++++++----
 2 files changed, 39 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ff4ebd89/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
index f8d7dc7..46e12d3 100755
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
@@ -50,7 +50,7 @@ public class MockHttpServletRequestTest extends WicketTestCase
 		assertEquals("myhost.mydomain.org", url.getHost());
 		assertEquals(new Integer(1234), url.getPort());
 		assertEquals("/foo/bar/baz.html", url.getPath());
-		assertEquals("?a=123&b=456", url.getQueryString());
+		assertEquals("a=123&b=456", url.getQueryString());
 
 		String pathInfo = request.getPathInfo();
 		assertEquals("/foo/bar/baz.html", pathInfo);
@@ -75,7 +75,7 @@ public class MockHttpServletRequestTest extends WicketTestCase
 		assertEquals("localhost", url.getHost());
 		assertEquals(new Integer(80), url.getPort());
 		assertEquals("/foo/bar/baz.html", url.getPath());
-		assertEquals("?a=123&b=456", url.getQueryString());
+		assertEquals("a=123&b=456", url.getQueryString());
 
 		String pathInfo = request.getPathInfo();
 		assertEquals("/foo/bar/baz.html", pathInfo);
@@ -100,11 +100,25 @@ public class MockHttpServletRequestTest extends WicketTestCase
 		assertEquals("localhost", url.getHost());
 		assertEquals(new Integer(80), url.getPort());
 		assertEquals(request.getContextPath() + request.getServletPath() + "/foo/bar/baz.html", url.getPath());
-		assertEquals("?a=123&b=456", url.getQueryString());
+		assertEquals("a=123&b=456", url.getQueryString());
 
 		String pathInfo = request.getPathInfo();
 		assertEquals("/foo/bar/baz.html", pathInfo);
 	}
+
+    /**
+     * WICKET-4664 - no query string returns null as per HttpServletRequest
+     */
+    @Test
+    public void testNoQueryString_returnsNull()
+    {
+        WicketTester tester = new WicketTester();
+        MockHttpServletRequest request = tester.getRequest();
+        request.setURL("my/servlet/without/query/param");
+        
+        Url url = request.getUrl();
+        assertNull(url.getQueryString());
+    }
 	
 	@Test
 	public void getSessionFromNonMockHttpSession()

http://git-wip-us.apache.org/repos/asf/wicket/blob/ff4ebd89/wicket-request/src/main/java/org/apache/wicket/request/Url.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/Url.java b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
index 5297857..c9ddc69 100755
--- a/wicket-request/src/main/java/org/apache/wicket/request/Url.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
@@ -1125,27 +1125,40 @@ public class Url implements Serializable
 	 * 
 	 * @param charset
 	 *            character set for encoding
-	 * 
-	 * @return query string
+	 * @since Wicket 7 
+     *            the return value does not contain any "?" and could be null
+	 * @return query string (null if empty)
 	 */
 	public String getQueryString(Charset charset)
 	{
 		Args.notNull(charset, "charset");
 
-		StringBuilder query = new StringBuilder();
+		String queryString = null;
+		List<QueryParameter> queryParameters = getQueryParameters();
 
-		for (QueryParameter parameter : getQueryParameters())
+		if (queryParameters.size() != 0)
 		{
-			query.append(query.length() == 0 ? '?' : '&');
-			query.append(parameter.toString(charset));
+			StringBuilder query = new StringBuilder();
+
+			for (QueryParameter parameter : queryParameters)
+			{
+				if (query.length() != 0)
+				{
+					query.append('&');
+				}
+				query.append(parameter.toString(charset));
+			}
+			queryString = query.toString();
 		}
-		return query.toString();
+		return queryString;
 	}
 
 	/**
 	 * return query string part of url in original encoding
-	 * 
-	 * @return query string
+     * 
+     * @since Wicket 7 
+     *              the return value does not contain any "?" and could be null
+	 * @return query string (null if empty)
 	 */
 	public String getQueryString()
 	{


[07/15] git commit: WICKET-5168 Depend on Java 1.7

Posted by mg...@apache.org.
WICKET-5168 Depend on Java 1.7

Set Maven version to 7.0.0-SNAPSHOT


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/871d0d16
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/871d0d16
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/871d0d16

Branch: refs/heads/master
Commit: 871d0d1650e7ae537a9901626cf6b16006aafdec
Parents: 2a77821
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 11:30:06 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 archetypes/quickstart/pom.xml                      |    2 +-
 pom.xml                                            |   30 +++++++-------
 testing/wicket-common-tests/pom.xml                |    2 +-
 wicket-auth-roles/pom.xml                          |    2 +-
 wicket-cdi/pom.xml                                 |    2 +-
 wicket-core/pom.xml                                |    2 +-
 wicket-datetime/pom.xml                            |    2 +-
 wicket-devutils/pom.xml                            |    2 +-
 wicket-examples/pom.xml                            |    2 +-
 wicket-experimental/pom.xml                        |    2 +-
 wicket-experimental/wicket-atmosphere/pom.xml      |    2 +-
 wicket-experimental/wicket-bean-validation/pom.xml |    2 +-
 wicket-experimental/wicket-bootstrap/pom.xml       |    2 +-
 wicket-experimental/wicket-examples-parent/pom.xml |    2 +-
 .../wicket-native-websocket/pom.xml                |    2 +-
 wicket-extensions/pom.xml                          |    2 +-
 wicket-guice/pom.xml                               |    2 +-
 wicket-ioc/pom.xml                                 |    2 +-
 wicket-jmx/pom.xml                                 |    2 +-
 wicket-objectssizeof-agent/pom.xml                 |    2 +-
 wicket-request/pom.xml                             |    4 +-
 wicket-spring/pom.xml                              |    2 +-
 wicket-util/pom.xml                                |    2 +-
 wicket-velocity/pom.xml                            |    2 +-
 wicket/pom.xml                                     |    2 +-
 25 files changed, 40 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/archetypes/quickstart/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/quickstart/pom.xml b/archetypes/quickstart/pom.xml
index 06d1a49..8f30222 100644
--- a/archetypes/quickstart/pom.xml
+++ b/archetypes/quickstart/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-archetype-quickstart</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index ea6a425..3fa4f6d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
 	</parent>
 	<groupId>org.apache.wicket</groupId>
 	<artifactId>wicket-parent</artifactId>
-	<version>6.8.0-SNAPSHOT</version>
+	<version>7.0.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	<name>Wicket Parent</name>
 	<description>Wicket is a Java-based open source component web application framework.</description>
@@ -200,7 +200,7 @@
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<!-- It seems there is a bug in Maven (2.2.1 & 3.0.1) and
 				type 'pom' is not properly inherited. I.e. the
 				dependency management doesn't work -->
@@ -209,79 +209,79 @@
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-core</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-cdi</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-devutils</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-request</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-extensions</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-util</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-guice</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-ioc</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-jmx</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-spring</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-auth-roles</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-datetime</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.wicket</groupId>
 				<artifactId>wicket-velocity</artifactId>
-				<version>6.8.0-SNAPSHOT</version>
+				<version>7.0.0-SNAPSHOT</version>
 				<type>jar</type>
 			</dependency>
 			<dependency>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/testing/wicket-common-tests/pom.xml
----------------------------------------------------------------------
diff --git a/testing/wicket-common-tests/pom.xml b/testing/wicket-common-tests/pom.xml
index 3f4adc1..ba82b6c 100644
--- a/testing/wicket-common-tests/pom.xml
+++ b/testing/wicket-common-tests/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 	<groupId>org.apache.wicket</groupId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-auth-roles/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-auth-roles/pom.xml b/wicket-auth-roles/pom.xml
index f79c0b0..f034b92 100644
--- a/wicket-auth-roles/pom.xml
+++ b/wicket-auth-roles/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-auth-roles</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-cdi/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-cdi/pom.xml b/wicket-cdi/pom.xml
index d59e32a..4e8626a 100644
--- a/wicket-cdi/pom.xml
+++ b/wicket-cdi/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-cdi</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-core/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-core/pom.xml b/wicket-core/pom.xml
index daba583..b406fe7 100644
--- a/wicket-core/pom.xml
+++ b/wicket-core/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-core</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-datetime/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-datetime/pom.xml b/wicket-datetime/pom.xml
index 640fb67..54cae2e 100644
--- a/wicket-datetime/pom.xml
+++ b/wicket-datetime/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-datetime</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-devutils/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-devutils/pom.xml b/wicket-devutils/pom.xml
index 2eaff12..e142f09 100644
--- a/wicket-devutils/pom.xml
+++ b/wicket-devutils/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-devutils</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-examples/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-examples/pom.xml b/wicket-examples/pom.xml
index 82e4303..26f9941 100644
--- a/wicket-examples/pom.xml
+++ b/wicket-examples/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-examples</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-experimental/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-experimental/pom.xml b/wicket-experimental/pom.xml
index 8ba1cdd..b0bb5d7 100644
--- a/wicket-experimental/pom.xml
+++ b/wicket-experimental/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-experimental</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-experimental/wicket-atmosphere/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/pom.xml b/wicket-experimental/wicket-atmosphere/pom.xml
index 3bab8d2..d440fde 100644
--- a/wicket-experimental/wicket-atmosphere/pom.xml
+++ b/wicket-experimental/wicket-atmosphere/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-experimental</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-atmosphere</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-experimental/wicket-bean-validation/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-bean-validation/pom.xml b/wicket-experimental/wicket-bean-validation/pom.xml
index 300cc8d..ae13d9f 100644
--- a/wicket-experimental/wicket-bean-validation/pom.xml
+++ b/wicket-experimental/wicket-bean-validation/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-experimental</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 	</parent>
 	<groupId>org.apache.wicket</groupId>
 	<artifactId>wicket-bean-validation</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-experimental/wicket-bootstrap/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-bootstrap/pom.xml b/wicket-experimental/wicket-bootstrap/pom.xml
index 4a6cea3..5e9f285 100644
--- a/wicket-experimental/wicket-bootstrap/pom.xml
+++ b/wicket-experimental/wicket-bootstrap/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-experimental</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-bootstrap</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-experimental/wicket-examples-parent/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-examples-parent/pom.xml b/wicket-experimental/wicket-examples-parent/pom.xml
index 13164d1..b0a50fc 100644
--- a/wicket-experimental/wicket-examples-parent/pom.xml
+++ b/wicket-experimental/wicket-examples-parent/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-experimental</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-examples-parent</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-experimental/wicket-native-websocket/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-native-websocket/pom.xml b/wicket-experimental/wicket-native-websocket/pom.xml
index 1dc1960..e9e87cb 100644
--- a/wicket-experimental/wicket-native-websocket/pom.xml
+++ b/wicket-experimental/wicket-native-websocket/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-experimental</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-native-websocket</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-extensions/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-extensions/pom.xml b/wicket-extensions/pom.xml
index d4180eb..89b0fad 100644
--- a/wicket-extensions/pom.xml
+++ b/wicket-extensions/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-extensions</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-guice/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-guice/pom.xml b/wicket-guice/pom.xml
index 29fab31..731f5fc 100644
--- a/wicket-guice/pom.xml
+++ b/wicket-guice/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-guice</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-ioc/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-ioc/pom.xml b/wicket-ioc/pom.xml
index 50b4ab7..ad249ad 100644
--- a/wicket-ioc/pom.xml
+++ b/wicket-ioc/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-ioc</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-jmx/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-jmx/pom.xml b/wicket-jmx/pom.xml
index 88e8dec..9bc5a08 100644
--- a/wicket-jmx/pom.xml
+++ b/wicket-jmx/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-jmx</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-objectssizeof-agent/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-objectssizeof-agent/pom.xml b/wicket-objectssizeof-agent/pom.xml
index 698ba5e..dd7c3fb 100644
--- a/wicket-objectssizeof-agent/pom.xml
+++ b/wicket-objectssizeof-agent/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-objectsizeof-agent</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-request/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-request/pom.xml b/wicket-request/pom.xml
index de19e10..6d3debd 100755
--- a/wicket-request/pom.xml
+++ b/wicket-request/pom.xml
@@ -20,11 +20,11 @@
   <parent>
     <artifactId>wicket-parent</artifactId>
     <groupId>org.apache.wicket</groupId>
-    <version>6.8.0-SNAPSHOT</version>
+    <version>7.0.0-SNAPSHOT</version>
   </parent>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-request</artifactId>
-  <version>6.8.0-SNAPSHOT</version>
+  <version>7.0.0-SNAPSHOT</version>
   <name>Wicket Request</name>
   <url>http://maven.apache.org</url>
   <dependencies>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-spring/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-spring/pom.xml b/wicket-spring/pom.xml
index e1a690f..64395fd 100644
--- a/wicket-spring/pom.xml
+++ b/wicket-spring/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-spring</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-util/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-util/pom.xml b/wicket-util/pom.xml
index 6934821..aa1592a 100755
--- a/wicket-util/pom.xml
+++ b/wicket-util/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-util</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket-velocity/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-velocity/pom.xml b/wicket-velocity/pom.xml
index 203faf9..ad9caf0 100644
--- a/wicket-velocity/pom.xml
+++ b/wicket-velocity/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket-velocity</artifactId>

http://git-wip-us.apache.org/repos/asf/wicket/blob/871d0d16/wicket/pom.xml
----------------------------------------------------------------------
diff --git a/wicket/pom.xml b/wicket/pom.xml
index 60b8486..b4d7eb8 100644
--- a/wicket/pom.xml
+++ b/wicket/pom.xml
@@ -20,7 +20,7 @@
 	<parent>
 		<groupId>org.apache.wicket</groupId>
 		<artifactId>wicket-parent</artifactId>
-		<version>6.8.0-SNAPSHOT</version>
+		<version>7.0.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>wicket</artifactId>


[15/15] git commit: Merge branch 'WICKET-4664'

Posted by mg...@apache.org.
Merge branch 'WICKET-4664'


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/0ddc7913
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/0ddc7913
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/0ddc7913

Branch: refs/heads/master
Commit: 0ddc7913fba29fb7ceda2761f79736c70285739d
Parents: 9759e26 3eeba1d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 16:01:16 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 16:01:16 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/protocol/http/RequestUtils.java  |   31 +++++-
 .../wicket/protocol/http/RequestUtilsTest.java     |   74 +++++++++++++++
 .../http/mock/MockHttpServletRequestTest.java      |   20 ++++-
 .../main/java/org/apache/wicket/request/Url.java   |   41 ++++++---
 .../java/org/apache/wicket/request/UrlTest.java    |   32 +++---
 5 files changed, 162 insertions(+), 36 deletions(-)
----------------------------------------------------------------------



[14/15] git commit: Formatting

Posted by mg...@apache.org.
Formatting


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3eeba1d3
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3eeba1d3
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3eeba1d3

Branch: refs/heads/master
Commit: 3eeba1d369ac534f8af4dd39fc51a3591bf4ddba
Parents: 871d0d1
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 15:59:41 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:59:41 2013 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/request/Url.java   |   21 ++++-----
 .../java/org/apache/wicket/request/UrlTest.java    |   32 +++++++-------
 2 files changed, 25 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/3eeba1d3/wicket-request/src/main/java/org/apache/wicket/request/Url.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/Url.java b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
index 2e24b5c..33accd2 100755
--- a/wicket-request/src/main/java/org/apache/wicket/request/Url.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
@@ -712,14 +712,13 @@ public class Url implements Serializable
 
 		}
 
-
 		result.append(path);
-        
-        final String queryString = getQueryString(charset);
-        if (queryString != null)
-        {
-            result.append('?').append(queryString);
-        }
+
+		final String queryString = getQueryString(charset);
+		if (queryString != null)
+		{
+			result.append('?').append(queryString);
+		}
 		return result.toString();
 	}
 
@@ -735,7 +734,6 @@ public class Url implements Serializable
 		return toString(mode, getCharset());
 	}
 
-
 	/**
 	 * Stringizes this url using {@link StringMode#LOCAL} and the specified charset
 	 * 
@@ -1160,9 +1158,9 @@ public class Url implements Serializable
 
 	/**
 	 * return query string part of url in original encoding
-     * 
-     * @since Wicket 7 
-     *              the return value does not contain any "?" and could be null
+	 *
+	 * @since Wicket 7
+	 *              the return value does not contain any "?" and could be null
 	 * @return query string (null if empty)
 	 */
 	public String getQueryString()
@@ -1170,7 +1168,6 @@ public class Url implements Serializable
 		return getQueryString(getCharset());
 	}
 
-
 	/**
 	 * Try to reduce url by eliminating '..' and '.' from the path where appropriate (this is
 	 * somehow similar to {@link java.io.File#getCanonicalPath()}). Either by different / unexpected

http://git-wip-us.apache.org/repos/asf/wicket/blob/3eeba1d3/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java b/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
index 49df8de..1565cfe 100644
--- a/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
+++ b/wicket-request/src/test/java/org/apache/wicket/request/UrlTest.java
@@ -44,7 +44,7 @@ public class UrlTest extends Assert
 
 	private void checkQueryParams(Url url, String... params)
 	{
-		List<QueryParameter> list = new ArrayList<QueryParameter>();
+		List<QueryParameter> list = new ArrayList<>();
 		for (int i = 0; i < params.length; i += 2)
 		{
 			QueryParameter p = new QueryParameter(params[i], params[i + 1]);
@@ -912,21 +912,21 @@ public class UrlTest extends Assert
 		url.removeLeadingSegments(3);
 	}
 
-    @Test
-    public void wicket_5114_allowtoStringFullWhenContainingTwoDots()
-    {
-        Url url = Url.parse("/mountPoint/whatever.../");
-        url.setHost("wicketHost");
-        assertEquals("//wicketHost/mountPoint/whatever.../", url.toString(StringMode.FULL));
-    }
-
-    @Test(expected = IllegalStateException.class)
-    public void wicket_5114_throwExceptionWhenToStringFullContainsRelativePathSegment()
-    {
-        Url url = Url.parse("/mountPoint/../whatever/");
-        url.setHost("wicketHost");
-        url.toString(StringMode.FULL);
-    }
+	@Test
+	public void wicket_5114_allowtoStringFullWhenContainingTwoDots()
+	{
+		Url url = Url.parse("/mountPoint/whatever.../");
+		url.setHost("wicketHost");
+		assertEquals("//wicketHost/mountPoint/whatever.../", url.toString(StringMode.FULL));
+	}
+
+	@Test(expected = IllegalStateException.class)
+	public void wicket_5114_throwExceptionWhenToStringFullContainsRelativePathSegment()
+	{
+		Url url = Url.parse("/mountPoint/../whatever/");
+		url.setHost("wicketHost");
+		url.toString(StringMode.FULL);
+	}
 
 	@Test
 	public void isContextAbsolute()


[03/15] git commit: Complement for WICKET-4664

Posted by mg...@apache.org.
Complement for WICKET-4664

Url#toString() was not reflecting the new behavior for getQueryString()


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2fcb3417
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2fcb3417
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2fcb3417

Branch: refs/heads/master
Commit: 2fcb34178a13b54e9718f40b0b4fe19475fa5dad
Parents: ff4ebd8
Author: Cedric Gatay <ce...@gatay.fr>
Authored: Wed May 1 19:09:28 2013 +0200
Committer: Cedric Gatay <ce...@gatay.fr>
Committed: Wed May 1 19:09:28 2013 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/request/Url.java   |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2fcb3417/wicket-request/src/main/java/org/apache/wicket/request/Url.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/Url.java b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
index c9ddc69..2e24b5c 100755
--- a/wicket-request/src/main/java/org/apache/wicket/request/Url.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/Url.java
@@ -714,7 +714,12 @@ public class Url implements Serializable
 
 
 		result.append(path);
-		result.append(getQueryString(charset));
+        
+        final String queryString = getQueryString(charset);
+        if (queryString != null)
+        {
+            result.append('?').append(queryString);
+        }
 		return result.toString();
 	}
 


[09/15] git commit: Disable Clirr until 7.0.0 is released

Posted by mg...@apache.org.
Disable Clirr until 7.0.0 is released


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/434e802f
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/434e802f
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/434e802f

Branch: refs/heads/master
Commit: 434e802fda717c24fe84ced5c115269656fef70f
Parents: 60abd1c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 08:43:33 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 pom.xml |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/434e802f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index faefbd7..70fbc4f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -838,12 +838,13 @@
 					<artifactId>clirr-maven-plugin</artifactId>
 					<version>2.5</version>
 					<configuration>
+						<skip>true</skip> <!-- Disabled until 7.0 -->
 						<comparisonVersion>6.0.0</comparisonVersion>
 						<failOnError>true</failOnError>
 						<logResults>true</logResults>
 						<ignored>
 							<difference>
-								<!-- FeedbackCollector used to be final. Now it is non-final and so all existing methods were made final to keep them non-overridable. However, clirr does not take into account the class going from final to non-finall and thinks overridable methods were made final. We ignore this change to silence it. -->
+								<!-- FeedbackCollector used to be final. Now it is non-final and so all existing methods were made final to keep them non-overridable. However, clirr does not take into account the class going from final to non-final and thinks overridable methods were made final. We ignore this change to silence it. -->
 								<className>org${file.separator}apache${file.separator}wicket${file.separator}feedback${file.separator}FeedbackCollector</className>
 								<method>*</method>
 								<differenceType>7014</differenceType>


[05/15] git commit: WICKET-5167 Depend on Servlet API 3.0

Posted by mg...@apache.org.
WICKET-5167 Depend on Servlet API 3.0


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/0de2bdec
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/0de2bdec
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/0de2bdec

Branch: refs/heads/master
Commit: 0de2bdec93c146b60039700ae163cb16222866a8
Parents: f7dc4fc
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 10:40:30 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 .../wicket/protocol/ws/api/ServletRequestCopy.java |   79 +++++++++++++++
 1 files changed, 79 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/0de2bdec/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/ServletRequestCopy.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/ServletRequestCopy.java b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/ServletRequestCopy.java
index 02bad1a..8d07d75 100644
--- a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/ServletRequestCopy.java
+++ b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/ServletRequestCopy.java
@@ -20,17 +20,26 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.security.Principal;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashMap;
 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.ServletException;
 import javax.servlet.ServletInputStream;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import javax.servlet.http.Part;
 
 /**
  * A copy of the http servlet request used to create the WebSocket.
@@ -323,6 +332,48 @@ public class ServletRequestCopy implements HttpServletRequest
 	}
 
 	@Override
+	public ServletContext getServletContext()
+	{
+		return null;
+	}
+
+	@Override
+	public AsyncContext startAsync() throws IllegalStateException
+	{
+		return null;
+	}
+
+	@Override
+	public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException
+	{
+		return null;
+	}
+
+	@Override
+	public boolean isAsyncStarted()
+	{
+		return false;
+	}
+
+	@Override
+	public boolean isAsyncSupported()
+	{
+		return false;
+	}
+
+	@Override
+	public AsyncContext getAsyncContext()
+	{
+		return null;
+	}
+
+	@Override
+	public DispatcherType getDispatcherType()
+	{
+		return null;
+	}
+
+	@Override
 	public String getContextPath() {
 		return contextPath;
 	}
@@ -408,6 +459,34 @@ public class ServletRequestCopy implements HttpServletRequest
 	}
 
 	@Override
+	public boolean authenticate(HttpServletResponse response) throws IOException, ServletException
+	{
+		return false;
+	}
+
+	@Override
+	public void login(String username, String password) throws ServletException
+	{
+	}
+
+	@Override
+	public void logout() throws ServletException
+	{
+	}
+
+	@Override
+	public Collection<Part> getParts() throws IOException, ServletException
+	{
+		return null;
+	}
+
+	@Override
+	public Part getPart(String name) throws IOException, ServletException
+	{
+		return null;
+	}
+
+	@Override
 	public StringBuffer getRequestURL() {
 		return requestURL;
 	}


[08/15] git commit: WICKET-5166 Relax the requirements for using FilteringHeaderResponse

Posted by mg...@apache.org.
WICKET-5166 Relax the requirements for using FilteringHeaderResponse


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/60abd1c4
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/60abd1c4
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/60abd1c4

Branch: refs/heads/master
Commit: 60abd1c44416838245a7f6e174059913502e5e60
Parents: 612c503
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Apr 30 21:23:11 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 .../head/filter/FilteringHeaderResponse.java       |   45 ++++++++++++--
 ...JavaScriptFilteredIntoFooterHeaderResponse.java |    5 +-
 2 files changed, 41 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/60abd1c4/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
index 546eb5e..f19226b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
@@ -17,6 +17,7 @@
 package org.apache.wicket.markup.head.filter;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -52,6 +53,12 @@ public class FilteringHeaderResponse extends DecoratingHeaderResponse
 	private static final Logger log = LoggerFactory.getLogger(FilteringHeaderResponse.class);
 
 	/**
+	 * The default name of the filter that will collect contributions which should be rendered
+	 * in the page's &lt;head&gt;
+	 */
+	public static final String DEFAULT_HEADER_FILTER_NAME = "wicket-default-header-filter";
+
+	/**
 	 * A filter used to bucket your resources, inline scripts, etc, into different responses. The
 	 * bucketed resources are then rendered by a {@link HeaderResponseContainer}, using the name of
 	 * the filter to get the correct bucket.
@@ -90,6 +97,21 @@ public class FilteringHeaderResponse extends DecoratingHeaderResponse
 	private final String headerFilterName;
 
 	/**
+	 * Constructor without explicit filters.
+	 *
+	 * Generates filters automatically for any FilteredHeaderItem.
+	 * Any other contribution is rendered in the page's &lt;head&gt;
+	 *
+	 * @param response
+	 *            the wrapped IHeaderResponse
+	 * @see HeaderResponseContainer
+	 */
+	public FilteringHeaderResponse(IHeaderResponse response)
+	{
+		this(response, DEFAULT_HEADER_FILTER_NAME, Collections.<IHeaderResponseFilter>emptyList());
+	}
+
+	/**
 	 * Construct.
 	 * 
 	 * @param response
@@ -162,17 +184,26 @@ public class FilteringHeaderResponse extends DecoratingHeaderResponse
 		}
 		else
 		{
-			for (IHeaderResponseFilter filter : filters)
+			if (filters != null)
 			{
-				if (filter.accepts(item))
+				for (IHeaderResponseFilter filter : filters)
 				{
-					render(item, filter.getName());
-					return;
+					if (filter.accepts(item))
+					{
+						render(item, filter.getName());
+						return;
+					}
 				}
 			}
-			log.warn(
-				"A HeaderItem '{}' was rendered to the filtering header response, but did not match any filters, so it was effectively lost.  Make sure that you have filters that accept every possible case or else configure a default filter that returns true to all acceptance tests",
-				item);
+
+			// none of the configured filters accepted it so put it in the header
+			if (responseFilterMap.containsKey(headerFilterName) == false)
+			{
+				responseFilterMap.put(headerFilterName, new ArrayList<HeaderItem>());
+			}
+			render(item, headerFilterName);
+			log.debug("A HeaderItem '{}' was rendered to the filtering header response, but did not match any filters, so it put in the <head>.",
+					item);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/60abd1c4/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
index f7b8e37..45c6e37 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptFilteredIntoFooterHeaderResponse.java
@@ -17,6 +17,7 @@
 package org.apache.wicket.markup.head.filter;
 
 import java.util.Arrays;
+import java.util.Collections;
 
 import org.apache.wicket.markup.head.IHeaderResponse;
 
@@ -47,13 +48,13 @@ public final class JavaScriptFilteredIntoFooterHeaderResponse extends FilteringH
 	public JavaScriptFilteredIntoFooterHeaderResponse(IHeaderResponse response,
 		String footerBucketName)
 	{
-		super(response, HEADER_FILTER_NAME, null);
+		super(response, HEADER_FILTER_NAME, Collections.<IHeaderResponseFilter>emptyList());
 		setFilters(createFilters(footerBucketName));
 	}
 
+	// TODO: make this method private in Wicket 7
 	protected Iterable<? extends IHeaderResponseFilter> createFilters(String footerBucketName)
 	{
-		// TODO: make private method in wicket 7.x
 		IHeaderResponseFilter footer = createFooterFilter(footerBucketName);
 		IHeaderResponseFilter header = createHeaderFilter(HEADER_FILTER_NAME, footer);
 		return Arrays.asList(header, footer);


[11/15] git commit: WICKET-4664 Formatting

Posted by mg...@apache.org.
WICKET-4664 Formatting


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2a77821a
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2a77821a
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2a77821a

Branch: refs/heads/master
Commit: 2a77821ae08cb5880060e885ffaf1934891d79a0
Parents: c2d271b
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 11:29:28 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/protocol/http/RequestUtils.java  |    2 +-
 .../wicket/protocol/http/RequestUtilsTest.java     |  116 +++++++-------
 2 files changed, 59 insertions(+), 59 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2a77821a/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
index 023c7d3..9c16040 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
@@ -94,7 +94,7 @@ public final class RequestUtils
 	public static String removeDoubleDots(String path)
 	{
 		String[] segments = Strings.split(path, '/');
-		List<String> newcomponents = new ArrayList<String>(Arrays.asList(segments));
+		List<String> newcomponents = new ArrayList<>(Arrays.asList(segments));
 
 		for (int i = 0; i < newcomponents.size(); i++)
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/2a77821a/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
index c800e87..bfcfa14 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/RequestUtilsTest.java
@@ -29,9 +29,9 @@ import org.junit.Test;
 public class RequestUtilsTest extends Assert
 {
 
-    public static final Charset UTF_8_CHARSET = Charset.forName("UTF-8");
+	public static final Charset UTF_8_CHARSET = Charset.forName("UTF-8");
 
-    /**
+	/**
 	 * 
 	 */
 	@Test
@@ -104,71 +104,71 @@ public class RequestUtilsTest extends Assert
 
 	}
 
-    /**
-     * WICKET-4664 - remove leading ? if present
-     */
-    @Test
+	/**
+	 * WICKET-4664 - remove leading ? if present
+	 */
+	@Test
 	public void removeLeadingQuestionMark_simpleParam()
 	{
-        final PageParameters params = new PageParameters();
+		final PageParameters params = new PageParameters();
 		RequestUtils.decodeParameters("?key=value", params, UTF_8_CHARSET);
-        assertEquals("value", params.get("key").toString());
+		assertEquals("value", params.get("key").toString());
 	}
 
-    /**
-     * WICKET-4664 - remove leading ? if present
-     */
-    @Test
+	/**
+	 * WICKET-4664 - remove leading ? if present
+	 */
+	@Test
 	public void removeLeadingQuestionMark_simpleParamWithoutValueAndAnotherParam()
 	{
 		final PageParameters params = new PageParameters();
 		RequestUtils.decodeParameters("?123&key=value", params, UTF_8_CHARSET);
-        assertEquals("", params.get("123").toString());
-        assertEquals("value", params.get("key").toString());
+		assertEquals("", params.get("123").toString());
+		assertEquals("value", params.get("key").toString());
+	}
+
+	/**
+	 * WICKET-4664 - remove leading ? if present
+	 */
+	@Test
+	public void removeLeadingQuestionMark_simpleParamWithoutValue()
+	{
+		final PageParameters params = new PageParameters();
+		RequestUtils.decodeParameters("?123", params, UTF_8_CHARSET);
+		assertEquals("", params.get("123").toString());
 	}
 
-    /**
-     * WICKET-4664 - remove leading ? if present
-     */
-    @Test
-    public void removeLeadingQuestionMark_simpleParamWithoutValue()
-    {
-        final PageParameters params = new PageParameters();
-        RequestUtils.decodeParameters("?123", params, UTF_8_CHARSET);
-        assertEquals("", params.get("123").toString());
-    }
-
-    /**
-     * 
-     */
-    @Test
-    public void decodeParam_simpleParam_noQuestionMark()
-    {
-        final PageParameters params = new PageParameters();
-        RequestUtils.decodeParameters("key=value", params, UTF_8_CHARSET);
-        assertEquals("value", params.get("key").toString());
-    }
-
-    /**
-     * 
-     */
-    @Test
-    public void decodeParam_simpleParamWithoutValueAndAnotherParam_NoQuestionMark()
-    {
-        final PageParameters params = new PageParameters();
-        RequestUtils.decodeParameters("123&key=value", params, UTF_8_CHARSET);
-        assertEquals("", params.get("123").toString());
-        assertEquals("value", params.get("key").toString());
-    }
-
-    /**
-     * 
-     */
-    @Test
-    public void decodeParam_simpleParamWithoutValue_NoQuestionMark()
-    {
-        final PageParameters params = new PageParameters();
-        RequestUtils.decodeParameters("123", params, UTF_8_CHARSET);
-        assertEquals("", params.get("123").toString());
-    }
+	/**
+	 *
+	 */
+	@Test
+	public void decodeParam_simpleParam_noQuestionMark()
+	{
+		final PageParameters params = new PageParameters();
+		RequestUtils.decodeParameters("key=value", params, UTF_8_CHARSET);
+		assertEquals("value", params.get("key").toString());
+	}
+
+	/**
+	 *
+	 */
+	@Test
+	public void decodeParam_simpleParamWithoutValueAndAnotherParam_NoQuestionMark()
+	{
+		final PageParameters params = new PageParameters();
+		RequestUtils.decodeParameters("123&key=value", params, UTF_8_CHARSET);
+		assertEquals("", params.get("123").toString());
+		assertEquals("value", params.get("key").toString());
+	}
+
+	/**
+	 *
+	 */
+	@Test
+	public void decodeParam_simpleParamWithoutValue_NoQuestionMark()
+	{
+		final PageParameters params = new PageParameters();
+		RequestUtils.decodeParameters("123", params, UTF_8_CHARSET);
+		assertEquals("", params.get("123").toString());
+	}
 }


[06/15] git commit: WICKET-5152 Improve Wicket behavior in Servlet 3 async context

Posted by mg...@apache.org.
WICKET-5152 Improve Wicket behavior in Servlet 3 async context


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5746249b
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5746249b
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5746249b

Branch: refs/heads/master
Commit: 5746249be5d81897d604470831bfe76b385817ac
Parents: 0de2bde
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed May 1 10:40:53 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:46 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/protocol/http/WicketFilter.java  |    8 ++++----
 .../protocol/http/servlet/ServletWebResponse.java  |    7 ++++++-
 2 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/5746249b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
index f40a0c9..0ce7a2a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
@@ -146,6 +146,9 @@ public class WicketFilter implements Filter
 		final ClassLoader previousClassLoader = Thread.currentThread().getContextClassLoader();
 		final ClassLoader newClassLoader = getClassLoader();
 
+		HttpServletRequest httpServletRequest = (HttpServletRequest)request;
+		HttpServletResponse httpServletResponse = (HttpServletResponse)response;
+
 		try
 		{
 			if (previousClassLoader != newClassLoader)
@@ -153,9 +156,6 @@ public class WicketFilter implements Filter
 				Thread.currentThread().setContextClassLoader(newClassLoader);
 			}
 
-			HttpServletRequest httpServletRequest = (HttpServletRequest)request;
-			HttpServletResponse httpServletResponse = (HttpServletResponse)response;
-
 			// Make sure getFilterPath() gets called before checkIfRedirectRequired()
 			String filterPath = getFilterPath(httpServletRequest);
 
@@ -229,7 +229,7 @@ public class WicketFilter implements Filter
 				Thread.currentThread().setContextClassLoader(previousClassLoader);
 			}
 
-			if (response.isCommitted())
+			if (response.isCommitted() && httpServletRequest.isAsyncStarted() == false)
 			{
 				response.flushBuffer();
 			}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5746249b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
index c5fd540..61bb9ef 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebResponse.java
@@ -19,6 +19,7 @@ package org.apache.wicket.protocol.http.servlet;
 import java.io.IOException;
 
 import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.wicket.WicketRuntimeException;
@@ -285,7 +286,11 @@ public class ServletWebResponse extends WebResponse
 	{
 		try
 		{
-			httpServletResponse.flushBuffer();
+			HttpServletRequest httpServletRequest = webRequest.getContainerRequest();
+			if (httpServletRequest.isAsyncStarted() == false)
+			{
+				httpServletResponse.flushBuffer();
+			}
 		}
 		catch (IOException e)
 		{


[04/15] git commit: WICKET-5103 use the same sessionId for #storePage() as used in SessionEntry#getPage()

Posted by mg...@apache.org.
WICKET-5103 use the same sessionId for #storePage() as used in
SessionEntry#getPage()

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/612c5035
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/612c5035
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/612c5035

Branch: refs/heads/master
Commit: 612c503551e94e3586d5dc7791bff4963e454340
Parents: 2fcb341
Author: svenmeier <sv...@apache.org>
Authored: Tue Apr 30 14:10:20 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 15:56:45 2013 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/page/PageStoreManager.java   |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/612c5035/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java b/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
index 03266c6..cce5fed 100644
--- a/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
+++ b/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
@@ -380,7 +380,8 @@ public class PageStoreManager extends AbstractPageManager
 				entry.setSessionCache(touchedPages);
 				for (IManageablePage page : touchedPages)
 				{
-					pageStore.storePage(getSessionId(), page);
+					// WICKET-5103 use the same sessionId as used in SessionEntry#getPage()
+					pageStore.storePage(entry.sessionId, page);
 				}
 			}
 		}