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/03 10:58:20 UTC

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

Updated Branches:
  refs/heads/wicket-4774 665a3e800 -> 3eb54bc55


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/wicket-4774
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());
+    }
 }


[21/27] git commit: WICKET-5174 Validators' #decorate() methods should work with IValidationError

Posted by mg...@apache.org.
WICKET-5174 Validators' #decorate() methods should work with IValidationError


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

Branch: refs/heads/wicket-4774
Commit: a76a478911fc213d9ec979f0e719bd80a936a420
Parents: 2ddf76f
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 21:09:52 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 21:09:52 2013 +0200

----------------------------------------------------------------------
 .../validator/AbstractRangeValidator.java          |    3 +-
 .../validation/validator/CreditCardValidator.java  |    3 +-
 .../wicket/validation/validator/DateValidator.java |   31 ++++++++------
 .../validation/validator/PatternValidator.java     |    2 +-
 .../validation/validator/RangeValidator.java       |   22 +++++++----
 .../validation/validator/StringValidator.java      |   12 ++++-
 .../wicket/validation/validator/UrlValidator.java  |    3 +-
 .../RfcCompliantEmailAddressValidator.java         |    3 +-
 8 files changed, 50 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-core/src/main/java/org/apache/wicket/validation/validator/AbstractRangeValidator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/AbstractRangeValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/AbstractRangeValidator.java
index f6ba851..73b0819 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/AbstractRangeValidator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/AbstractRangeValidator.java
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.validation.IValidatable;
+import org.apache.wicket.validation.IValidationError;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
 
@@ -162,7 +163,7 @@ public abstract class AbstractRangeValidator<R extends Comparable<R> & Serializa
 	 * @param validatable
 	 * @return decorated error
 	 */
