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 2014/08/11 12:13:51 UTC

[3/3] git commit: WICKET-5539 Incorrect recreation of page in case of PageExpire

WICKET-5539 Incorrect recreation of page in case of PageExpire

Add javadoc and method to read all named parameters with a given type


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

Branch: refs/heads/5539-named-parameters-type
Commit: e8773fb18da2d763d62a2857335b3c73d491d064
Parents: 5f0e63c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Aug 11 11:59:55 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Aug 11 12:11:25 2014 +0200

----------------------------------------------------------------------
 .../mapper/parameter/INamedParameters.java      | 19 +++++++
 .../mapper/parameter/PageParameters.java        | 53 ++++++++++----------
 2 files changed, 46 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e8773fb1/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java
index f09874d..288cd7c 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java
@@ -31,12 +31,24 @@ import org.apache.wicket.util.string.StringValue;
  */
 public interface INamedParameters
 {
+	/**
+	 * A hint where the parameter is read from.
+	 */
 	enum Type
 	{
+		/**
+		 * The named parameter is set manually in the application code
+		 */
 		MANUAL,
 
+		/**
+		 * The named parameter is read/parsed from the query string
+		 */
 		QUERY_STRING,
 
+		/**
+		 * The named parameter is read/parsed from the url path
+		 */
 		PATH
 	}
 
@@ -145,6 +157,13 @@ public interface INamedParameters
 	List<NamedPair> getAllNamed();
 
 	/**
+	 * @param type
+	 *          The type to filter
+	 * @return All named parameters with the given type. If the type is {@code null} then returns all named parameters.
+	 */
+	List<NamedPair> getAllNamedByType(Type type);
+
+	/**
 	 * Returns the position of a named parameter.
 	 * 
 	 * @param name

http://git-wip-us.apache.org/repos/asf/wicket/blob/e8773fb1/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
index 0b6e7fb..357e91a 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java
@@ -55,7 +55,7 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 	private List<NamedPair> namedParameters;
 
 	/**
-	 * Construct.
+	 * Constructor.
 	 */
 	public PageParameters()
 	{
@@ -65,6 +65,7 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 	 * Copy constructor.
 	 * 
 	 * @param copy
+	 *          The parameters to copy from
 	 */
 	public PageParameters(final PageParameters copy)
 	{
@@ -110,9 +111,6 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 		return this;
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.IIndexedParameters#get(int)
-	 */
 	@Override
 	public StringValue get(final int index)
 	{
@@ -126,9 +124,6 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 		return StringValue.valueOf((String)null);
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.IIndexedParameters#remove(int)
-	 */
 	@Override
 	public PageParameters remove(final int index)
 	{
@@ -142,9 +137,6 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 		return this;
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.INamedParameters#getNamedKeys()
-	 */
 	@Override
 	public Set<String> getNamedKeys()
 	{
@@ -160,9 +152,6 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 		return Collections.unmodifiableSet(set);
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.INamedParameters#get(java.lang.String)
-	 */
 	@Override
 	public StringValue get(final String name)
 	{
@@ -181,9 +170,6 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 		return StringValue.valueOf((String)null);
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.INamedParameters#getValues(java.lang.String)
-	 */
 	@Override
 	public List<StringValue> getValues(final String name)
 	{
@@ -207,18 +193,35 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 		}
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.INamedParameters#getAllNamed()
-	 */
 	@Override
 	public List<NamedPair> getAllNamed()
 	{
 		return namedParameters != null ? Collections.unmodifiableList(namedParameters) : Collections.<NamedPair>emptyList();
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.INamedParameters#getPosition(String)
-	 */
+
+	@Override
+	public List<NamedPair> getAllNamedByType(Type type)
+	{
+		List<NamedPair> allNamed = getAllNamed();
+		if (type == null || allNamed.isEmpty())
+		{
+			return allNamed;
+		}
+
+		List<NamedPair> parametersByType = new ArrayList<>();
+		Iterator<NamedPair> iterator = allNamed.iterator();
+		while (iterator.hasNext())
+		{
+			NamedPair pair = iterator.next();
+			if (type == pair.getType())
+			{
+				parametersByType.add(pair);
+			}
+		}
+		return Collections.unmodifiableList(parametersByType);
+	}
+
 	@Override
 	public int getPosition(final String name)
 	{
@@ -238,10 +241,6 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 		return index;
 	}
 
-	/**
-	 * @see org.apache.wicket.request.mapper.parameter.INamedParameters#remove(java.lang.String,
-	 *      java.lang.String...)
-	 */
 	@Override
 	public PageParameters remove(final String name, final String... values)
 	{
@@ -441,7 +440,9 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP
 	 * Compares two {@link PageParameters} objects.
 	 * 
 	 * @param p1
+	 *          The first parameters
 	 * @param p2
+	 *          The second parameters
 	 * @return <code>true</code> if the objects are equal, <code>false</code> otherwise.
 	 */
 	public static boolean equals(final PageParameters p1, final PageParameters p2)