-	protected ValidationError decorate(ValidationError error, IValidatable<V> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<V> validatable)
 	{
 		return error;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java
index 97e66f2..28225c2 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/CreditCardValidator.java
@@ -17,6 +17,7 @@
 package org.apache.wicket.validation.validator;
 
 import org.apache.wicket.validation.IValidatable;
+import org.apache.wicket.validation.IValidationError;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
 
@@ -146,7 +147,7 @@ public class CreditCardValidator implements IValidator<String>
 	 * @param validatable
 	 * @return decorated error
 	 */
-	protected ValidationError decorate(ValidationError error, IValidatable<String> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<String> validatable)
 	{
 		return error;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-core/src/main/java/org/apache/wicket/validation/validator/DateValidator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/DateValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/DateValidator.java
index ddeb1cc..b215114 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/DateValidator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/DateValidator.java
@@ -20,6 +20,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 
 import org.apache.wicket.validation.IValidatable;
+import org.apache.wicket.validation.IValidationError;
 import org.apache.wicket.validation.ValidationError;
 
 /**
@@ -173,25 +174,29 @@ public class DateValidator extends RangeValidator<Date>
 	}
 
 	@Override
-	protected ValidationError decorate(ValidationError error, IValidatable<Date> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<Date> validatable)
 	{
 		error = super.decorate(error, validatable);
 
-		error.setVariable("inputdate", validatable.getValue());
-
-		// format variables if format has been specified
-		if (format != null)
+		if (error instanceof ValidationError)
 		{
-			SimpleDateFormat sdf = new SimpleDateFormat(format);
-			if (getMinimum() != null)
-			{
-				error.setVariable("minimum", sdf.format(getMinimum()));
-			}
-			if (getMaximum() != null)
+			ValidationError ve = (ValidationError) error;
+			ve.setVariable("inputdate", validatable.getValue());
+
+			// format variables if format has been specified
+			if (format != null)
 			{
-				error.setVariable("maximum", sdf.format(getMaximum()));
+				SimpleDateFormat sdf = new SimpleDateFormat(format);
+				if (getMinimum() != null)
+				{
+					ve.setVariable("minimum", sdf.format(getMinimum()));
+				}
+				if (getMaximum() != null)
+				{
+					ve.setVariable("maximum", sdf.format(getMaximum()));
+				}
+				ve.setVariable("inputdate", sdf.format(validatable.getValue()));
 			}
-			error.setVariable("inputdate", sdf.format(validatable.getValue()));
 		}
 
 		return error;

http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-core/src/main/java/org/apache/wicket/validation/validator/PatternValidator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/PatternValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/PatternValidator.java
index c093317..aac7888 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/PatternValidator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/PatternValidator.java
@@ -162,7 +162,7 @@ public class PatternValidator implements IValidator<String>
 	 * @param validatable
 	 * @return decorated error
 	 */
-	protected ValidationError decorate(ValidationError error, IValidatable<String> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<String> validatable)
 	{
 		return error;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java
index fcf4c64..5ef9547 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java
@@ -19,6 +19,7 @@ package org.apache.wicket.validation.validator;
 import java.io.Serializable;
 
 import org.apache.wicket.validation.IValidatable;
+import org.apache.wicket.validation.IValidationError;
 import org.apache.wicket.validation.ValidationError;
 
 /**
@@ -115,18 +116,23 @@ public class RangeValidator<Z extends Comparable<Z> & Serializable> extends
 	}
 
 	@Override
-	protected ValidationError decorate(ValidationError error, IValidatable<Z> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<Z> validatable)
 	{
 		// TODO wicket 7: remove deprecated keys
 		error = super.decorate(error, validatable);
-		switch (getMode())
+
+		if (error instanceof ValidationError)
 		{
-			case MINIMUM :
-				error.addKey("MinimumValidator");
-				break;
-			case MAXIMUM :
-				error.addKey("MaximumValidator");
-				break;
+			ValidationError ve = (ValidationError) error;
+			switch (getMode())
+			{
+				case MINIMUM :
+					ve.addKey("MinimumValidator");
+					break;
+				case MAXIMUM :
+					ve.addKey("MaximumValidator");
+					break;
+			}
 		}
 		return error;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-core/src/main/java/org/apache/wicket/validation/validator/StringValidator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/StringValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/StringValidator.java
index 57bae1b..273b112 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/StringValidator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/StringValidator.java
@@ -16,9 +16,12 @@
  */
 package org.apache.wicket.validation.validator;
 
+import java.util.Locale;
+
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.validation.IValidatable;
+import org.apache.wicket.validation.IValidationError;
 import org.apache.wicket.validation.ValidationError;
 
 /**
@@ -88,10 +91,13 @@ public class StringValidator extends AbstractRangeValidator<Integer, String>
 	}
 
 	@Override
-	protected ValidationError decorate(ValidationError error, IValidatable<String> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<String> validatable)
 	{
 		error = super.decorate(error, validatable);
-		error.setVariable("length", validatable.getValue().length());
+		if (error instanceof ValidationError)
+		{
+			((ValidationError)error).setVariable("length", validatable.getValue().length());
+		}
 		return error;
 	}
 
@@ -99,7 +105,7 @@ public class StringValidator extends AbstractRangeValidator<Integer, String>
 	public void onComponentTag(Component component, ComponentTag tag)
 	{
 		super.onComponentTag(component, tag);
-		if (getMaximum() != null && "input".equalsIgnoreCase(tag.getName()))
+		if (getMaximum() != null && "input".equalsIgnoreCase(tag.getName().toLowerCase(Locale.ENGLISH)))
 		{
 			tag.put("maxlength", getMaximum());
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-core/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java b/wicket-core/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java
index b7eee15..37b8ebc 100644
--- a/wicket-core/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java
@@ -23,6 +23,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.apache.wicket.validation.IValidatable;
+import org.apache.wicket.validation.IValidationError;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
 
@@ -236,7 +237,7 @@ public class UrlValidator implements IValidator<String>
 	 * @param error
 	 * @return decorated error
 	 */
-	protected ValidationError decorate(ValidationError error, IValidatable<String> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<String> validatable)
 	{
 		return error;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a76a4789/wicket-extensions/src/main/java/org/apache/wicket/extensions/validation/validator/RfcCompliantEmailAddressValidator.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/validation/validator/RfcCompliantEmailAddressValidator.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/validation/validator/RfcCompliantEmailAddressValidator.java
index b2536a6..c9cca1e 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/validation/validator/RfcCompliantEmailAddressValidator.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/validation/validator/RfcCompliantEmailAddressValidator.java
@@ -19,6 +19,7 @@ package org.apache.wicket.extensions.validation.validator;
 import java.util.regex.Pattern;
 
 import org.apache.wicket.validation.IValidatable;
+import org.apache.wicket.validation.IValidationError;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
 import org.apache.wicket.validation.validator.EmailAddressValidator;
@@ -161,7 +162,7 @@ public class RfcCompliantEmailAddressValidator implements IValidator<String>
 	 * @param validatable
 	 * @return decorated error
 	 */
-	protected ValidationError decorate(ValidationError error, IValidatable<String> validatable)
+	protected IValidationError decorate(IValidationError error, IValidatable<String> validatable)
 	{
 		return error;
 	}


[06/27] 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/wicket-4774
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());
+	}
 }


[26/27] git commit: WICKET-4858 Introduce AbstractDateConverter that holds the common code for util.Date, sql.Date, sql.Time and sql.Timestamp

Posted by mg...@apache.org.
WICKET-4858 Introduce AbstractDateConverter that holds the common code for util.Date, sql.Date, sql.Time and sql.Timestamp


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

Branch: refs/heads/wicket-4774
Commit: abdcf847326aa04a34883df2f7a1024a64378e81
Parents: bc2fa6a
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri May 3 10:21:27 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri May 3 10:21:27 2013 +0200

----------------------------------------------------------------------
 .../convert/converter/AbstractDateConverter.java   |   68 ++++++++++++
 .../util/convert/converter/DateConverter.java      |   52 +---------
 .../util/convert/converter/SqlDateConverter.java   |   81 +--------------
 .../util/convert/converter/SqlTimeConverter.java   |   44 ++-------
 .../convert/converter/SqlTimestampConverter.java   |   61 ++---------
 5 files changed, 90 insertions(+), 216 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/abdcf847/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDateConverter.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDateConverter.java b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDateConverter.java
new file mode 100644
index 0000000..ee049a9
--- /dev/null
+++ b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDateConverter.java
@@ -0,0 +1,68 @@
+package org.apache.wicket.util.convert.converter;
+
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import org.apache.wicket.util.string.Strings;
+
+/**
+ * A base class for all Date related converters
+ *
+ * @param <D>
+ *     the type of the Date that is supported by this converter
+ */
+public abstract class AbstractDateConverter<D extends Date> extends AbstractConverter<D>
+{
+	/**
+	 * Creates a new instance of D out of the passed date(time) as long
+	 * @param date
+	 *      the date(time) in millis since Epoch
+	 * @return a new instance of the specific type D
+	 */
+	protected abstract D createDateLike(long date);
+
+	@Override
+	public D convertToObject(final String value, Locale locale)
+	{
+		if (Strings.isEmpty(value))
+		{
+			return null;
+		}
+
+		DateFormat format = getDateFormat(locale);
+		Date date = parse(format, value, locale);
+		return createDateLike(date.getTime());
+	}
+
+	@Override
+	public String convertToString(final D value, final Locale locale)
+	{
+		if (value == null)
+		{
+			return null;
+		}
+
+		final DateFormat dateFormat = getDateFormat(locale);
+		if (dateFormat != null)
+		{
+			return dateFormat.format(value);
+		}
+		return value.toString();
+	}
+
+	/**
+	 * @param locale
+	 * @return Returns the date format.
+	 */
+	public DateFormat getDateFormat(Locale locale)
+	{
+		if (locale == null)
+		{
+			locale = Locale.getDefault();
+		}
+
+		// return a clone because DateFormat.getDateInstance uses a pool
+		return (DateFormat) DateFormat.getDateInstance(DateFormat.SHORT, locale).clone();
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/abdcf847/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
index c2f16a1..30254cc 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
@@ -16,69 +16,23 @@
  */
 package org.apache.wicket.util.convert.converter;
 
-import java.text.DateFormat;
 import java.util.Date;
-import java.util.Locale;
-
-import org.apache.wicket.util.string.Strings;
 
 /**
  * Converts from Object to Date.
  * 
  * @author Eelco Hillenius
  */
-public class DateConverter extends AbstractConverter<Date>
+public class DateConverter extends AbstractDateConverter<Date>
 {
 	private static final long serialVersionUID = 1L;
 
-	/**
-	 * @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
-	 */
-	@Override
-	public Date convertToObject(final String value, final Locale locale)
-	{
-		if ((value == null) || Strings.isEmpty(value))
-		{
-			return null;
-		}
-		else
-		{
-			return parse(getDateFormat(locale), value, locale);
-		}
-	}
-
-	/**
-	 * @see org.apache.wicket.util.convert.IConverter#convertToString(Object, java.util.Locale)
-	 */
 	@Override
-	public String convertToString(final Date value, final Locale locale)
+	protected Date createDateLike(long date)
 	{
-		final DateFormat dateFormat = getDateFormat(locale);
-		if (dateFormat != null)
-		{
-			return dateFormat.format(value);
-		}
-		return value.toString();
-	}
-
-
-	/**
-	 * @param locale
-	 * @return Returns the date format.
-	 */
-	public DateFormat getDateFormat(Locale locale)
-	{
-		if (locale == null)
-		{
-			locale = Locale.getDefault();
-		}
-
-		return DateFormat.getDateInstance(DateFormat.SHORT, locale);
+		return new Date(date);
 	}
 
-	/**
-	 * @see org.apache.wicket.util.convert.converter.AbstractConverter#getTargetType()
-	 */
 	@Override
 	protected Class<Date> getTargetType()
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/abdcf847/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
index c86c508..7e3816b 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
@@ -17,65 +17,18 @@
 package org.apache.wicket.util.convert.converter;
 
 import java.sql.Date;
-import java.text.DateFormat;
-import java.text.Format;
-import java.text.ParsePosition;
-import java.util.Locale;
-
-import org.apache.wicket.util.string.Strings;
 
 /**
  * Converts to {@link java.sql.Date}.
  */
-public class SqlDateConverter extends AbstractConverter<Date>
+public class SqlDateConverter extends AbstractDateConverter<Date>
 {
 	private static final long serialVersionUID = 1L;
 
-	/**
-	 * @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
-	 */
 	@Override
-	public Date convertToObject(final String value, final Locale locale)
-	{
-		if ((value == null) || Strings.isEmpty(value))
-		{
-			return null;
-		}
-		else
-		{
-			java.util.Date date = parseDate(getDateFormat(locale), value, locale);
-			return new Date(date.getTime());
-		}
-	}
-
-	/**
-	 * @see org.apache.wicket.util.convert.converter.DateConverter#convertToObject(java.lang.String,
-	 *      java.util.Locale)
-	 */
-	@Override
-	public String convertToString(final Date value, final Locale locale)
-	{
-		final DateFormat dateFormat = getDateFormat(locale);
-		if (dateFormat != null)
-		{
-			return dateFormat.format(value);
-		}
-		return value.toString();
-	}
-
-
-	/**
-	 * @param locale
-	 * @return Returns the date format.
-	 */
-	public DateFormat getDateFormat(Locale locale)
+	protected Date createDateLike(long date)
 	{
-		if (locale == null)
-		{
-			locale = Locale.getDefault();
-		}
-
-		return DateFormat.getDateInstance(DateFormat.SHORT, locale);
+		return new Date(date);
 	}
 
 	@Override
@@ -83,32 +36,4 @@ public class SqlDateConverter extends AbstractConverter<Date>
 	{
 		return Date.class;
 	}
-
-	/**
-	 * Parses a value using one of the java.util.text format classes.
-	 *
-	 * @param format
-	 *            The format to use
-	 * @param value
-	 *            The object to parse
-	 * @param locale
-	 *            The locale to use to parse.
-	 * @return The object
-	 * @throws org.apache.wicket.util.convert.ConversionException
-	 *             Thrown if parsing fails
-	 */
-	@SuppressWarnings("unchecked")
-	private java.util.Date parseDate(final Format format, final Object value, final Locale locale)
-	{
-		final ParsePosition position = new ParsePosition(0);
-		final String stringValue = value.toString();
-		final java.util.Date result = (java.util.Date)format.parseObject(stringValue, position);
-
-		if (position.getIndex() != stringValue.length())
-		{
-			throw newConversionException("Cannot parse '" + value + "' using format " + format,
-					value, locale).setFormat(format);
-		}
-		return result;
-	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/abdcf847/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
index 43433f3..2f3d069 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
@@ -18,61 +18,31 @@ package org.apache.wicket.util.convert.converter;
 
 import java.sql.Time;
 import java.text.DateFormat;
-import java.text.ParseException;
-import java.util.Date;
 import java.util.Locale;
 
-import org.apache.wicket.util.convert.ConversionException;
-
 /**
  * Converts to {@link Time}.
  */
-public class SqlTimeConverter extends AbstractConverter<Time>
+public class SqlTimeConverter extends AbstractDateConverter<Time>
 {
-
 	private static final long serialVersionUID = 1L;
 
-	/** @see org.apache.wicket.util.convert.converter.DateConverter#convertToObject(java.lang.String,java.util.Locale) */
 	@Override
-	public Time convertToObject(final String value, Locale locale)
+	protected Time createDateLike(long date)
 	{
-		if (value == null)
-		{
-			return null;
-		}
-		if (locale == null)
-		{
-			locale = Locale.getDefault();
-		}
-		DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
-		try
-		{
-			Date date = format.parse(value);
-			return new Time(date.getTime());
-		}
-		catch (ParseException e)
-		{
-			throw new ConversionException("Cannot parse '" + value + "' using format " + format).setSourceValue(
-				value)
-				.setTargetType(getTargetType())
-				.setConverter(this)
-				.setLocale(locale);
-		}
+		return new Time(date);
 	}
 
 	@Override
-	public String convertToString(final Time time, Locale locale)
+	public DateFormat getDateFormat(Locale locale)
 	{
-		if (time == null)
-		{
-			return null;
-		}
 		if (locale == null)
 		{
 			locale = Locale.getDefault();
 		}
-		DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
-		return format.format(time);
+
+		// return a clone because DateFormat.getDateInstance uses a pool
+		return (DateFormat) DateFormat.getTimeInstance(DateFormat.SHORT, locale).clone();
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/wicket/blob/abdcf847/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
index 432c1ac..2dd7d4b 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
@@ -18,8 +18,6 @@ package org.apache.wicket.util.convert.converter;
 
 import java.sql.Timestamp;
 import java.text.DateFormat;
-import java.text.ParseException;
-import java.util.Date;
 import java.util.Locale;
 
 /**
@@ -27,7 +25,7 @@ import java.util.Locale;
  * 
  * @author eelcohillenius
  */
-public class SqlTimestampConverter extends AbstractConverter<Timestamp>
+public class SqlTimestampConverter extends AbstractDateConverter<Timestamp>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -39,8 +37,7 @@ public class SqlTimestampConverter extends AbstractConverter<Timestamp>
 	 */
 	public SqlTimestampConverter()
 	{
-		dateFormat = DateFormat.SHORT;
-		timeFormat = DateFormat.SHORT;
+		this(DateFormat.SHORT, DateFormat.SHORT);
 	}
 
 	/**
@@ -51,8 +48,7 @@ public class SqlTimestampConverter extends AbstractConverter<Timestamp>
 	 */
 	public SqlTimestampConverter(final int dateFormat)
 	{
-		this.dateFormat = dateFormat;
-		timeFormat = DateFormat.SHORT;
+		this(dateFormat, DateFormat.SHORT);
 	}
 
 	/**
@@ -69,67 +65,28 @@ public class SqlTimestampConverter extends AbstractConverter<Timestamp>
 		this.timeFormat = timeFormat;
 	}
 
-
-	/**
-	 * 
-	 * @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
-	 *      java.util.Locale)
-	 */
 	@Override
-	public Timestamp convertToObject(final String value, Locale locale)
+	public DateFormat getDateFormat(Locale locale)
 	{
-		if (value == null)
-		{
-			return null;
-		}
-
 		if (locale == null)
 		{
 			locale = Locale.getDefault();
 		}
 
-		DateFormat format = DateFormat.getDateTimeInstance(dateFormat, timeFormat, locale);
-		try
-		{
-			Date date = format.parse(value);
-			return new Timestamp(date.getTime());
-		}
-		catch (ParseException e)
-		{
-			throw newConversionException("Cannot parse '" + value + "' using format " + format,
-				value, locale);
-		}
+		// return a clone because DateFormat.getDateInstance uses a pool
+		return (DateFormat) DateFormat.getDateTimeInstance(dateFormat, timeFormat, locale).clone();
 	}
 
-	/**
-	 * 
-	 * @see org.apache.wicket.util.convert.converter.AbstractConverter#convertToString(java.lang.Object,
-	 *      java.util.Locale)
-	 */
 	@Override
-	public String convertToString(final Timestamp timestamp, Locale locale)
+	protected Timestamp createDateLike(long date)
 	{
-		if (timestamp == null)
-		{
-			return null;
-		}
-
-		if (locale == null)
-		{
-			locale = Locale.getDefault();
-		}
-
-		DateFormat format = DateFormat.getDateTimeInstance(dateFormat, timeFormat, locale);
-		return format.format(timestamp);
+		return new Timestamp(date);
 	}
 
-	/**
-	 * 
-	 * @see org.apache.wicket.util.convert.converter.AbstractConverter#getTargetType()
-	 */
 	@Override
 	protected Class<Timestamp> getTargetType()
 	{
 		return Timestamp.class;
 	}
+
 }


[22/27] git commit: WICKET-5175 Upgrade dependencies to their latest stable versions

Posted by mg...@apache.org.
WICKET-5175 Upgrade dependencies to their latest stable versions


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

Branch: refs/heads/wicket-4774
Commit: 7a2259e0feaa8eb90ae5168d19d1ceff3b05ad71
Parents: a76a478
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 22:13:13 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 22:13:13 2013 +0200

----------------------------------------------------------------------
 pom.xml                                            |   58 ++++++++------
 .../validation/DefaultPropertyResolverTest.java    |    2 +-
 wicket-ioc/pom.xml                                 |    6 +-
 .../injection/CompoundFieldValueFactoryTest.java   |   13 ++--
 wicket-spring/pom.xml                              |    2 +-
 .../wicket/spring/test/ApplicationContextMock.java |   14 +++-
 6 files changed, 60 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/7a2259e0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3fa4f6d..3e4d0f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,10 +32,13 @@
 		<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>
+		<spring.version>3.2.2.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>
+		<mockito.version>1.9.5</mockito.version>
+		<slf4j.version>1.7.5</slf4j.version>
+		<hamcrest.version>1.3</hamcrest.version>
 	</properties>
 	<modules>
 		<module>wicket</module>
@@ -345,25 +348,25 @@
 			<dependency>
 				<groupId>junit</groupId>
 				<artifactId>junit</artifactId>
-				<version>4.10</version>
+				<version>4.11</version>
 				<scope>test</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.hamcrest</groupId>
 				<artifactId>hamcrest-library</artifactId>
-				<version>1.3</version>
+				<version>${hamcrest.version}</version>
 				<scope>test</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.hamcrest</groupId>
 				<artifactId>hamcrest-core</artifactId>
-				<version>1.3</version>
+				<version>${hamcrest.version}</version>
 				<scope>test</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.mockito</groupId>
 				<artifactId>mockito-all</artifactId>
-				<version>1.8.5</version>
+				<version>${mockito.version}</version>
 				<scope>test</scope>
 			</dependency>
 			<dependency>
@@ -375,22 +378,22 @@
 			<dependency>
 				<groupId>org.slf4j</groupId>
 				<artifactId>slf4j-api</artifactId>
-				<version>1.6.4</version>
+				<version>${slf4j.version}</version>
 			</dependency>
 			<dependency>
 				<groupId>org.slf4j</groupId>
 				<artifactId>slf4j-ext</artifactId>
-				<version>1.6.4</version>
+				<version>${slf4j.version}</version>
 			</dependency>
 			<dependency>
 				<groupId>org.slf4j</groupId>
 				<artifactId>slf4j-log4j12</artifactId>
-				<version>1.6.4</version>
+				<version>${slf4j.version}</version>
 			</dependency>
 			<dependency>
 				<groupId>org.slf4j</groupId>
 				<artifactId>jcl-over-slf4j</artifactId>
-				<version>1.6.4</version>
+				<version>${slf4j.version}</version>
 			</dependency>
 			<dependency>
 				<groupId>log4j</groupId>
@@ -429,7 +432,7 @@
 			<dependency>
 				<groupId>mx4j</groupId>
 				<artifactId>mx4j</artifactId>
-				<version>3.0.1</version>
+				<version>3.0.2</version>
 				<scope>provided</scope>
 			</dependency>
 			<dependency>
@@ -445,7 +448,12 @@
 			<dependency>
 				<groupId>cglib</groupId>
 				<artifactId>cglib</artifactId>
-				<version>2.2.2</version>
+				<version>3.0</version>
+			</dependency>
+			<dependency>
+				<groupId>org.ow2.asm</groupId>
+				<artifactId>asm-util</artifactId>
+				<version>4.1</version>
 			</dependency>
 			<dependency>
 				<groupId>javax.inject</groupId>
@@ -469,10 +477,10 @@
 				<version>3.0</version>
 			</dependency>
 			<dependency>
-				<groupId>easymock</groupId>
+				<groupId>org.easymock</groupId>
 				<artifactId>easymock</artifactId>
-				<version>1.2_Java1.3</version>
-				<scope>provided</scope>
+				<version>3.1</version>
+				<scope>test</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.httpunit</groupId>
@@ -518,7 +526,7 @@
 			<extension>
 				<groupId>org.apache.maven.wagon</groupId>
 				<artifactId>wagon-ssh-external</artifactId>
-				<version>2.2</version>
+				<version>2.4</version>
 			</extension>
 		</extensions>
 		<resources>
@@ -614,12 +622,12 @@
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-install-plugin</artifactId>
-					<version>2.3.1</version>
+					<version>2.4</version>
 				</plugin>
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-release-plugin</artifactId>
-					<version>2.3.2</version>
+					<version>2.4.1</version>
 					<inherited>true</inherited>
 					<configuration>
 						<pushChanges>false</pushChanges>
@@ -645,7 +653,7 @@
 					<inherited>true</inherited>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-compiler-plugin</artifactId>
-					<version>2.5.1</version>
+					<version>3.1</version>
 					<configuration>
 						<source>${mvn.build.java.version}</source>
 						<target>${mvn.build.java.version}</target>
@@ -681,7 +689,7 @@
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-war-plugin</artifactId>
-					<version>2.2</version>
+					<version>2.3</version>
 					<configuration>
 						<warName>${project.artifactId}</warName>
 					</configuration>
@@ -727,13 +735,13 @@
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-site-plugin</artifactId>
-					<version>3.1</version>
+					<version>3.2</version>
 				</plugin>
 				<plugin>
 					<inherited>true</inherited>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-source-plugin</artifactId>
-					<version>2.2</version>
+					<version>2.2.1</version>
 					<executions>
 						<execution>
 							<id>attach-sources</id>
@@ -779,7 +787,7 @@
 				<plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-remote-resources-plugin</artifactId>
-					<version>1.3</version>
+					<version>1.4</version>
 					<executions>
 						<execution>
 							<goals>
@@ -824,7 +832,7 @@
 				<plugin>
 					<groupId>net.alchim31.maven</groupId>
 					<artifactId>yuicompressor-maven-plugin</artifactId>
-					<version>1.3.0</version>
+					<version>1.3.2</version>
 					<configuration>
 						<statistics>true</statistics>
 						<jswarn>false</jswarn>
@@ -844,7 +852,7 @@
 					<version>2.5</version>
 					<configuration>
 						<skip>true</skip> <!-- Disabled until 7.0 -->
-						<comparisonVersion>6.0.0</comparisonVersion>
+						<comparisonVersion>7.0.0</comparisonVersion>
 						<failOnError>true</failOnError>
 						<logResults>true</logResults>
 						<ignored>
@@ -875,7 +883,7 @@
 				<inherited>true</inherited>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-project-info-reports-plugin</artifactId>
-				<version>2.5</version>
+				<version>2.6</version>
 				<reportSets>
 					<reportSet>
 						<reports>

http://git-wip-us.apache.org/repos/asf/wicket/blob/7a2259e0/wicket-experimental/wicket-bean-validation/src/test/java/org/apache/wicket/bean/validation/DefaultPropertyResolverTest.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-bean-validation/src/test/java/org/apache/wicket/bean/validation/DefaultPropertyResolverTest.java b/wicket-experimental/wicket-bean-validation/src/test/java/org/apache/wicket/bean/validation/DefaultPropertyResolverTest.java
index 227e3d3..3f90170 100644
--- a/wicket-experimental/wicket-bean-validation/src/test/java/org/apache/wicket/bean/validation/DefaultPropertyResolverTest.java
+++ b/wicket-experimental/wicket-bean-validation/src/test/java/org/apache/wicket/bean/validation/DefaultPropertyResolverTest.java
@@ -28,7 +28,7 @@ import org.junit.Test;
 public class DefaultPropertyResolverTest
 {
 	@Rule
-	public static WicketTesterScope scope = new WicketTesterScope();
+	public WicketTesterScope scope = new WicketTesterScope();
 
 	public static class Bean1
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/7a2259e0/wicket-ioc/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-ioc/pom.xml b/wicket-ioc/pom.xml
index ad249ad..ee77d09 100644
--- a/wicket-ioc/pom.xml
+++ b/wicket-ioc/pom.xml
@@ -41,11 +41,15 @@
 			<artifactId>cglib</artifactId>
 		</dependency>
 		<dependency>
+			<groupId>org.ow2.asm</groupId>
+			<artifactId>asm-util</artifactId>
+		</dependency>
+		<dependency>
 			<groupId>javax.inject</groupId>
 			<artifactId>javax.inject</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>easymock</groupId>
+			<groupId>org.easymock</groupId>
 			<artifactId>easymock</artifactId>
 		</dependency>
 	</dependencies>

http://git-wip-us.apache.org/repos/asf/wicket/blob/7a2259e0/wicket-ioc/src/test/java/org/apache/wicket/injection/CompoundFieldValueFactoryTest.java
----------------------------------------------------------------------
diff --git a/wicket-ioc/src/test/java/org/apache/wicket/injection/CompoundFieldValueFactoryTest.java b/wicket-ioc/src/test/java/org/apache/wicket/injection/CompoundFieldValueFactoryTest.java
index 93b9315..8db6ea5 100644
--- a/wicket-ioc/src/test/java/org/apache/wicket/injection/CompoundFieldValueFactoryTest.java
+++ b/wicket-ioc/src/test/java/org/apache/wicket/injection/CompoundFieldValueFactoryTest.java
@@ -20,7 +20,8 @@ import java.lang.reflect.Field;
 import java.util.Arrays;
 import java.util.List;
 
-import org.easymock.MockControl;
+import org.easymock.EasyMock;
+import org.easymock.IMocksControl;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -37,7 +38,7 @@ public class CompoundFieldValueFactoryTest extends Assert
 
 	private Field field;
 
-	private final MockControl[] ctrl = new MockControl[4];
+	private final IMocksControl[] ctrl = new IMocksControl[4];
 
 	private final IFieldValueFactory[] fact = new IFieldValueFactory[4];
 
@@ -52,8 +53,8 @@ public class CompoundFieldValueFactoryTest extends Assert
 
 		for (int i = 0; i < 4; i++)
 		{
-			ctrl[i] = MockControl.createControl(IFieldValueFactory.class);
-			fact[i] = (IFieldValueFactory)ctrl[i].getMock();
+			ctrl[i] = EasyMock.createControl();
+			fact[i] = ctrl[i].createMock(IFieldValueFactory.class);
 		}
 	}
 
@@ -61,7 +62,7 @@ public class CompoundFieldValueFactoryTest extends Assert
 	{
 		for (int i = 0; i < cnt; i++)
 		{
-			ctrl[i].expectAndReturn(fact[i].getFieldValue(field, this), null);
+			EasyMock.expect(fact[i].getFieldValue(field, this)).andReturn(null);
 			ctrl[i].replay();
 		}
 	}
@@ -160,7 +161,7 @@ public class CompoundFieldValueFactoryTest extends Assert
 	public void testBreakOnNonNullReturn()
 	{
 		prepare(2);
-		ctrl[2].expectAndReturn(fact[2].getFieldValue(field, this), new Object());
+		EasyMock.expect(fact[2].getFieldValue(field, this)).andReturn(new Object());
 		ctrl[2].replay();
 		ctrl[3].replay();
 		List<IFieldValueFactory> list = Arrays.asList(fact[0], fact[1], fact[2], fact[3]);

http://git-wip-us.apache.org/repos/asf/wicket/blob/7a2259e0/wicket-spring/pom.xml
----------------------------------------------------------------------
diff --git a/wicket-spring/pom.xml b/wicket-spring/pom.xml
index 64395fd..734a42b 100644
--- a/wicket-spring/pom.xml
+++ b/wicket-spring/pom.xml
@@ -43,7 +43,7 @@
 			<scope>provided</scope>
 		</dependency>
 		<dependency>
-			<groupId>easymock</groupId>
+			<groupId>org.easymock</groupId>
 			<artifactId>easymock</artifactId>
 		</dependency>
 	</dependencies>

http://git-wip-us.apache.org/repos/asf/wicket/blob/7a2259e0/wicket-spring/src/main/java/org/apache/wicket/spring/test/ApplicationContextMock.java
----------------------------------------------------------------------
diff --git a/wicket-spring/src/main/java/org/apache/wicket/spring/test/ApplicationContextMock.java b/wicket-spring/src/main/java/org/apache/wicket/spring/test/ApplicationContextMock.java
index 526a24e..fb26d2e 100644
--- a/wicket-spring/src/main/java/org/apache/wicket/spring/test/ApplicationContextMock.java
+++ b/wicket-spring/src/main/java/org/apache/wicket/spring/test/ApplicationContextMock.java
@@ -35,6 +35,7 @@ import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationEvent;
 import org.springframework.context.MessageSourceResolvable;
 import org.springframework.context.NoSuchMessageException;
+import org.springframework.core.env.Environment;
 import org.springframework.core.io.Resource;
 
 /**
@@ -439,8 +440,14 @@ public class ApplicationContextMock implements ApplicationContext, Serializable
 	@Override
 	public String getId()
 	{
-		throw new UnsupportedOperationException();
+		throw null;
+
+	}
 
+	@Override
+	public String getApplicationName()
+	{
+		return "";
 	}
 
 	/**
@@ -475,4 +482,9 @@ public class ApplicationContextMock implements ApplicationContext, Serializable
 		throw new UnsupportedOperationException();
 	}
 
+	@Override
+	public Environment getEnvironment()
+	{
+		return null;
+	}
 }


[12/27] 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/wicket-4774
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)
 		{


[07/27] 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/wicket-4774
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();
 		}


[09/27] 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/wicket-4774
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);


[25/27] git commit: WICKET-5177 (Simple)FormComponentLabel could output "required", "disabled" and "error" classes when its form component has the same

Posted by mg...@apache.org.
WICKET-5177 (Simple)FormComponentLabel could output "required", "disabled" and "error" classes when its form component has the same


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

Branch: refs/heads/wicket-4774
Commit: bc2fa6a05f531c21c677cbf839cfbf8815e9a1b1
Parents: e6f539d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri May 3 09:27:33 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri May 3 09:27:33 2013 +0200

----------------------------------------------------------------------
 .../markup/html/form/FormComponentLabel.java       |   26 ++++++++++++++-
 .../markup/html/form/SimpleFormComponentLabel.java |    3 +-
 2 files changed, 27 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/bc2fa6a0/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
index e0ff76c..59d34d9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentLabel.java
@@ -58,8 +58,32 @@ public class FormComponentLabel extends WebMarkupContainer
 	protected void onComponentTag(ComponentTag tag)
 	{
 		super.onComponentTag(tag);
+
 		checkComponentTag(tag, "label");
-		tag.put("for", component.getMarkupId());
+
+		LabeledWebMarkupContainer formComponent = getFormComponent();
+
+		tag.put("for", formComponent.getMarkupId());
+
+		if (formComponent instanceof FormComponent<?>)
+		{
+			FormComponent<?> fc = (FormComponent<?>) formComponent;
+
+			if (fc.isRequired())
+			{
+				tag.append("class", "required", " ");
+			}
+			if (fc.isValid() == false)
+			{
+				tag.append("class", "error", " ");
+			}
+		}
+
+		if (formComponent.isEnabledInHierarchy() == false)
+		{
+			tag.append("class", "disabled", " ");
+		}
+
 		// always transform the tag to <span></span> so even labels defined as <span/> render
 		tag.setType(TagType.OPEN);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/bc2fa6a0/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java
index a2165aa..0155788 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SimpleFormComponentLabel.java
@@ -21,7 +21,7 @@ import org.apache.wicket.markup.MarkupStream;
 
 /**
  * A form component label that replaces its body with the contents of
- * {@link FormComponent#getLabel()}
+ * {@link LabeledWebMarkupContainer#getLabel() labelProvider's label}
  * 
  * @author Igor Vaynberg (ivaynberg)
  */
@@ -58,4 +58,5 @@ public class SimpleFormComponentLabel extends FormComponentLabel
 	{
 		replaceComponentTagBody(markupStream, openTag, getDefaultModelObjectAsString());
 	}
+
 }
\ No newline at end of file


[05/27] 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/wicket-4774
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>


[10/27] 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/wicket-4774
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/27] 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/wicket-4774
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()
 	{


[15/27] 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/wicket-4774
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(-)
----------------------------------------------------------------------



[24/27] git commit: WICKET-5175 Upgrade dependencies to their latest stable versions

Posted by mg...@apache.org.
WICKET-5175 Upgrade dependencies to their latest stable versions

Downgrade the plugin because it causes errors at BuildBot


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

Branch: refs/heads/wicket-4774
Commit: e6f539dfa9d5c5d3be2c451df2b9a2e74af49878
Parents: 89d6080
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 22:18:14 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 22:18:14 2013 +0200

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


http://git-wip-us.apache.org/repos/asf/wicket/blob/e6f539df/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3e4d0f2..18155cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -526,7 +526,7 @@
 			<extension>
 				<groupId>org.apache.maven.wagon</groupId>
 				<artifactId>wagon-ssh-external</artifactId>
-				<version>2.4</version>
+				<version>2.2</version>
 			</extension>
 		</extensions>
 		<resources>


[14/27] 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/wicket-4774
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()


[16/27] git commit: WICKET-5124 Improve ResourceReference#getDependencies() API

Posted by mg...@apache.org.
WICKET-5124 Improve ResourceReference#getDependencies() API


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

Branch: refs/heads/wicket-4774
Commit: ecdb67a5f87ad5909262a0936cb74ebc6786b8fb
Parents: 0ddc791
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 16:41:53 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 16:41:53 2013 +0200

----------------------------------------------------------------------
 .../WicketAjaxDebugJQueryResourceReference.java    |    8 ++++--
 .../ajax/WicketAjaxJQueryResourceReference.java    |    8 ++++--
 .../ajax/WicketEventJQueryResourceReference.java   |    8 ++++--
 .../markup/html/form/AbstractCheckSelector.java    |   15 +++++++++---
 .../wicket/request/resource/ResourceReference.java |    9 ++++---
 .../resource/JQueryPluginResourceReference.java    |    8 ++++--
 .../bundles/ConcatResourceBundleReference.java     |    8 ++++--
 .../resource/bundles/ResourceBundleReference.java  |    8 ++++--
 .../markup/head/filter/FilteredHeaderPage.java     |   15 ++++--------
 .../resource/aggregator/ResourceReferenceB.java    |   10 +++++---
 .../resource/aggregator/ResourceReferenceC.java    |    8 ++++--
 .../aggregator/ResourceReferenceCirc1.java         |   10 +++++---
 .../aggregator/ResourceReferenceCirc2.java         |   10 +++++---
 .../resource/aggregator/ResourceReferenceD.java    |    8 ++++--
 .../JQueryWicketAtmosphereResourceReference.java   |   10 +++++---
 .../org/apache/wicket/bootstrap/Bootstrap.java     |   17 ++++++++++----
 .../org/apache/wicket/examples/base/Examples.java  |    9 +++++--
 .../wicket/examples/base/prettify/Prettify.java    |   10 +++++---
 .../WicketWebSocketJQueryResourceReference.java    |    8 ++++--
 19 files changed, 114 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxDebugJQueryResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxDebugJQueryResourceReference.java b/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxDebugJQueryResourceReference.java
index 6b84a00..b881502 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxDebugJQueryResourceReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxDebugJQueryResourceReference.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ajax;
 
-import java.util.Collections;
+import java.util.List;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.markup.head.HeaderItem;
@@ -47,7 +47,7 @@ public class WicketAjaxDebugJQueryResourceReference extends JavaScriptResourceRe
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
 		final ResourceReference wicketAjaxReference;
 		if (Application.exists())
@@ -58,6 +58,8 @@ public class WicketAjaxDebugJQueryResourceReference extends JavaScriptResourceRe
 		{
 			wicketAjaxReference = WicketAjaxJQueryResourceReference.get();
 		}
-		return Collections.singletonList(JavaScriptHeaderItem.forReference(wicketAjaxReference));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(JavaScriptHeaderItem.forReference(wicketAjaxReference));
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxJQueryResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxJQueryResourceReference.java b/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxJQueryResourceReference.java
index 67c5005..cd6e617 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxJQueryResourceReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/WicketAjaxJQueryResourceReference.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ajax;
 
-import java.util.Collections;
+import java.util.List;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.markup.head.HeaderItem;
@@ -47,7 +47,7 @@ public class WicketAjaxJQueryResourceReference extends JavaScriptResourceReferen
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
 		final ResourceReference wicketEventReference;
 		if (Application.exists())
@@ -58,6 +58,8 @@ public class WicketAjaxJQueryResourceReference extends JavaScriptResourceReferen
 		{
 			wicketEventReference = WicketEventJQueryResourceReference.get();
 		}
-		return Collections.singletonList(JavaScriptHeaderItem.forReference(wicketEventReference));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(JavaScriptHeaderItem.forReference(wicketEventReference));
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/ajax/WicketEventJQueryResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/WicketEventJQueryResourceReference.java b/wicket-core/src/main/java/org/apache/wicket/ajax/WicketEventJQueryResourceReference.java
index 8e41e45..4e3ec02 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/WicketEventJQueryResourceReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/WicketEventJQueryResourceReference.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ajax;
 
-import java.util.Arrays;
+import java.util.List;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.markup.head.HeaderItem;
@@ -48,7 +48,7 @@ public class WicketEventJQueryResourceReference extends JavaScriptResourceRefere
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
 		final ResourceReference backingLibraryReference;
 		if (Application.exists())
@@ -61,6 +61,8 @@ public class WicketEventJQueryResourceReference extends JavaScriptResourceRefere
 		{
 			backingLibraryReference = JQueryResourceReference.get();
 		}
-		return Arrays.asList(JavaScriptHeaderItem.forReference(backingLibraryReference));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(JavaScriptHeaderItem.forReference(backingLibraryReference));
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractCheckSelector.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractCheckSelector.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractCheckSelector.java
index 158989a..84d16fa 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractCheckSelector.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractCheckSelector.java
@@ -16,8 +16,9 @@
  */
 package org.apache.wicket.markup.html.form;
 
-import java.util.Arrays;
+import java.util.List;
 
+import org.apache.wicket.Application;
 import org.apache.wicket.ajax.WicketEventJQueryResourceReference;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.head.HeaderItem;
@@ -54,10 +55,16 @@ public abstract class AbstractCheckSelector extends LabeledWebMarkupContainer
 		private static final long serialVersionUID = 1L;
 
 		@Override
-		public Iterable<? extends HeaderItem> getDependencies()
+		public List<HeaderItem> getDependencies()
 		{
-			return Arrays.asList(JavaScriptHeaderItem.forReference(WicketEventJQueryResourceReference.get()));
-		};
+			List<HeaderItem> dependencies = super.getDependencies();
+			ResourceReference wicketEventReference = WicketEventJQueryResourceReference.get();
+			if (Application.exists()) {
+				wicketEventReference = Application.get().getJavaScriptLibrarySettings().getWicketEventReference();
+			}
+			dependencies.add(JavaScriptHeaderItem.forReference(wicketEventReference));
+			return dependencies;
+		}
 	};
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java b/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java
index b936115..04dd8b9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java
@@ -17,15 +17,16 @@
 package org.apache.wicket.request.resource;
 
 import java.io.Serializable;
-import java.util.Collections;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Locale;
 
 import org.apache.wicket.Application;
+import org.apache.wicket.core.util.lang.WicketObjects;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.util.io.IClusterable;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Objects;
-import org.apache.wicket.core.util.lang.WicketObjects;
 
 /**
  * Reference to a resource. Can be used to reference global resources.
@@ -493,8 +494,8 @@ public abstract class ResourceReference implements IClusterable
 	/**
 	 * @return the resources this ResourceReference depends on.
 	 */
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Collections.emptyList();
+		return new ArrayList<>();
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/resource/JQueryPluginResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/JQueryPluginResourceReference.java b/wicket-core/src/main/java/org/apache/wicket/resource/JQueryPluginResourceReference.java
index 66b1d75..d2d4a65 100644
--- a/wicket-core/src/main/java/org/apache/wicket/resource/JQueryPluginResourceReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/resource/JQueryPluginResourceReference.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.resource;
 
-import java.util.Arrays;
+import java.util.List;
 import java.util.Locale;
 
 import org.apache.wicket.Application;
@@ -69,7 +69,7 @@ public class JQueryPluginResourceReference extends JavaScriptResourceReference
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
 		final ResourceReference backingLibraryReference;
 		if (Application.exists())
@@ -82,6 +82,8 @@ public class JQueryPluginResourceReference extends JavaScriptResourceReference
 		{
 			backingLibraryReference = JQueryResourceReference.get();
 		}
-		return Arrays.asList(JavaScriptHeaderItem.forReference(backingLibraryReference));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(JavaScriptHeaderItem.forReference(backingLibraryReference));
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
index b1bd209..470a191 100644
--- a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
@@ -138,9 +138,9 @@ public class ConcatResourceBundleReference<T extends HeaderItem & IReferenceHead
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		Set<HeaderItem> ret = new LinkedHashSet<HeaderItem>();
+		Set<HeaderItem> ret = new LinkedHashSet<>();
 		for (HeaderItem curProvided : providedResources)
 		{
 			for (HeaderItem curDependency : curProvided.getDependencies())
@@ -150,7 +150,9 @@ public class ConcatResourceBundleReference<T extends HeaderItem & IReferenceHead
 		{
 			ret.remove(curProvided);
 		}
-		return ret;
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.addAll(ret);
+		return dependencies;
 	}
 
 	public void setCompressor(ITextResourceCompressor compressor)

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ResourceBundleReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ResourceBundleReference.java b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ResourceBundleReference.java
index 14042a6..9e8b3f2 100644
--- a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ResourceBundleReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ResourceBundleReference.java
@@ -92,9 +92,9 @@ public class ResourceBundleReference extends ResourceReference implements IResou
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		Set<HeaderItem> ret = new LinkedHashSet<HeaderItem>();
+		Set<HeaderItem> ret = new LinkedHashSet<>();
 		for (HeaderItem curProvided : providedResources)
 		{
 			for (HeaderItem curDependency : curProvided.getDependencies())
@@ -104,6 +104,8 @@ public class ResourceBundleReference extends ResourceReference implements IResou
 		{
 			ret.remove(curProvided);
 		}
-		return ret;
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.addAll(ret);
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/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 0ac79e5..f5aaaa5 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
@@ -16,7 +16,6 @@
  */
 package org.apache.wicket.markup.head.filter;
 
-import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.wicket.markup.head.HeaderItem;
@@ -66,17 +65,13 @@ public class FilteredHeaderPage extends WebPage
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			public Iterable<? extends HeaderItem> getDependencies()
+			public List<HeaderItem> getDependencies()
 			{
-				Iterable<? extends HeaderItem> dependencies = super.getDependencies();
-				List<HeaderItem> deps = new ArrayList<HeaderItem>();
-				for (HeaderItem hi : dependencies)
-				{
-					deps.add(hi);
-				}
+				List<HeaderItem> dependencies = super.getDependencies();
+
 				// WICKET-4566 : depend on a resource which is rendered in a different bucket
-				deps.add(JavaScriptHeaderItem.forReference(topJsReference));
-				return deps;
+				dependencies.add(JavaScriptHeaderItem.forReference(topJsReference));
+				return dependencies;
 			}
 		};
 		response.render(JavaScriptHeaderItem.forReference(bottomJs));

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceB.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceB.java b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceB.java
index 4e3d1b1..5965785 100644
--- a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceB.java
+++ b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceB.java
@@ -18,10 +18,10 @@ package org.apache.wicket.resource.aggregator;
 
 import static org.apache.wicket.markup.head.JavaScriptHeaderItem.forReference;
 
-import java.util.Collections;
+import java.util.List;
 
-import org.apache.wicket.request.resource.JavaScriptResourceReference;
 import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.request.resource.JavaScriptResourceReference;
 
 /**
  * js resource with dep on A
@@ -39,8 +39,10 @@ public class ResourceReferenceB extends JavaScriptResourceReference
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Collections.singletonList(forReference(new ResourceReferenceA()));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(forReference(new ResourceReferenceA()));
+		return dependencies;
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceC.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceC.java b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceC.java
index 01e8ccf..c2e1c0b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceC.java
+++ b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceC.java
@@ -18,7 +18,7 @@ package org.apache.wicket.resource.aggregator;
 
 import static org.apache.wicket.markup.head.JavaScriptHeaderItem.forReference;
 
-import java.util.Collections;
+import java.util.List;
 
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.request.resource.JavaScriptResourceReference;
@@ -39,8 +39,10 @@ public class ResourceReferenceC extends JavaScriptResourceReference
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Collections.singletonList(forReference(new ResourceReferenceA()));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(forReference(new ResourceReferenceA()));
+		return dependencies;
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc1.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc1.java b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc1.java
index 5a235d0..d933e24 100644
--- a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc1.java
+++ b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc1.java
@@ -18,10 +18,10 @@ package org.apache.wicket.resource.aggregator;
 
 import static org.apache.wicket.markup.head.JavaScriptHeaderItem.forReference;
 
-import java.util.Collections;
+import java.util.List;
 
-import org.apache.wicket.request.resource.JavaScriptResourceReference;
 import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.request.resource.JavaScriptResourceReference;
 
 /**
  * js resource with circular dependency on circ2
@@ -39,8 +39,10 @@ public class ResourceReferenceCirc1 extends JavaScriptResourceReference
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Collections.singletonList(forReference(new ResourceReferenceCirc2()));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(forReference(new ResourceReferenceCirc2()));
+		return dependencies;
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc2.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc2.java b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc2.java
index a23ddd8..a4265f4 100644
--- a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc2.java
+++ b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceCirc2.java
@@ -18,10 +18,10 @@ package org.apache.wicket.resource.aggregator;
 
 import static org.apache.wicket.markup.head.JavaScriptHeaderItem.forReference;
 
-import java.util.Collections;
+import java.util.List;
 
-import org.apache.wicket.request.resource.JavaScriptResourceReference;
 import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.request.resource.JavaScriptResourceReference;
 
 /**
  * js resource with circular dependency on circ1
@@ -39,8 +39,10 @@ public class ResourceReferenceCirc2 extends JavaScriptResourceReference
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Collections.singletonList(forReference(new ResourceReferenceCirc1()));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(forReference(new ResourceReferenceCirc1()));
+		return dependencies;
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceD.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceD.java b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceD.java
index a0b82e5..3865429 100644
--- a/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceD.java
+++ b/wicket-core/src/test/java/org/apache/wicket/resource/aggregator/ResourceReferenceD.java
@@ -18,7 +18,7 @@ package org.apache.wicket.resource.aggregator;
 
 import static org.apache.wicket.markup.head.JavaScriptHeaderItem.forReference;
 
-import java.util.Collections;
+import java.util.List;
 
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.request.resource.JavaScriptResourceReference;
@@ -39,8 +39,10 @@ public class ResourceReferenceD extends JavaScriptResourceReference
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Collections.singletonList(forReference(new ResourceReferenceC()));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(forReference(new ResourceReferenceC()));
+		return dependencies;
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/JQueryWicketAtmosphereResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/JQueryWicketAtmosphereResourceReference.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/JQueryWicketAtmosphereResourceReference.java
index 64c385a..8926ec6 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/JQueryWicketAtmosphereResourceReference.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/JQueryWicketAtmosphereResourceReference.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.atmosphere;
 
-import java.util.Arrays;
+import java.util.List;
 
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
@@ -48,9 +48,11 @@ public class JQueryWicketAtmosphereResourceReference extends JavaScriptResourceR
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Arrays.asList(JavaScriptHeaderItem.forReference(new JQueryPluginResourceReference(
-			JQueryWicketAtmosphereResourceReference.class, "jquery.atmosphere.js")));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(JavaScriptHeaderItem.forReference(new JQueryPluginResourceReference(
+				JQueryWicketAtmosphereResourceReference.class, "jquery.atmosphere.js")));
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-experimental/wicket-bootstrap/src/main/java/org/apache/wicket/bootstrap/Bootstrap.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-bootstrap/src/main/java/org/apache/wicket/bootstrap/Bootstrap.java b/wicket-experimental/wicket-bootstrap/src/main/java/org/apache/wicket/bootstrap/Bootstrap.java
index 558e165..084e908 100644
--- a/wicket-experimental/wicket-bootstrap/src/main/java/org/apache/wicket/bootstrap/Bootstrap.java
+++ b/wicket-experimental/wicket-bootstrap/src/main/java/org/apache/wicket/bootstrap/Bootstrap.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.bootstrap;
 
-import static java.util.Arrays.asList;
+import java.util.List;
 
 import org.apache.wicket.ajax.WicketEventJQueryResourceReference;
 import org.apache.wicket.markup.head.CssHeaderItem;
@@ -116,12 +116,15 @@ public class Bootstrap
 		}
 
 		@Override
-		public Iterable<? extends HeaderItem> getDependencies()
+		public List<HeaderItem> getDependencies()
 		{
 			HeaderItem jquery = JavaScriptHeaderItem.forReference(WicketEventJQueryResourceReference.get());
 			HeaderItem stylesheet = CssHeaderItem.forReference(BOOTSTRAP_CSS);
 
-			return asList(jquery, stylesheet);
+			List<HeaderItem> dependencies = super.getDependencies();
+			dependencies.add(jquery);
+			dependencies.add(stylesheet);
+			return dependencies;
 		}
 	}
 
@@ -135,12 +138,16 @@ public class Bootstrap
 		}
 
 		@Override
-		public Iterable<? extends HeaderItem> getDependencies()
+		public List<HeaderItem> getDependencies()
 		{
 			HeaderItem jquery = JavaScriptHeaderItem.forReference(WicketEventJQueryResourceReference.get());
 			HeaderItem stylesheet = CssHeaderItem.forReference(BOOTSTRAP_CSS);
 			HeaderItem responsive = CssHeaderItem.forReference(BOOTSTRAP_RESPONSIVE_CSS);
-			return asList(jquery, stylesheet, responsive);
+			List<HeaderItem> dependencies = super.getDependencies();
+			dependencies.add(jquery);
+			dependencies.add(stylesheet);
+			dependencies.add(responsive);
+			return dependencies;
 		}
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/Examples.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/Examples.java b/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/Examples.java
index 6e61ed8..67a9598 100644
--- a/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/Examples.java
+++ b/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/Examples.java
@@ -1,6 +1,6 @@
 package org.apache.wicket.examples.base;
 
-import java.util.Arrays;
+import java.util.List;
 
 import org.apache.wicket.bootstrap.Bootstrap;
 import org.apache.wicket.examples.base.prettify.Prettify;
@@ -27,10 +27,13 @@ public class Examples extends JavaScriptResourceReference {
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies() {
+	public List<HeaderItem> getDependencies() {
 		HeaderItem bootstrap = JavaScriptHeaderItem.forReference(Bootstrap
 				.responsive());
 		HeaderItem prettify = JavaScriptHeaderItem.forReference(Prettify.get());
-		return Arrays.asList(bootstrap, prettify);
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(bootstrap);
+		dependencies.add(prettify);
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/prettify/Prettify.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/prettify/Prettify.java b/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/prettify/Prettify.java
index 50de977..8760c55 100644
--- a/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/prettify/Prettify.java
+++ b/wicket-experimental/wicket-examples-parent/wicket-examples-jar/src/main/java/org/apache/wicket/examples/base/prettify/Prettify.java
@@ -1,6 +1,6 @@
 package org.apache.wicket.examples.base.prettify;
 
-import java.util.Arrays;
+import java.util.List;
 
 import org.apache.wicket.markup.head.CssHeaderItem;
 import org.apache.wicket.markup.head.HeaderItem;
@@ -33,9 +33,11 @@ public class Prettify extends JavaScriptResourceReference
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
-		return Arrays.asList(CssHeaderItem.forReference(new CssResourceReference(Prettify.class,
-			"prettify.css")));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(CssHeaderItem.forReference(new CssResourceReference(Prettify.class,
+				"prettify.css")));
+		return dependencies;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ecdb67a5/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WicketWebSocketJQueryResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WicketWebSocketJQueryResourceReference.java b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WicketWebSocketJQueryResourceReference.java
index 734bce0..12301da 100644
--- a/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WicketWebSocketJQueryResourceReference.java
+++ b/wicket-experimental/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WicketWebSocketJQueryResourceReference.java
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.protocol.ws.api;
 
-import java.util.Collections;
+import java.util.List;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.ajax.WicketAjaxJQueryResourceReference;
@@ -52,7 +52,7 @@ public class WicketWebSocketJQueryResourceReference extends JavaScriptResourceRe
 	}
 
 	@Override
-	public Iterable<? extends HeaderItem> getDependencies()
+	public List<HeaderItem> getDependencies()
 	{
 		final ResourceReference wicketAjaxReference;
 		if (Application.exists()) {
@@ -61,6 +61,8 @@ public class WicketWebSocketJQueryResourceReference extends JavaScriptResourceRe
 		else {
 			wicketAjaxReference = WicketAjaxJQueryResourceReference.get();
 		}
-		return Collections.singletonList(JavaScriptHeaderItem.forReference(wicketAjaxReference));
+		List<HeaderItem> dependencies = super.getDependencies();
+		dependencies.add(JavaScriptHeaderItem.forReference(wicketAjaxReference));
+		return dependencies;
 	}
 }


[18/27] git commit: WICKET-4934 DownloadLink uses wrong encoding for spaces/non-ASCII characters

Posted by mg...@apache.org.
WICKET-4934 DownloadLink uses wrong encoding for spaces/non-ASCII characters


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

Branch: refs/heads/wicket-4774
Commit: 46f1835d67fa94392007e8b07c91f218cf954433
Parents: 05f7207
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 17:24:41 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 17:24:41 2013 +0200

----------------------------------------------------------------------
 .../wicket/markup/html/link/DownloadLink.java      |    3 -
 .../apache/wicket/examples/linkomatic/Home.java    |    2 +-
 .../apache/wicket/request/http/WebResponse.java    |   31 ++++++++++++---
 3 files changed, 26 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/46f1835d/wicket-core/src/main/java/org/apache/wicket/markup/html/link/DownloadLink.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/DownloadLink.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/DownloadLink.java
index 293a239..593c2a0 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/link/DownloadLink.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/link/DownloadLink.java
@@ -24,7 +24,6 @@ import org.apache.wicket.request.IRequestCycle;
 import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
 import org.apache.wicket.request.resource.ContentDisposition;
 import org.apache.wicket.settings.IResourceSettings;
-import org.apache.wicket.util.encoding.UrlEncoder;
 import org.apache.wicket.util.file.Files;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.resource.FileResourceStream;
@@ -165,8 +164,6 @@ public class DownloadLink extends Link<File>
 			fileName = file.getName();
 		}
 
-		fileName = UrlEncoder.QUERY_INSTANCE.encode(fileName, getRequest().getCharset());
-
 		IResourceStream resourceStream = new FileResourceStream(
 			new org.apache.wicket.util.file.File(file));
 		getRequestCycle().scheduleRequestHandlerAfterCurrent(

http://git-wip-us.apache.org/repos/asf/wicket/blob/46f1835d/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java b/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
index 4d9bd27..4dbb982 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
@@ -176,7 +176,7 @@ public class Home extends WicketExamplePage
 
 				return tempFile;
 			}
-		}).setCacheDuration(Duration.NONE).setDeleteAfterDownload(true));
+		}, "Downlöad\"here now.tmp").setCacheDuration(Duration.NONE).setDeleteAfterDownload(true));
 
 		// redirect to external url form
 		FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");

http://git-wip-us.apache.org/repos/asf/wicket/blob/46f1835d/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java b/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java
index 3b1cd9a..0566d0c 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/http/WebResponse.java
@@ -21,6 +21,7 @@ import java.io.IOException;
 import javax.servlet.http.Cookie;
 
 import org.apache.wicket.request.Response;
+import org.apache.wicket.util.encoding.UrlEncoder;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.time.Duration;
@@ -110,28 +111,46 @@ public abstract class WebResponse extends Response
 	 * Convenience method for setting the content-disposition:attachment header. This header is used
 	 * if the response should prompt the user to download it as a file instead of opening in a
 	 * browser.
-	 * 
+	 * <p>
+	 * The file name will be <a href="http://greenbytes.de/tech/tc2231/">encoded</a>
+	 *
 	 * @param filename
 	 *            file name of the attachment
 	 */
 	public void setAttachmentHeader(final String filename)
 	{
-		setHeader("Content-Disposition", "attachment" +
-			((!Strings.isEmpty(filename)) ? ("; filename=\"" + filename + "\"") : ""));
+		setHeader("Content-Disposition", "attachment" + encodeDispositionHeaderValue(filename));
 	}
 
 	/**
 	 * Convenience method for setting the content-disposition:inline header. This header is used if
 	 * the response should be shown embedded in browser window while having custom file name when
 	 * user saves the response. browser.
-	 * 
+	 * <p>
+	 * The file name will be <a href="http://greenbytes.de/tech/tc2231/">encoded</a>
+	 *
 	 * @param filename
 	 *            file name of the attachment
 	 */
 	public void setInlineHeader(final String filename)
 	{
-		setHeader("Content-Disposition", "inline" +
-			((!Strings.isEmpty(filename)) ? ("; filename=\"" + filename + "\"") : ""));
+		setHeader("Content-Disposition", "inline" + encodeDispositionHeaderValue(filename));
+	}
+
+	/**
+	 * <a href="http://greenbytes.de/tech/tc2231/">Encodes</a> the value of the filename
+	 * used in "Content-Disposition" response header
+	 *
+	 * @param filename
+	 *          the non-encoded file name
+	 * @return encoded filename
+	 */
+	private String encodeDispositionHeaderValue(final String filename)
+	{
+		return 	(Strings.isEmpty(filename) ?
+						"" :
+						String.format("; filename=\"%1$s\"; filename*=UTF-8''%1$s",
+								UrlEncoder.PATH_INSTANCE.encode(filename, "UTF-8")));
 	}
 
 	/**


[13/27] 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/wicket-4774
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;
 	}


[20/27] git commit: WICKET-5173 Make ThrottlingSettings mutable

Posted by mg...@apache.org.
WICKET-5173 Make ThrottlingSettings mutable


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

Branch: refs/heads/wicket-4774
Commit: 2ddf76fab2b4b4a4ff79af18d10638e01b243adb
Parents: b11bb19
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 20:56:56 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 20:56:56 2013 +0200

----------------------------------------------------------------------
 .../wicket/ajax/attributes/ThrottlingSettings.java |   28 ++++++++++----
 1 files changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2ddf76fa/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java b/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
index a737cfe..df830da 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/attributes/ThrottlingSettings.java
@@ -17,6 +17,7 @@
 package org.apache.wicket.ajax.attributes;
 
 import org.apache.wicket.util.io.IClusterable;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.time.Duration;
 
 /**
@@ -28,9 +29,9 @@ public class ThrottlingSettings implements IClusterable
 {
 	private static final long serialVersionUID = 1L;
 
-	private final Duration delay;
+	private Duration delay;
 	private final String id;
-	private final boolean postponeTimerOnUpdate;
+	private boolean postponeTimerOnUpdate;
 
 	/**
 	 * Construct.
@@ -47,24 +48,29 @@ public class ThrottlingSettings implements IClusterable
 	 * Construct.
 	 *
 	 * @param id    throttle id
-	 * @param delay throttle delay
+	 * @param delay the amount of time the action should be postponed
 	 * @param postponeTimerOnUpdate postpone timer
 	 */
 	public ThrottlingSettings(final String id, final Duration delay, final boolean postponeTimerOnUpdate)
 	{
-		this.id = id;
-		this.delay = delay;
+		this.id = Args.notNull(id, "id");
+		this.delay = Args.notNull(delay, "delay");
 		this.postponeTimerOnUpdate = postponeTimerOnUpdate;
 	}
 
 	/**
-	 * @return throttle delay
+	 * @return the amount of time the action should be postponed
 	 */
 	public Duration getDelay()
 	{
 		return delay;
 	}
 
+	public void setDelay(Duration delay)
+	{
+		this.delay = Args.notNull(delay, "delay");
+	}
+
 	/**
 	 * @return throttle id
 	 */
@@ -76,10 +82,16 @@ public class ThrottlingSettings implements IClusterable
 	/**
 	 * If it is set to true, then the timer is reset each time the throttle function
 	 * gets called. Use this behaviour if you want something to happen at X milliseconds
-	 * after the *last* call to throttle. If the parameter is not set, or set to false,
+	 * after the <strong>last</strong> call to throttle. If the parameter is not set, or set to false,
 	 * then the timer is not reset.
 	 */
 	public boolean getPostponeTimerOnUpdate() {
 		return postponeTimerOnUpdate;
 	}
-}
\ No newline at end of file
+
+	public void setPostponeTimerOnUpdate(boolean postponeTimerOnUpdate)
+	{
+		this.postponeTimerOnUpdate = postponeTimerOnUpdate;
+	}
+
+}


[17/27] git commit: WICKET-4972 Remove (or disarm) varargs contructors of StringResourceModel (more of a pitfall than convenience)

Posted by mg...@apache.org.
WICKET-4972 Remove (or disarm) varargs contructors of StringResourceModel (more of a pitfall than convenience)

Change the type of "defaultValue" from String to IModel<String>


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

Branch: refs/heads/wicket-4774
Commit: 05f7207fcdcafa2e632a34941acb312496107cbb
Parents: ecdb67a
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 17:02:36 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 17:02:36 2013 +0200

----------------------------------------------------------------------
 .../apache/wicket/model/StringResourceModel.java   |   21 ++++++++++-----
 1 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/05f7207f/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java b/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
index 50f9047..95b37f8 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/StringResourceModel.java
@@ -198,7 +198,7 @@ public class StringResourceModel extends LoadableDetachableModel<String>
 	private final String resourceKey;
 
 	/** The default value of the message. */
-	private final String defaultValue;
+	private final IModel<String> defaultValue;
 
 	@Override
 	public IWrapModel<String> wrapOnAssignment(Component component)
@@ -321,7 +321,7 @@ public class StringResourceModel extends LoadableDetachableModel<String>
 	 *            The parameters to substitute using a Java MessageFormat object
 	 */
 	public StringResourceModel(final String resourceKey, final Component component,
-		final IModel<?> model, final String defaultValue, final Object... parameters)
+		final IModel<?> model, final IModel<String> defaultValue, final Object... parameters)
 	{
 		if (resourceKey == null)
 		{
@@ -373,7 +373,7 @@ public class StringResourceModel extends LoadableDetachableModel<String>
 	 *            The default value if the resource key is not found.
 	 */
 	public StringResourceModel(final String resourceKey, final IModel<?> model,
-		final String defaultValue, final Object... parameters)
+		final IModel<String> defaultValue, final Object... parameters)
 	{
 		this(resourceKey, null, model, defaultValue, parameters);
 	}
@@ -423,20 +423,22 @@ public class StringResourceModel extends LoadableDetachableModel<String>
 		{
 			// Get the string resource, doing any property substitutions as part
 			// of the get operation
-			value = localizer.getString(getResourceKey(), component, model, defaultValue);
+			String defaultVal = defaultValue != null ? defaultValue.getObject() : null;
+			value = localizer.getString(getResourceKey(), component, model, defaultVal);
 			if (value == null)
 			{
-				value = defaultValue;
+				value = defaultVal;
 			}
 		}
 		else
 		{
 			// Get the string resource, doing not any property substitutions
 			// that has to be done later after MessageFormat
-			value = localizer.getString(getResourceKey(), component, null, defaultValue);
+			String defaultVal = defaultValue != null ? defaultValue.getObject() : null;
+			value = localizer.getString(getResourceKey(), component, null, defaultVal);
 			if (value == null)
 			{
-				value = defaultValue;
+				value = defaultVal;
 			}
 			if (value != null)
 			{
@@ -613,6 +615,11 @@ public class StringResourceModel extends LoadableDetachableModel<String>
 				}
 			}
 		}
+
+		if (defaultValue != null)
+		{
+			defaultValue.detach();
+		}
 	}
 
 	@Override


[11/27] 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/wicket-4774
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;
 	}
 


[23/27] git commit: WICKET-5175 Upgrade dependencies to their latest stable versions

Posted by mg...@apache.org.
WICKET-5175 Upgrade dependencies to their latest stable versions


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

Branch: refs/heads/wicket-4774
Commit: 89d60802385d2d65ed152614b6cae5d92058a84c
Parents: 7a2259e
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 22:16:46 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 22:16:46 2013 +0200

----------------------------------------------------------------------
 .../src/main/resources/archetype-resources/pom.xml |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/89d60802/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 d65f954..e9ece3b 100644
--- a/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
@@ -43,7 +43,8 @@
 	</licenses>
 	<properties>
 		<wicket.version>6.8.0-SNAPSHOT</wicket.version>
-		<jetty.version>7.6.3.v20120416</jetty.version>
+		<jetty.version>8.1.10.v20130312</jetty.version>
+		<slf4j.version>1.7.5</slf4j.version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 	</properties>
 	<dependencies>
@@ -65,12 +66,12 @@
 		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>slf4j-log4j12</artifactId>
-			<version>1.6.4</version>
+			<version>${slf4j.version}</version>
 		</dependency>
 		<dependency>
 			<groupId>log4j</groupId>
 			<artifactId>log4j</artifactId>
-			<version>1.2.16</version>
+			<version>${slf4j.version}</version>
 		</dependency>
 
 		<!--  JUNIT DEPENDENCY FOR TESTING -->
@@ -127,7 +128,7 @@
 				<inherited>true</inherited>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-compiler-plugin</artifactId>
-				<version>2.5.1</version>
+				<version>3.1</version>
 				<configuration>
 					<source>1.7</source>
 					<target>1.7</target>


[03/27] 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/wicket-4774
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();
 	}
 


[08/27] 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/wicket-4774
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>


[19/27] git commit: WICKET-4934 DownloadLink uses wrong encoding for spaces/non-ASCII characters

Posted by mg...@apache.org.
WICKET-4934 DownloadLink uses wrong encoding for spaces/non-ASCII characters


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

Branch: refs/heads/wicket-4774
Commit: b11bb1912eee9af58ac6b7aad5f1fffd60e1d75f
Parents: 46f1835
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu May 2 17:53:26 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu May 2 17:53:26 2013 +0200

----------------------------------------------------------------------
 .../http/servlet/ServletWebResponseTest.java       |   32 +++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/b11bb191/wicket-core/src/test/java/org/apache/wicket/protocol/http/servlet/ServletWebResponseTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/servlet/ServletWebResponseTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/servlet/ServletWebResponseTest.java
index d0d09bf..e92aa32 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/servlet/ServletWebResponseTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/servlet/ServletWebResponseTest.java
@@ -27,6 +27,8 @@ import java.io.StringWriter;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
+import org.apache.wicket.protocol.http.mock.MockHttpServletResponse;
 import org.apache.wicket.request.Url;
 import org.junit.Assert;
 import org.junit.Test;
@@ -113,4 +115,34 @@ public class ServletWebResponseTest extends Assert
 		verify(httpServletResponse).sendRedirect("relative/path");
 		assertTrue(webResponse.isRedirect());
 	}
+
+	/**
+	 * WICKET-4934 DownloadLink uses wrong encoding for spaces/non-ASCII characters
+	 */
+	@Test
+	public void setDispositionHeader()
+	{
+		ServletWebRequest webRequest = mock(ServletWebRequest.class);
+		MockHttpServletRequest httpRequest = mock(MockHttpServletRequest.class);
+		HttpServletResponse httpResponse = new MockHttpServletResponse(httpRequest);
+		ServletWebResponse response = new ServletWebResponse(webRequest, httpResponse);
+
+		response.setInlineHeader("name with spaces");
+		String header = httpResponse.getHeader("Content-Disposition");
+		assertEquals("inline; filename=\"name%20with%20spaces\"; filename*=UTF-8''name%20with%20spaces", header);
+
+		// says: "name with bulgarian"
+		response.setInlineHeader("name with български");
+		header = httpResponse.getHeader("Content-Disposition");
+		assertEquals("inline; filename=\"name%20with%20%D0%B1%D1%8A%D0%BB%D0%B3%D0%B0%D1%80%D1%81%D0%BA%D0%B8\"; filename*=UTF-8''name%20with%20%D0%B1%D1%8A%D0%BB%D0%B3%D0%B0%D1%80%D1%81%D0%BA%D0%B8", header);
+
+		response.setAttachmentHeader("name with spaces");
+		header = httpResponse.getHeader("Content-Disposition");
+		assertEquals("attachment; filename=\"name%20with%20spaces\"; filename*=UTF-8''name%20with%20spaces", header);
+
+		// says: "name with bulgarian"
+		response.setAttachmentHeader("name with български");
+		header = httpResponse.getHeader("Content-Disposition");
+		assertEquals("attachment; filename=\"name%20with%20%D0%B1%D1%8A%D0%BB%D0%B3%D0%B0%D1%80%D1%81%D0%BA%D0%B8\"; filename*=UTF-8''name%20with%20%D0%B1%D1%8A%D0%BB%D0%B3%D0%B0%D1%80%D1%81%D0%BA%D0%B8", header);
+	}
 }
\ No newline at end of file


[27/27] git commit: Merge branch 'master' into wicket-4774

Posted by mg...@apache.org.
Merge branch 'master' into wicket-4774


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

Branch: refs/heads/wicket-4774
Commit: 3eb54bc556a747b834c0cdf5038684940fff1690
Parents: 665a3e8 abdcf84
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri May 3 10:58:04 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri May 3 10:58:04 2013 +0200

----------------------------------------------------------------------
 .../src/main/resources/archetype-resources/pom.xml |    9 +-
 pom.xml                                            |   56 ++++++-----
 .../WicketAjaxDebugJQueryResourceReference.java    |    8 +-
 .../ajax/WicketAjaxJQueryResourceReference.java    |    8 +-
 .../ajax/WicketEventJQueryResourceReference.java   |    8 +-
 .../wicket/ajax/attributes/ThrottlingSettings.java |   28 ++++--
 .../markup/html/form/AbstractCheckSelector.java    |   15 ++-
 .../markup/html/form/FormComponentLabel.java       |   26 +++++-
 .../markup/html/form/SimpleFormComponentLabel.java |    3 +-
 .../wicket/markup/html/link/DownloadLink.java      |    3 -
 .../apache/wicket/model/StringResourceModel.java   |   21 +++--
 .../apache/wicket/protocol/http/RequestUtils.java  |   31 +++++-
 .../wicket/request/resource/ResourceReference.java |    9 +-
 .../resource/JQueryPluginResourceReference.java    |    8 +-
 .../bundles/ConcatResourceBundleReference.java     |    8 +-
 .../resource/bundles/ResourceBundleReference.java  |    8 +-
 .../validator/AbstractRangeValidator.java          |    3 +-
 .../validation/validator/CreditCardValidator.java  |    3 +-
 .../wicket/validation/validator/DateValidator.java |   31 +++---
 .../validation/validator/PatternValidator.java     |    2 +-
 .../validation/validator/RangeValidator.java       |   22 +++--
 .../validation/validator/StringValidator.java      |   12 ++-
 .../wicket/validation/validator/UrlValidator.java  |    3 +-
 .../markup/head/filter/FilteredHeaderPage.java     |   15 +--
 .../wicket/protocol/http/RequestUtilsTest.java     |   74 +++++++++++++
 .../http/mock/MockHttpServletRequestTest.java      |   20 +++-
 .../http/servlet/ServletWebResponseTest.java       |   32 ++++++
 .../resource/aggregator/ResourceReferenceB.java    |   10 +-
 .../resource/aggregator/ResourceReferenceC.java    |    8 +-
 .../aggregator/ResourceReferenceCirc1.java         |   10 +-
 .../aggregator/ResourceReferenceCirc2.java         |   10 +-
 .../resource/aggregator/ResourceReferenceD.java    |    8 +-
 .../apache/wicket/examples/linkomatic/Home.java    |    2 +-
 .../JQueryWicketAtmosphereResourceReference.java   |   10 +-
 .../validation/DefaultPropertyResolverTest.java    |    2 +-
 .../org/apache/wicket/bootstrap/Bootstrap.java     |   17 ++-
 .../org/apache/wicket/examples/base/Examples.java  |    9 +-
 .../wicket/examples/base/prettify/Prettify.java    |   10 +-
 .../WicketWebSocketJQueryResourceReference.java    |    8 +-
 .../RfcCompliantEmailAddressValidator.java         |    3 +-
 wicket-ioc/pom.xml                                 |    6 +-
 .../injection/CompoundFieldValueFactoryTest.java   |   13 ++-
 .../main/java/org/apache/wicket/request/Url.java   |   41 +++++---
 .../apache/wicket/request/http/WebResponse.java    |   31 +++++-
 .../java/org/apache/wicket/request/UrlTest.java    |   32 +++---
 wicket-spring/pom.xml                              |    2 +-
 .../wicket/spring/test/ApplicationContextMock.java |   14 +++-
 .../convert/converter/AbstractDateConverter.java   |   68 ++++++++++++
 .../util/convert/converter/DateConverter.java      |   52 +---------
 .../util/convert/converter/SqlDateConverter.java   |   81 +--------------
 .../util/convert/converter/SqlTimeConverter.java   |   44 ++-------
 .../convert/converter/SqlTimestampConverter.java   |   61 ++---------
 52 files changed, 599 insertions(+), 419 deletions(-)
----------------------------------------------------------------------



[04/27] 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/wicket-4774
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);
 				}
 			}
 		}