You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mo...@apache.org on 2015/11/29 17:05:27 UTC

[01/33] wicket git commit: WICKET-6029 Make Border's methods consistent with commit f14e03f

Repository: wicket
Updated Branches:
  refs/heads/lambdas dd3209350 -> 6d7494022


WICKET-6029 Make Border's methods consistent with commit f14e03f


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

Branch: refs/heads/lambdas
Commit: d22b004afa01c31a117a65d9e7669d6c9cd64836
Parents: 6d88caf
Author: Andrea Del Bene <ad...@apache.org>
Authored: Mon Nov 9 22:41:38 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Mon Nov 9 22:59:43 2015 +0100

----------------------------------------------------------------------
 .../wicket/markup/html/border/Border.java       | 43 +++++++++++++++++---
 1 file changed, 37 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d22b004a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
index 5125bd5..322b507 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java
@@ -221,7 +221,19 @@ public abstract class Border extends WebMarkupContainer implements IComponentRes
 	@Override
 	public Border addOrReplace(final Component... children)
 	{
-		getBodyContainer().addOrReplace(children);
+		for (Component component : children)
+		{
+			if (component == body)
+			{
+				// in this case we do not want to redirect to body
+				// container but to border's old remove.
+				super.addOrReplace(component);
+			}
+			else 
+			{
+				getBodyContainer().addOrReplace(component);				
+			}
+		}
 		return this;
 	}
 
@@ -230,10 +242,9 @@ public abstract class Border extends WebMarkupContainer implements IComponentRes
 	{
 		if (component == body)
 		{
-			// when the user calls foo.add(getBodyContainer()) this method will be called with it to
-			// clear body container's old parent, in which case we do not want to redirect to body
+			// in this case we do not want to redirect to body
 			// container but to border's old remove.
-			super.remove(body);
+			removeFromBorder(component);
 		}
 		else
 		{
@@ -242,10 +253,21 @@ public abstract class Border extends WebMarkupContainer implements IComponentRes
 		return this;
 	}
 
+	
+	
 	@Override
 	public Border remove(final String id)
 	{
-		getBodyContainer().remove(id);
+		if (body.getId().equals(id))
+		{
+			// in this case we do not want to redirect to body
+			// container but to border's old remove.
+			super.remove(id);
+		}
+		else
+		{
+			getBodyContainer().remove(id);
+		}
 		return this;
 	}
 
@@ -259,7 +281,16 @@ public abstract class Border extends WebMarkupContainer implements IComponentRes
 	@Override
 	public Border replace(final Component replacement)
 	{
-		getBodyContainer().replace(replacement);
+		if (body.getId().equals(replacement.getId()))
+		{
+			// in this case we do not want to redirect to body
+			// container but to border's old remove.
+			replaceInBorder(replacement);
+		}
+		else
+		{
+			getBodyContainer().replace(replacement);
+		}
 		return this;
 	}
 


[23/33] wicket git commit: WICKET-6028 Detach called on enclosure component while it had a non-empty queue

Posted by mo...@apache.org.
WICKET-6028 Detach called on enclosure component while it had a non-empty queue


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

Branch: refs/heads/lambdas
Commit: 2342406bda57943d4c3deef951c90c2ae776191b
Parents: fee1ff6
Author: Andrea Del Bene <ad...@apache.org>
Authored: Thu Nov 19 14:12:47 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Thu Nov 19 17:04:40 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/Application.java     |   1 -
 .../java/org/apache/wicket/MarkupContainer.java | 116 ++++++++++++-------
 .../org/apache/wicket/markup/WicketTag.java     |   4 +-
 .../parser/filter/WicketTagIdentifier.java      |  28 ++++-
 4 files changed, 104 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2342406b/wicket-core/src/main/java/org/apache/wicket/Application.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Application.java b/wicket-core/src/main/java/org/apache/wicket/Application.java
index db413a6..bc5734c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Application.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Application.java
@@ -813,7 +813,6 @@ public abstract class Application implements UnboundListener, IEventSink
 		PageSettings pageSettings = getPageSettings();
 
 		// Install default component resolvers
-		pageSettings.addComponentResolver(new MarkupInheritanceResolver());
 		pageSettings.addComponentResolver(new HtmlHeaderResolver());
 		pageSettings.addComponentResolver(new WicketLinkTagHandler());
 		pageSettings.addComponentResolver(new WicketMessageResolver());

http://git-wip-us.apache.org/repos/asf/wicket/blob/2342406b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
index 8d08b77..916b994 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -1471,59 +1471,97 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 			else if (tag.getFlag(ComponentTag.RENDER_RAW))
 			{
 				// No component found, but "render as raw markup" flag found
-				getResponse().write(element.toCharSequence());
+				if (canRenderRawTag(tag))
+				{					
+					getResponse().write(element.toCharSequence());
+				} 
 				return true;
 			}
 			else
 			{
-				if (tag instanceof WicketTag)
-				{
-					if (((WicketTag)tag).isChildTag())
-					{
-						markupStream.throwMarkupException("Found " + tag.toString() +
-							" but no <wicket:extend>. Container: " + toString());
-					}
-					else
-					{
-						markupStream.throwMarkupException("Failed to handle: " +
-							tag.toString() +
-							". It might be that no resolver has been registered to handle this special tag. " +
-							" But it also could be that you declared wicket:id=" + id +
-							" in your markup, but that you either did not add the " +
-							"component to your page at all, or that the hierarchy does not match. " +
-							"Container: " + toString());
-					}
-				}
-
-				List<String> names = findSimilarComponents(id);
-
-				// No one was able to handle the component id
-				StringBuilder msg = new StringBuilder(500);
-				msg.append("Unable to find component with id '");
-				msg.append(id);
-				msg.append("' in ");
-				msg.append(this.toString());
-				msg.append("\n\tExpected: '");
-				msg.append(getPageRelativePath());
-				msg.append(PATH_SEPARATOR);
-				msg.append(id);
-				msg.append("'.\n\tFound with similar names: '");
-				msg.append(Strings.join("', ", names));
-				msg.append('\'');
-
-				log.error(msg.toString());
-				markupStream.throwMarkupException(msg.toString());
+				throwException(markupStream, tag);
 			}
 		}
 		else
 		{
 			// Render as raw markup
-			getResponse().write(element.toCharSequence());
+			if (canRenderRawTag(element))
+			{
+				getResponse().write(element.toCharSequence());
+			}
 			return true;
 		}
 
 		return false;
 	}
+	
+	/**
+	 * Says if the given tag can be handled as a raw markup.
+	 * 
+	 * @param tag
+	 * 			the current tag.
+	 * @return true if the tag can be handled as raw markup, false otherwise.
+	 */
+	private boolean canRenderRawTag(MarkupElement tag)
+	{
+		boolean isWicketTag = tag instanceof WicketTag;
+		
+		boolean stripTag = isWicketTag ? Application.get().getMarkupSettings().getStripWicketTags() : false; 
+		
+		return !stripTag;
+	}
+	
+	/**
+	 * Throws a {@code org.apache.wicket.markup.MarkupException} when the
+	 * component markup is not consistent.
+	 * 
+	 * @param markupStream
+	 * 			the source stream for the component markup.
+	 * @param tag
+	 * 			the tag that can not be handled.
+	 */
+	private void throwException(final MarkupStream markupStream, final ComponentTag tag)
+	{
+		final String id = tag.getId();
+		
+		if (tag instanceof WicketTag)
+		{
+			if (((WicketTag)tag).isChildTag())
+			{
+				markupStream.throwMarkupException("Found " + tag.toString() +
+					" but no <wicket:extend>. Container: " + toString());
+			}
+			else
+			{
+				markupStream.throwMarkupException("Failed to handle: " +
+					tag.toString() +
+					". It might be that no resolver has been registered to handle this special tag. " +
+					" But it also could be that you declared wicket:id=" + id +
+					" in your markup, but that you either did not add the " +
+					"component to your page at all, or that the hierarchy does not match. " +
+					"Container: " + toString());
+			}
+		}
+
+		List<String> names = findSimilarComponents(id);
+
+		// No one was able to handle the component id
+		StringBuilder msg = new StringBuilder(500);
+		msg.append("Unable to find component with id '");
+		msg.append(id);
+		msg.append("' in ");
+		msg.append(this.toString());
+		msg.append("\n\tExpected: '");
+		msg.append(getPageRelativePath());
+		msg.append(PATH_SEPARATOR);
+		msg.append(id);
+		msg.append("'.\n\tFound with similar names: '");
+		msg.append(Strings.join("', ", names));
+		msg.append('\'');
+
+		log.error(msg.toString());
+		markupStream.throwMarkupException(msg.toString());
+	}
 
 	private List<String> findSimilarComponents(final String id)
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/2342406b/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java b/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
index 67f96f2..8cb9cf1 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
@@ -205,8 +205,8 @@ public class WicketTag extends ComponentTag
 		else
 		{
 			final WicketTag tag = new WicketTag(xmlTag.mutable());
-			tag.setId(getId());
-			tag.setAutoComponentTag(isAutoComponentTag());
+			copyPropertiesTo(tag);
+
 			return tag;
 		}
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2342406b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
index c39faea..4834973 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
@@ -53,6 +53,8 @@ public final class WicketTagIdentifier extends AbstractMarkupFilter
 {
 	/** List of well known wicket tag names */
 	private static final Set<String> WELL_KNOWN_TAG_NAMES = new HashSet<>();
+	/** List of raw wicket tag names */
+	private static final Set<String> RAW_TAG_NAMES = new HashSet<>();
 
 	static {
 		WELL_KNOWN_TAG_NAMES.add(Border.BORDER);
@@ -70,6 +72,11 @@ public final class WicketTagIdentifier extends AbstractMarkupFilter
 		WELL_KNOWN_TAG_NAMES.add(WicketContainerResolver.CONTAINER);
 		WELL_KNOWN_TAG_NAMES.add(WicketMessageResolver.MESSAGE);
 	}
+	
+	static {
+		RAW_TAG_NAMES.add(MarkupInheritanceResolver.CHILD);
+		RAW_TAG_NAMES.add(MarkupInheritanceResolver.EXTEND);
+	}
 
 	/**
 	 * Construct.
@@ -109,14 +116,18 @@ public final class WicketTagIdentifier extends AbstractMarkupFilter
 
 			if (Strings.isEmpty(wicketIdValue))
 			{
-				// Make it a Wicket component. Otherwise it would be RawMarkup
+				// Make it a Wicket component.
 				tag.setId(namespace + "_" + tag.getName() + getRequestUniqueId());
 				tag.setModified(true);
 
-				if (tag.isClose() == false)
+				if (isRaw(tag)) 
 				{
-					tag.setAutoComponentTag(true);
+					tag.setFlag(ComponentTag.RENDER_RAW, true);
 				}
+				else if (tag.isClose() == false)
+				{
+					tag.setAutoComponentTag(true);
+				}				
 			}
 
 			// If the tag is not a well-known wicket namespace tag
@@ -165,4 +176,15 @@ public final class WicketTagIdentifier extends AbstractMarkupFilter
 		String lowerCaseTagName = tag.getName().toLowerCase(Locale.ENGLISH);
 		return WELL_KNOWN_TAG_NAMES.contains(lowerCaseTagName);
 	}
+
+	/**
+	 * 
+	 * @param tag
+	 * @return true, if tag must be raw
+	 */
+	private boolean isRaw(final ComponentTag tag)
+	{
+		String lowerCaseTagName = tag.getName().toLowerCase(Locale.ENGLISH);
+		return RAW_TAG_NAMES.contains(lowerCaseTagName);
+	}
 }


[03/33] wicket git commit: WICKET-6025 - Guide information

Posted by mo...@apache.org.
WICKET-6025 - Guide information

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

Branch: refs/heads/lambdas
Commit: 490fdf67646f1b987c2c1065a3fa6c55f6c5b338
Parents: a30bff2
Author: Tobias Soloschenko <ts...@apache.org>
Authored: Sat Nov 14 09:19:55 2015 +0100
Committer: Tobias Soloschenko <ts...@apache.org>
Committed: Sat Nov 14 09:19:55 2015 +0100

----------------------------------------------------------------------
 .../src/docs/guide/resources/resources_15.gdoc  | 20 +++++++++++++++++---
 .../src/docs/guide/resources/resources_16.gdoc  |  7 +++++++
 wicket-user-guide/src/docs/guide/toc.yml        |  3 ++-
 3 files changed, 26 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/490fdf67/wicket-user-guide/src/docs/guide/resources/resources_15.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources/resources_15.gdoc b/wicket-user-guide/src/docs/guide/resources/resources_15.gdoc
index f522ac9..b3b4582 100644
--- a/wicket-user-guide/src/docs/guide/resources/resources_15.gdoc
+++ b/wicket-user-guide/src/docs/guide/resources/resources_15.gdoc
@@ -1,7 +1,21 @@
+The FileSystemResourceRenference comes along with the FileSystemResource, FileSystemResourceStreamReference and the FileSystemResourceStream. Those classes provide a simple way to handle resources with Java's NIO API in Wicket starting from JDK version 7.0. (Available since Wicket 7.2.0 / Wicket 8.0.0)
 
+Example: To include a resource which is zipped into a file and located in a specific folder in the file system you can simply write code like this:
 
-In this chapter we have learnt how to manage resources with the built-in mechanism provided by Wicket. With this mechanism we handle resources from Java code and Wicket will automatically take care of generating a valid URL for them. We have also seen how resources can be bundled as package resources with a component that depends on them to make it self-contained.
+Java:
+{code}
+URI uri = URI.create("jar:file:///videosFolder/videos.zip!/folderInZip/Video.mp4");
+Path path = FileSystemResourceReference.getPath(uri);
+FileSystemResourceReference ref = new FileSystemResourceReference("video",path);
+Video video = new Video("video",ref);
+add(vide);
+{code}
 
-Then, in the second part of the chapter, we have built a custom resource and we have learnt how to mount it to an arbitrary URL and how to make it globally available as shared resource.
+HTML:
+{code}
+<video wicket:id="video"/>
+{code}
 
-Finally, in the last part of the paragraph we took a peek at the mechanism provided by the framework to customize the locations where the resource-lookup algorithm searches for resources. 
\ No newline at end of file
+Further FileSystemProviders and the corresponding FileSystems can be implemented as described here:
+
+[http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprovider.html|http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/filesystemprovider.html]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/490fdf67/wicket-user-guide/src/docs/guide/resources/resources_16.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/resources/resources_16.gdoc b/wicket-user-guide/src/docs/guide/resources/resources_16.gdoc
new file mode 100644
index 0000000..f522ac9
--- /dev/null
+++ b/wicket-user-guide/src/docs/guide/resources/resources_16.gdoc
@@ -0,0 +1,7 @@
+
+
+In this chapter we have learnt how to manage resources with the built-in mechanism provided by Wicket. With this mechanism we handle resources from Java code and Wicket will automatically take care of generating a valid URL for them. We have also seen how resources can be bundled as package resources with a component that depends on them to make it self-contained.
+
+Then, in the second part of the chapter, we have built a custom resource and we have learnt how to mount it to an arbitrary URL and how to make it globally available as shared resource.
+
+Finally, in the last part of the paragraph we took a peek at the mechanism provided by the framework to customize the locations where the resource-lookup algorithm searches for resources. 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/490fdf67/wicket-user-guide/src/docs/guide/toc.yml
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/toc.yml b/wicket-user-guide/src/docs/guide/toc.yml
index b0489c1..33055b3 100644
--- a/wicket-user-guide/src/docs/guide/toc.yml
+++ b/wicket-user-guide/src/docs/guide/toc.yml
@@ -130,7 +130,8 @@ resources:
   resources_12: Shared resources
   resources_13: Customizing resource loading
   resources_14: CssHeaderItem and JavaScriptHeaderItem compression
-  resources_15: Summary
+  resources_15: NIO resources
+  resources_16: Summary
 jsintegration:
   title: An example of integration with JavaScript
   jsintegration_1: What we want to do...


[24/33] wicket git commit: removed Eclipse launch file for core module

Posted by mo...@apache.org.
removed Eclipse launch file for core module


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

Branch: refs/heads/lambdas
Commit: 47ae79c02d9e19f32efea92e7a5bd1336cb890f9
Parents: 2342406
Author: Andrea Del Bene <ad...@apache.org>
Authored: Thu Nov 19 17:18:40 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Thu Nov 19 17:18:40 2015 +0100

----------------------------------------------------------------------
 .gitignore                        |  1 +
 wicket-core/Wicket - Tests.launch | 18 ------------------
 2 files changed, 1 insertion(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/47ae79c0/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 1143e4a..a30f497 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ release.properties
 **/node_modules/
 nb-configuration.xml
 .DS_Store
+**.launch

http://git-wip-us.apache.org/repos/asf/wicket/blob/47ae79c0/wicket-core/Wicket - Tests.launch
----------------------------------------------------------------------
diff --git a/wicket-core/Wicket - Tests.launch b/wicket-core/Wicket - Tests.launch
deleted file mode 100644
index c6920c8..0000000
--- a/wicket-core/Wicket - Tests.launch	
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
-<stringAttribute key="bad_container_name" value="\wicket\regenerate-tests"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/wicket/src/test/java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="2"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=wicket/src\/test\/java"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="wicket"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
-</launchConfiguration>


[33/33] wicket git commit: Merge remote-tracking branch 'origin/master' into lambdas

Posted by mo...@apache.org.
Merge remote-tracking branch 'origin/master' into lambdas


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

Branch: refs/heads/lambdas
Commit: 6d749402233e5c882be56d3e4604efd8efe1ab19
Parents: dd32093 d3abc0e
Author: Michael Mosmann <mo...@apache.org>
Authored: Sun Nov 29 16:54:13 2015 +0100
Committer: Michael Mosmann <mo...@apache.org>
Committed: Sun Nov 29 16:54:13 2015 +0100

----------------------------------------------------------------------
 .gitignore                                      |   1 +
 pom.xml                                         |   2 +-
 .../deployment/AbstractDeploymentTest.java      |   2 +-
 .../src/test/resources/arquillian.xml           |   3 +-
 testing/wicket-js-tests/pom.xml                 |   4 +-
 wicket-core/Wicket - Tests.launch               |  18 --
 .../java/org/apache/wicket/Application.java     |   2 -
 .../main/java/org/apache/wicket/Component.java  |   2 +-
 .../java/org/apache/wicket/MarkupContainer.java | 130 +++++----
 ...AjaxFormChoiceComponentUpdatingBehavior.java |  22 +-
 .../AjaxFormChoiceComponentUpdatingBehavior.js  |  71 -----
 .../wicket/ajax/res/js/wicket-ajax-jquery.js    |   1 -
 .../util/objects/checker/IObjectChecker.java    |   4 +-
 .../org/apache/wicket/markup/MarkupParser.java  |   2 -
 .../org/apache/wicket/markup/WicketTag.java     |  10 +-
 .../html/TransparentWebMarkupContainer.java     |   4 +-
 .../wicket/markup/html/border/Border.java       |  43 ++-
 .../wicket/markup/html/list/ListItem.java       |  10 +-
 .../wicket/markup/html/list/ListView.java       |   2 +-
 .../panel/AbstractMarkupSourcingStrategy.java   | 117 ++++++--
 .../parser/filter/ConditionalCommentFilter.java | 264 -------------------
 .../markup/parser/filter/HtmlHandler.java       |   2 +-
 .../parser/filter/WicketTagIdentifier.java      |  37 ++-
 .../markup/resolver/AutoLinkResolver.java       |   3 -
 .../resolver/MarkupInheritanceResolver.java     |  66 -----
 .../wicket/model/IObjectClassAwareModel.java    |   2 +-
 .../java/org/apache/wicket/model/Model.java     |   8 +-
 .../wicket/model/util/GenericBaseModel.java     |  10 +-
 .../wicket/pageStore/memory/PageTable.java      |   6 +
 .../servlet/MultipartServletWebRequestImpl.java |   5 +-
 .../http/servlet/ServletPartFileItem.java       |   6 +-
 .../wicket/request/cycle/RequestCycle.java      |  30 +++
 .../resource/PackageResourceReference.java      |  34 ++-
 .../html/TransparentWebMarkupContainerTest.java |  43 +++
 .../wicket/markup/html/list/ListViewTest.java   |   2 +-
 .../wicket/queueing/ComponentQueueingTest.java  |  11 +-
 .../wicket/queueing/IncorrectCloseTagPanel.html |   7 +
 .../wicket/queueing/IncorrectCloseTagPanel.java |  31 +++
 .../resource/PackageResourceReferenceTest.java  |  19 ++
 .../locator/ResourceNameIteratorTest.java       |   2 +-
 .../ajax/markup/html/modal/ModalWindow.java     |  30 +--
 .../markup/html/form/select/SelectOptions.java  |   9 +-
 .../wicket/request/RequestHandlerStack.java     |   4 +
 .../src/docs/guide/resources/resources_15.gdoc  |  20 +-
 .../src/docs/guide/resources/resources_16.gdoc  |   7 +
 wicket-user-guide/src/docs/guide/toc.yml        |   3 +-
 46 files changed, 516 insertions(+), 595 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6d749402/pom.xml
----------------------------------------------------------------------


[05/33] wicket git commit: WICKET-6017 Tests fail when executed with not expected locale

Posted by mo...@apache.org.
WICKET-6017 Tests fail when executed with not expected locale

Use a random locale that has both a country and a language


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

Branch: refs/heads/lambdas
Commit: e8b874f8d6a23ef419396412815b5b2742e5fca2
Parents: e4399d7
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sat Nov 14 11:21:59 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sat Nov 14 11:22:59 2015 +0100

----------------------------------------------------------------------
 .../wicket/util/resource/locator/ResourceNameIteratorTest.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e8b874f8/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java b/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
index 8816e31..6c804b1 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/resource/locator/ResourceNameIteratorTest.java
@@ -151,7 +151,7 @@ public class ResourceNameIteratorTest extends WicketTestCase
 		String path = "patch.extension";
 		String style = null;
 		String var = "var";
-		Locale locale = Locale.getDefault();
+		Locale locale = Locale.CANADA_FRENCH;
 		Iterable<String> extensions = null;
 		boolean strict = false;
 		Iterator<String> iterator = new ResourceNameIterator(path, style, var, locale, extensions, strict);


[29/33] wicket git commit: Javadoc fix - remove obsolete parameter

Posted by mo...@apache.org.
Javadoc fix - remove obsolete parameter

Remove unused local variable


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

Branch: refs/heads/lambdas
Commit: 9dbfaacbbb24396a6a0d657a71c25249e454c485
Parents: 45bc068
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Nov 26 12:45:12 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Nov 26 12:46:03 2015 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/markup/resolver/AutoLinkResolver.java  | 3 ---
 1 file changed, 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/9dbfaacb/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
index cbd2f1f..acb5c7c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
@@ -868,15 +868,12 @@ public final class AutoLinkResolver implements IComponentResolver
 	 * 
 	 * @param pathInfo
 	 *            The container where the link is
-	 * @param id
-	 *            the name of the component
 	 * @param tag
 	 *            the component tag
 	 * @return A BookmarkablePageLink<?> to handle the href
 	 */
 	private Component resolveAutomaticLink(final PathInfo pathInfo, final ComponentTag tag)
 	{
-		final MarkupContainer container = pathInfo.getContainer();
 		final String componentId = tag.getId();
 
 		// get the tag name, which is something like 'a' or 'script'


[14/33] wicket git commit: missing license header

Posted by mo...@apache.org.
missing license header


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

Branch: refs/heads/lambdas
Commit: 84422725743b6269e1b89af9d6b8aeb290fb9897
Parents: 95cb763
Author: Emond Papegaaij <em...@topicus.nl>
Authored: Tue Nov 17 09:02:36 2015 +0100
Committer: Emond Papegaaij <em...@topicus.nl>
Committed: Tue Nov 17 09:04:02 2015 +0100

----------------------------------------------------------------------
 .../wicket/queueing/IncorrectCloseTagPanel.java     | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/84422725/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java b/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java
index db19114..1e4c477 100644
--- a/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.wicket.queueing;
 
 import org.apache.wicket.markup.html.basic.Label;


[07/33] wicket git commit: WICKET-6002 FileUploadField makes form-component models become null on submit

Posted by mo...@apache.org.
WICKET-6002 FileUploadField makes form-component models become null on submit

Use the Part's content type to decide whether it is a fileupload or standard form field.


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

Branch: refs/heads/lambdas
Commit: d2db957866a8a24450c23dcb8c1fd27ec49c41ab
Parents: 374865e
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sat Nov 14 13:43:47 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sat Nov 14 13:43:47 2015 +0100

----------------------------------------------------------------------
 .../wicket/protocol/http/servlet/ServletPartFileItem.java      | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d2db9578/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java
index c38de71..736927b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java
@@ -43,6 +43,7 @@ class ServletPartFileItem implements FileItem
 	 * The adapted part
 	 */
 	private final Part part;
+	private final boolean isFormField;
 
 	/**
 	 * Constructor
@@ -51,6 +52,9 @@ class ServletPartFileItem implements FileItem
 	{
 		Args.notNull(part, "part");
 		this.part = part;
+
+		String contentType = part.getContentType();
+		this.isFormField = contentType == null;
 	}
 
 	@Override
@@ -164,7 +168,7 @@ class ServletPartFileItem implements FileItem
 	@Override
 	public boolean isFormField()
 	{
-		return false;
+		return isFormField;
 	}
 
 	@Override


[16/33] wicket git commit: allow markup inside title via #setEscapeModelStrings()

Posted by mo...@apache.org.
allow markup inside title via #setEscapeModelStrings()


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

Branch: refs/heads/lambdas
Commit: dffba2ce410ec7e917ad350d3528af4df67bc348
Parents: 497a5d6
Author: Sven Meier <sv...@apache.org>
Authored: Wed Nov 18 19:18:47 2015 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Wed Nov 18 19:26:25 2015 +0100

----------------------------------------------------------------------
 .../ajax/markup/html/modal/ModalWindow.java     | 30 ++++++--------------
 1 file changed, 8 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/dffba2ce/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
index a551eda..12592ff 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
@@ -42,7 +42,6 @@ import org.apache.wicket.resource.CoreLibrariesContributor;
 import org.apache.wicket.util.io.IClusterable;
 import org.apache.wicket.util.lang.EnumeratedType;
 import org.apache.wicket.util.string.AppendingStringBuffer;
-import org.apache.wicket.util.string.Strings;
 
 /**
  * Modal window component.
@@ -74,8 +73,11 @@ import org.apache.wicket.util.string.Strings;
  * <code>{@link #close(IPartialPageRequestHandler)})</code>, you can use
  * <code>{@link #setWindowClosedCallback(ModalWindow.WindowClosedCallback)}</code>.
  * <p>
- * Title is specified using {@link #setTitle(String)}. If the content is a page (iframe), the title
- * can remain unset, in that case title from the page inside window will be shown.
+ * Title is specified using {@link #setTitle(String)}. Pass <code>true</code> to
+ * <code>{@link #setEscapeModelStrings(boolean)}</code> to use unencoded markup in the title.
+ * <br>
+ * If the content is a page (iframe), the title can remain unset, in that case title from the page
+ * inside window will be shown.
  * <p>
  * There are several options to specify the visual properties of the window. In all methods where
  * size is expected, width refers to width of entire window (including frame), height refers to the
@@ -1016,23 +1018,6 @@ public class ModalWindow extends Panel
 	}
 
 	/**
-	 * Replaces all occurrences of " in string with \".
-	 * 
-	 * @param string
-	 *            String to be escaped.
-	 * 
-	 * @return escaped string
-	 */
-	private String escapeQuotes(String string)
-	{
-		if (string.indexOf('"') != -1)
-		{
-			string = Strings.replaceAll(string, "\"", "\\\"").toString();
-		}
-		return string;
-	}
-
-	/**
 	 * Returns the javascript used to open the window. Subclass
 	 * {@link #postProcessSettings(AppendingStringBuffer)} to modify the JavaScript if needed.
 	 * 
@@ -1108,10 +1093,11 @@ public class ModalWindow extends Panel
 			appendAssignment(buffer, "settings.cookieId", getCookieName());
 		}
 
-		Object title = getTitle() != null ? getTitle().getObject() : null;
+		String title = getTitle() != null ? getTitle().getObject() : null;
 		if (title != null)
 		{
-			appendAssignment(buffer, "settings.title", escapeQuotes(title.toString()));
+			String escaped = getDefaultModelObjectAsString(title);
+			appendAssignment(buffer, "settings.title", escaped);
 		}
 
 		if (getMaskType() == MaskType.TRANSPARENT)


[22/33] wicket git commit: improved javadoc for #setRecreateChoices()

Posted by mo...@apache.org.
improved javadoc for #setRecreateChoices()


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

Branch: refs/heads/lambdas
Commit: fee1ff669b3cd2516737944c911fe241757b2601
Parents: 62415d6
Author: Sven Meier <sv...@apache.org>
Authored: Thu Nov 19 13:57:26 2015 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Thu Nov 19 13:57:36 2015 +0100

----------------------------------------------------------------------
 .../extensions/markup/html/form/select/SelectOptions.java   | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/fee1ff66/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
index 12cfed3..e0d338e 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
@@ -79,11 +79,12 @@ public class SelectOptions<T> extends RepeatingView
 	}
 
 	/**
-	 * Controls whether {@link SelectOption}s are recreated on every request
+	 * Controls whether {@link SelectOption}s are recreated on each render.
 	 * <p>
-	 * Note: When refreshing on each render, {@link #newOption(String, IModel)} should return
-	 * {@link SelectOption}s with stable values, otherwise the current selection will be lost on
-	 * form errors.
+	 * Note: When recreating on each render, {@link #newOption(String, IModel)} should return
+	 * {@link SelectOption}s with stable values, i.e. {@link SelectOption#getValue()} should
+	 * return a value based on its model object instead of the default auto index.
+	 * Otherwise the current selection will be lost on form errors.
 	 * 
 	 * @param refresh
 	 * @return this for chaining


[31/33] wicket git commit: WICKET-6043 Cannot set wicket:enclosure on queued component in ListView

Posted by mo...@apache.org.
WICKET-6043 Cannot set wicket:enclosure on queued component in ListView


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

Branch: refs/heads/lambdas
Commit: a5917fd7d35ed03c877f649924f91456979011c9
Parents: 4f0cb47
Author: Andrea Del Bene <ad...@apache.org>
Authored: Fri Nov 27 18:27:32 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Fri Nov 27 18:27:32 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/markup/html/list/ListItem.java | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/a5917fd7/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java
index 68565a5..46c0824 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListItem.java
@@ -16,7 +16,9 @@
  */
 package org.apache.wicket.markup.html.list;
 
+import org.apache.wicket.DequeueContext;
 import org.apache.wicket.IGenericComponent;
+import org.apache.wicket.IQueueRegion;
 import org.apache.wicket.model.IModel;
 
 /**
@@ -28,7 +30,7 @@ import org.apache.wicket.model.IModel;
  * @param <T>
  *            Model object type
  */
-public class ListItem<T> extends LoopItem implements IGenericComponent<T>
+public class ListItem<T> extends LoopItem implements IGenericComponent<T>,  IQueueRegion
 {
 	private static final long serialVersionUID = 1L;
 
@@ -97,4 +99,10 @@ public class ListItem<T> extends LoopItem implements IGenericComponent<T>
 	{
 		setDefaultModelObject(object);
 	}
+	
+	@Override
+	public DequeueContext newDequeueContext()
+	{
+		return new DequeueContext(getMarkup(), this, true);
+	}
 }


[32/33] wicket git commit: WICKET-6045 viewSize can not be greater than available size, which is 0 for null

Posted by mo...@apache.org.
WICKET-6045 viewSize can not be greater than available size, which is 0 for null


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

Branch: refs/heads/lambdas
Commit: d3abc0ec0432afedf11f44015cbb3170b49bab7c
Parents: a5917fd
Author: Sven Meier <sv...@apache.org>
Authored: Sat Nov 28 15:22:40 2015 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Sat Nov 28 15:23:08 2015 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/wicket/markup/html/list/ListView.java | 2 +-
 .../test/java/org/apache/wicket/markup/html/list/ListViewTest.java | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d3abc0ec/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
index e179d9e..36c468a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
@@ -218,7 +218,7 @@ public abstract class ListView<T> extends AbstractRepeater
 		final Object modelObject = getDefaultModelObject();
 		if (modelObject == null)
 		{
-			return size == Integer.MAX_VALUE ? 0 : size;
+			return 0;
 		}
 
 		// Adjust view size to model object's list size

http://git-wip-us.apache.org/repos/asf/wicket/blob/d3abc0ec/wicket-core/src/test/java/org/apache/wicket/markup/html/list/ListViewTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/list/ListViewTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/list/ListViewTest.java
index 6c41d6f..451a5a2 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/list/ListViewTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/list/ListViewTest.java
@@ -159,6 +159,6 @@ public class ListViewTest extends WicketTestCase
 		lv.setStartIndex(5);
 		lv.setViewSize(10);
 		assertEquals(0, lv.getStartIndex());
-		assertEquals(10, lv.getViewSize());
+		assertEquals(0, lv.getViewSize());
 	}
 }


[09/33] wicket git commit: WICKET-6027 Nested TransparentWebMarkupContainer, markup of inner component not found

Posted by mo...@apache.org.
WICKET-6027 Nested TransparentWebMarkupContainer, markup of inner
component not found 

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

Branch: refs/heads/lambdas
Commit: 1d654bf6e6be146cd0658d3f4b79f7a044646ea0
Parents: 4385fcc
Author: Andrea Del Bene <ad...@apache.org>
Authored: Sat Nov 14 20:27:53 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Sat Nov 14 20:27:53 2015 +0100

----------------------------------------------------------------------
 .../panel/AbstractMarkupSourcingStrategy.java   | 109 +++++++++++++++----
 .../html/TransparentWebMarkupContainerTest.java |  43 ++++++++
 2 files changed, 132 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/1d654bf6/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
index e576d2b..ce5c1a1 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
@@ -16,7 +16,9 @@
  */
 package org.apache.wicket.markup.html.panel;
 
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
@@ -28,6 +30,8 @@ import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 import org.apache.wicket.util.lang.Classes;
+import org.apache.wicket.util.visit.IVisit;
+import org.apache.wicket.util.visit.IVisitor;
 
 /**
  * Implements boilerplate as needed by many markup sourcing strategies.
@@ -67,38 +71,34 @@ public abstract class AbstractMarkupSourcingStrategy implements IMarkupSourcingS
 	{
 		IMarkupFragment childMarkupFound = null;
 		Iterator<Component> childrenIterator = container.iterator();
-
+		final List<MarkupContainer> componentResolvers = new ArrayList<>();
+		
+		//collect all "transparent" (i.e. component resolvers) children
+		container.visitChildren(IComponentResolver.class, new IVisitor<MarkupContainer, Void>()
+		{
+			@Override
+			public void component(MarkupContainer child, IVisit<Void> visit)
+			{
+				componentResolvers.add(child);
+			}
+		});
+				
 		while (childrenIterator.hasNext() && childMarkupFound == null)
 		{
 			Component sibling = childrenIterator.next();
 
-			if (sibling == child || !sibling.isVisible())
+			if (sibling == child || !sibling.isVisible() || !(sibling instanceof MarkupContainer))
 			{
 				continue;
 			}
 			
 			IMarkupFragment siblingMarkup = containerMarkup.find(sibling.getId());
 			
-			if (siblingMarkup != null && sibling instanceof MarkupContainer)
+			if (siblingMarkup != null)
 			{
-				IMarkupFragment childMarkup  = siblingMarkup.find(child.getId());
-				
-				if (childMarkup != null && sibling instanceof IComponentResolver)
+				if (sibling instanceof IComponentResolver)
 				{
-					IComponentResolver componentResolver = (IComponentResolver)sibling;
-					MarkupStream stream = new MarkupStream(childMarkup);
-					ComponentTag tag = stream.getTag();
-					
-					Component resolvedComponent = sibling.get(tag.getId());
-					if (resolvedComponent == null)
-					{
-						resolvedComponent = componentResolver.resolve((MarkupContainer)sibling, stream, tag);
-					}
-					
-					if (child == resolvedComponent)
-					{
-						childMarkupFound = childMarkup;
-					}
+					childMarkupFound = searchInNestedTransparentResolvers(containerMarkup, child, componentResolvers);
 				}
 				else 
 				{
@@ -106,6 +106,75 @@ public abstract class AbstractMarkupSourcingStrategy implements IMarkupSourcingS
 				}
 			}
 		}
+		
+		return childMarkupFound;
+	}
+	
+	/**
+	 * 
+	 * Search for the markup of a child that might be nested inside
+	 * transparent siblings. For example:
+	 * 
+	 * <pre>
+	 * &lt;div wicket:id=&quot;outerTransparent&quot;&gt;
+	 *	&lt;div wicket:id=&quot;innerTransparent&quot;&gt;
+	 *	 &lt;span wicket:id=&quot;childComponent&quot;&gt;&lt;/span&gt;
+	 *	&lt;/div&gt;
+	 * &lt;/div&gt;
+	 * </pre>
+	 * 
+	 * @param
+	 * 		  containerMarkup
+	 * 			  the markup of the parent container.
+	 * @param child
+	 *            The component to find the markup for.
+	 * @param componentResolvers
+	 * 			  the transparent siblings           
+	 *
+	 * @return the markup fragment for the child, or {@code null}.
+	 */
+	protected IMarkupFragment searchInNestedTransparentResolvers(IMarkupFragment containerMarkup, Component child, 
+		List<MarkupContainer> componentResolvers)
+	{
+		IMarkupFragment childMarkupFound = null;
+		
+		for (MarkupContainer componentResolver : componentResolvers)
+		{
+			IMarkupFragment resolverMarkup = containerMarkup.find(componentResolver.getId());
+			IMarkupFragment childMarkup = resolverMarkup != null ? resolverMarkup.find(child.getId()) : null;
+			
+			if (childMarkup != null)
+			{
+		    	IComponentResolver resolverContainer = (IComponentResolver)componentResolver;
+				MarkupStream stream = new MarkupStream(childMarkup);
+				ComponentTag tag = stream.getTag();
+				
+				Component resolvedComponent = componentResolver.get(tag.getId());
+				if (resolvedComponent == null)
+				{
+					resolvedComponent = resolverContainer.resolve(componentResolver, stream, tag);
+				}
+				
+				if (child == resolvedComponent)
+				{
+					childMarkupFound = childMarkup;
+				}
+			}
+			else if (resolverMarkup != null)
+			{
+				List<MarkupContainer> otherResolvers = new ArrayList<>(componentResolvers);
+				
+				otherResolvers.remove(componentResolver);
+				
+				childMarkupFound = searchInNestedTransparentResolvers(resolverMarkup, child, otherResolvers);
+			}
+
+		    if (childMarkupFound != null)
+			{
+				break;
+			}
+		}
+		
 		return childMarkupFound;
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/1d654bf6/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java
index 41bff97..f9adf4e 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/TransparentWebMarkupContainerTest.java
@@ -19,6 +19,7 @@ package org.apache.wicket.markup.html;
 import org.apache.wicket.Component;
 import org.apache.wicket.IPageManagerProvider;
 import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.Page;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.core.util.lang.WicketObjects;
@@ -249,6 +250,19 @@ public class TransparentWebMarkupContainerTest extends WicketTestCase
 		assertNotNull(scriptTag);
 	}
 	
+	@Test
+	public void nestedTransparentContainer() throws Exception
+	{
+		tester.startPage(TestEmbeddedTransparentMarkupContainer.class);
+		tester.assertRenderedPage(TestEmbeddedTransparentMarkupContainer.class);
+		
+		final Page page = tester.getLastRenderedPage();
+		final Component label = page.get("label");
+		
+		assertEquals(TestEmbeddedTransparentMarkupContainer.LABEL_MARKUP,
+			label.getMarkup().toString(true));
+	}
+	
 	/** */
 	public static class TestPage extends WebPage implements IMarkupResourceStreamProvider
 	{
@@ -379,4 +393,33 @@ public class TransparentWebMarkupContainerTest extends WicketTestCase
 				"</body></html>");
 		}
 	}
+	
+	public static class TestEmbeddedTransparentMarkupContainer extends WebPage implements IMarkupResourceStreamProvider
+	{
+		private static final long serialVersionUID = 1L;
+		
+		public static final String LABEL_MARKUP = "<span wicket:id=\"label\"></span>";
+		
+		/** */
+		public TestEmbeddedTransparentMarkupContainer()
+		{
+			add(new TransparentWebMarkupContainer("outer"));
+			add(new TransparentWebMarkupContainer("inner"));
+			add(new Label("label"));
+		}
+
+		@Override
+		public IResourceStream getMarkupResourceStream(MarkupContainer container,
+			Class<?> containerClass)
+		{
+			return new StringResourceStream("" + //
+				"<html><body>" + //
+				"	<div wicket:id=\"outer\">" + //
+				"		<div wicket:id=\"inner\">" + //
+				"			" + LABEL_MARKUP + //
+				"		</div>" + //
+				"	</div>" + //
+				"</body></html>");
+		}
+	}
 }


[17/33] wicket git commit: Arquillian - Use ports different than the ones in Wicket 7.x branch so BuildBot do not fail due to "port already in use"

Posted by mo...@apache.org.
Arquillian - Use ports different than the ones in Wicket 7.x branch so BuildBot do not fail due to "port already in use"


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

Branch: refs/heads/lambdas
Commit: 600c193f39bd0344ef565a7991f903e99c436c12
Parents: dffba2c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Nov 18 22:50:20 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Nov 18 22:50:20 2015 +0100

----------------------------------------------------------------------
 .../arquillian/testing/deployment/AbstractDeploymentTest.java     | 2 +-
 testing/wicket-arquillian/src/test/resources/arquillian.xml       | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/600c193f/testing/wicket-arquillian/src/test/java/org/apache/wicket/arquillian/testing/deployment/AbstractDeploymentTest.java
----------------------------------------------------------------------
diff --git a/testing/wicket-arquillian/src/test/java/org/apache/wicket/arquillian/testing/deployment/AbstractDeploymentTest.java b/testing/wicket-arquillian/src/test/java/org/apache/wicket/arquillian/testing/deployment/AbstractDeploymentTest.java
index 25ecd7d..7a3e1a2 100644
--- a/testing/wicket-arquillian/src/test/java/org/apache/wicket/arquillian/testing/deployment/AbstractDeploymentTest.java
+++ b/testing/wicket-arquillian/src/test/java/org/apache/wicket/arquillian/testing/deployment/AbstractDeploymentTest.java
@@ -80,7 +80,7 @@ public abstract class AbstractDeploymentTest {
 				.resolve().withTransitivity().asFile();
 		
 		// Create the WAR.
-		return ShrinkWrap.create(WebArchive.class, "wicket-servletContext.war")
+		return ShrinkWrap.create(WebArchive.class, "wicket-servletContext8.war")
 						 // Add packages and/or classes.
 						 .addPackages(true, TestWicketJavaEEApplication.class.getPackage())
 						 // Add the persistence.xml

http://git-wip-us.apache.org/repos/asf/wicket/blob/600c193f/testing/wicket-arquillian/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git a/testing/wicket-arquillian/src/test/resources/arquillian.xml b/testing/wicket-arquillian/src/test/resources/arquillian.xml
index ae8ef29..36c6008 100644
--- a/testing/wicket-arquillian/src/test/resources/arquillian.xml
+++ b/testing/wicket-arquillian/src/test/resources/arquillian.xml
@@ -27,8 +27,9 @@
     <container qualifier="wildfly" default="true">
     	<configuration>
     		<property name="jbossHome">target/wildfly-${version.wildfly_8}</property>
+            <property name="managementPort">48990</property>
             <!-- DEBUG MODE MANAGED: -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -->
-    		<property name="javaVmArguments">-Xmx128m -XX:MaxPermSize=128m -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
+    		<property name="javaVmArguments">-Djboss.socket.binding.port-offset=38000 -Xmx128m -XX:MaxPermSize=128m -Xrunjdwp:transport=dt_socket,address=48787,server=y,suspend=n
             </property>
     	</configuration>
     </container>


[02/33] wicket git commit: WICKET-6032 don't call done on redirect, it will be invoked from complete later

Posted by mo...@apache.org.
WICKET-6032 don't call done on redirect, it will be invoked from complete later


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

Branch: refs/heads/lambdas
Commit: a30bff2baaf78705debef388c3226713be4f8a86
Parents: d22b004
Author: Sven Meier <sv...@apache.org>
Authored: Thu Nov 12 11:02:06 2015 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Thu Nov 12 11:05:16 2015 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js   | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/a30bff2b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index addf5cc..68dfefe 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -774,7 +774,6 @@
 					// In case the page isn't really redirected. For example say the redirect is to an octet-stream.
 					// A file download popup will appear but the page in the browser won't change.
 					this.success(context);
-					this.done(context.attrs);
 
 					var rhttp  = /^http:\/\//,  // checks whether the string starts with http://
 					    rhttps = /^https:\/\//; // checks whether the string starts with https://


[10/33] wicket git commit: WICKET-5950 Model and GenericBaseModel could both implement IObjectClassAwareModel

Posted by mo...@apache.org.
WICKET-5950 Model and GenericBaseModel could both implement IObjectClassAwareModel


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

Branch: refs/heads/lambdas
Commit: a9e79e823d16def08629b811000b3339b655354a
Parents: 1d654bf
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Nov 15 23:02:40 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Nov 15 23:02:40 2015 +0100

----------------------------------------------------------------------
 .../org/apache/wicket/model/IObjectClassAwareModel.java   |  2 +-
 .../src/main/java/org/apache/wicket/model/Model.java      |  8 +++++++-
 .../org/apache/wicket/model/util/GenericBaseModel.java    | 10 ++++++++--
 3 files changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/a9e79e82/wicket-core/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java b/wicket-core/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java
index 1a926f9..3162a5d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java
@@ -30,5 +30,5 @@ public interface IObjectClassAwareModel<T> extends IModel<T>
 	 * 
 	 * @return class of model object or null if the class couldn't be determined
 	 */
-	public Class<T> getObjectClass();
+	Class<T> getObjectClass();
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/a9e79e82/wicket-core/src/main/java/org/apache/wicket/model/Model.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/Model.java b/wicket-core/src/main/java/org/apache/wicket/model/Model.java
index f48b26f..271cf8d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/Model.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/Model.java
@@ -43,7 +43,7 @@ import org.apache.wicket.util.lang.Objects;
  * @param <T>
  *            The type of the Model Object
  */
-public class Model<T extends Serializable> implements IModel<T>
+public class Model<T extends Serializable> implements IObjectClassAwareModel<T>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -243,4 +243,10 @@ public class Model<T extends Serializable> implements IModel<T>
 		Model<?> that = (Model<?>)obj;
 		return Objects.equal(object, that.object);
 	}
+
+	@Override
+	public Class<T> getObjectClass()
+	{
+		return object != null ? (Class<T>) object.getClass() : null;
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/a9e79e82/wicket-core/src/main/java/org/apache/wicket/model/util/GenericBaseModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/util/GenericBaseModel.java b/wicket-core/src/main/java/org/apache/wicket/model/util/GenericBaseModel.java
index 5be7774..06f0379 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/util/GenericBaseModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/util/GenericBaseModel.java
@@ -20,7 +20,7 @@ package org.apache.wicket.model.util;
 import java.io.Serializable;
 
 import org.apache.wicket.model.IDetachable;
-import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.IObjectClassAwareModel;
 import org.apache.wicket.util.lang.Objects;
 
 /**
@@ -32,7 +32,7 @@ import org.apache.wicket.util.lang.Objects;
  * @param <T>
  *            type of model object
  */
-public abstract class GenericBaseModel<T> implements IModel<T>
+public abstract class GenericBaseModel<T> implements IObjectClassAwareModel<T>
 {
 	private static final long serialVersionUID = 1L;
 	/** model object */
@@ -84,6 +84,12 @@ public abstract class GenericBaseModel<T> implements IModel<T>
 		}
 	}
 
+	@Override
+	public Class<T> getObjectClass()
+	{
+		return object != null ? (Class<T>) object.getClass() : null;
+	}
+
 	/**
 	 * @see Object#toString()
 	 */


[21/33] wicket git commit: WICKET-5969 Please give us access to PageTable.index pageId queue

Posted by mo...@apache.org.
WICKET-5969 Please give us access to PageTable.index pageId queue


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

Branch: refs/heads/lambdas
Commit: 62415d621c8e0c671546459b5506ce481742f468
Parents: c6fe37d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Nov 19 00:00:28 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Nov 19 00:00:28 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/pageStore/memory/PageTable.java     | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/62415d62/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java
index 87c40c9..0a0c9ef 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/PageTable.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.pageStore.memory;
 
+import java.util.Iterator;
 import java.util.Queue;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedQueue;
@@ -107,6 +108,11 @@ public class PageTable implements IClusterable
 		return index.peek();
 	}
 
+	public Iterator<Integer> indexIterator()
+	{
+		return index.iterator();
+	}
+
 	/**
 	 * Updates the index of last/least recently used pages by removing the page id from the index
 	 * (in case it is already in) and (re-)adding it at the head


[25/33] wicket git commit: WICKET-6028 Detach called on enclosure component while it had a non-empty queue

Posted by mo...@apache.org.
WICKET-6028 Detach called on enclosure component while it had a non-empty queue

Remove MarkupInheritanceResolver since it is no more used.
Copy its constants to WicketTagIdentifier


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

Branch: refs/heads/lambdas
Commit: ce8b31c5c45a786a97bae6061049187c6a8264d4
Parents: 47ae79c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Nov 19 21:41:33 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Nov 19 21:44:51 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/Application.java     |  1 -
 .../org/apache/wicket/markup/WicketTag.java     |  6 +-
 .../parser/filter/WicketTagIdentifier.java      | 13 ++--
 .../resolver/MarkupInheritanceResolver.java     | 66 --------------------
 4 files changed, 11 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ce8b31c5/wicket-core/src/main/java/org/apache/wicket/Application.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Application.java b/wicket-core/src/main/java/org/apache/wicket/Application.java
index bc5734c..d23bb84 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Application.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Application.java
@@ -63,7 +63,6 @@ import org.apache.wicket.markup.parser.filter.WicketLinkTagHandler;
 import org.apache.wicket.markup.parser.filter.WicketMessageTagHandler;
 import org.apache.wicket.markup.resolver.FragmentResolver;
 import org.apache.wicket.markup.resolver.HtmlHeaderResolver;
-import org.apache.wicket.markup.resolver.MarkupInheritanceResolver;
 import org.apache.wicket.markup.resolver.WicketContainerResolver;
 import org.apache.wicket.markup.resolver.WicketMessageResolver;
 import org.apache.wicket.page.DefaultPageManagerContext;

http://git-wip-us.apache.org/repos/asf/wicket/blob/ce8b31c5/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java b/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
index 8cb9cf1..01ac4fa 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/WicketTag.java
@@ -22,9 +22,9 @@ import org.apache.wicket.markup.parser.XmlTag;
 import org.apache.wicket.markup.parser.filter.EnclosureHandler;
 import org.apache.wicket.markup.parser.filter.WicketLinkTagHandler;
 import org.apache.wicket.markup.parser.filter.WicketRemoveTagHandler;
+import org.apache.wicket.markup.parser.filter.WicketTagIdentifier;
 import org.apache.wicket.markup.resolver.FragmentResolver;
 import org.apache.wicket.markup.resolver.HtmlHeaderResolver;
-import org.apache.wicket.markup.resolver.MarkupInheritanceResolver;
 import org.apache.wicket.markup.resolver.WicketContainerResolver;
 import org.apache.wicket.markup.resolver.WicketMessageResolver;
 
@@ -115,7 +115,7 @@ public class WicketTag extends ComponentTag
 	 */
 	public final boolean isChildTag()
 	{
-		return MarkupInheritanceResolver.CHILD.equalsIgnoreCase(getName());
+		return WicketTagIdentifier.CHILD.equalsIgnoreCase(getName());
 	}
 
 	/**
@@ -123,7 +123,7 @@ public class WicketTag extends ComponentTag
 	 */
 	public final boolean isExtendTag()
 	{
-		return MarkupInheritanceResolver.EXTEND.equalsIgnoreCase(getName());
+		return WicketTagIdentifier.EXTEND.equalsIgnoreCase(getName());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/ce8b31c5/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
index 4834973..2694508 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/WicketTagIdentifier.java
@@ -32,7 +32,6 @@ import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.resolver.FragmentResolver;
 import org.apache.wicket.markup.resolver.HtmlHeaderResolver;
-import org.apache.wicket.markup.resolver.MarkupInheritanceResolver;
 import org.apache.wicket.markup.resolver.WicketContainerResolver;
 import org.apache.wicket.markup.resolver.WicketMessageResolver;
 import org.apache.wicket.util.string.Strings;
@@ -56,6 +55,10 @@ public final class WicketTagIdentifier extends AbstractMarkupFilter
 	/** List of raw wicket tag names */
 	private static final Set<String> RAW_TAG_NAMES = new HashSet<>();
 
+	public static final String CHILD = "child";
+
+	public static final String EXTEND = "extend";
+
 	static {
 		WELL_KNOWN_TAG_NAMES.add(Border.BORDER);
 		WELL_KNOWN_TAG_NAMES.add(Border.BODY);
@@ -67,15 +70,15 @@ public final class WicketTagIdentifier extends AbstractMarkupFilter
 		WELL_KNOWN_TAG_NAMES.add(FragmentResolver.FRAGMENT);
 		WELL_KNOWN_TAG_NAMES.add(HtmlHeaderResolver.HEAD);
 		WELL_KNOWN_TAG_NAMES.add(HtmlHeaderResolver.HEADER_ITEMS);
-		WELL_KNOWN_TAG_NAMES.add(MarkupInheritanceResolver.CHILD);
-		WELL_KNOWN_TAG_NAMES.add(MarkupInheritanceResolver.EXTEND);
+		WELL_KNOWN_TAG_NAMES.add(WicketTagIdentifier.CHILD);
+		WELL_KNOWN_TAG_NAMES.add(WicketTagIdentifier.EXTEND);
 		WELL_KNOWN_TAG_NAMES.add(WicketContainerResolver.CONTAINER);
 		WELL_KNOWN_TAG_NAMES.add(WicketMessageResolver.MESSAGE);
 	}
 	
 	static {
-		RAW_TAG_NAMES.add(MarkupInheritanceResolver.CHILD);
-		RAW_TAG_NAMES.add(MarkupInheritanceResolver.EXTEND);
+		RAW_TAG_NAMES.add(WicketTagIdentifier.CHILD);
+		RAW_TAG_NAMES.add(WicketTagIdentifier.EXTEND);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/ce8b31c5/wicket-core/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java b/wicket-core/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java
deleted file mode 100644
index fe39acc..0000000
--- a/wicket-core/src/main/java/org/apache/wicket/markup/resolver/MarkupInheritanceResolver.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.markup.resolver;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.MarkupContainer;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.MarkupStream;
-import org.apache.wicket.markup.WicketTag;
-import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
-
-/**
- * Detect &lt;wicket:extend&gt; and &lt;wicket:child&gt; tags, which are silently ignored, because
- * they have already been processed.
- * 
- * @author Juergen Donnerstag
- */
-public class MarkupInheritanceResolver implements IComponentResolver
-{
-	private static final long serialVersionUID = 1L;
-
-	/** */
-	public static final String CHILD = "child";
-
-	/** */
-	public static final String EXTEND = "extend";
-
-	/**
-	 * @see org.apache.wicket.markup.resolver.IComponentResolver#resolve(org.apache.wicket.MarkupContainer,
-	 *      org.apache.wicket.markup.MarkupStream, org.apache.wicket.markup.ComponentTag)
-	 */
-	@Override
-	public Component resolve(final MarkupContainer container, final MarkupStream markupStream,
-		final ComponentTag tag)
-	{
-		// It must be <wicket:...>
-		if (tag instanceof WicketTag)
-		{
-			final WicketTag wicketTag = (WicketTag)tag;
-
-			// It must be <wicket:extend...>
-			if (wicketTag.isExtendTag() || wicketTag.isChildTag())
-			{
-				String id = wicketTag.getId();
-				return new TransparentWebMarkupContainer(id);
-			}
-		}
-
-		// We were not able to handle the componentId
-		return null;
-	}
-}
\ No newline at end of file


[04/33] wicket git commit: WICKET-6031 NPE in PackageResourceReference#getResource() when there is no request

Posted by mo...@apache.org.
WICKET-6031 NPE in PackageResourceReference#getResource() when there is no request


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

Branch: refs/heads/lambdas
Commit: e4399d74234b657435f44eb137969db1a22896d5
Parents: 490fdf6
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sat Nov 14 10:58:55 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sat Nov 14 10:59:19 2015 +0100

----------------------------------------------------------------------
 .../resource/PackageResourceReference.java      | 34 +++++++++++++++-----
 .../resource/PackageResourceReferenceTest.java  | 19 +++++++++++
 2 files changed, 45 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e4399d74/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
index 40d7d0c..f10a01c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
@@ -111,10 +111,16 @@ public class PackageResourceReference extends ResourceReference
 		final String extension = getExtension();
 
 		final PackageResource resource;
-		
-		final Url url = RequestCycle.get().getRequest().getUrl();
-		//resource attributes (locale, style, variation) might be encoded in the URL
-		final UrlAttributes urlAttributes = ResourceUtil.decodeResourceReferenceAttributes(url);
+
+		RequestCycle requestCycle = RequestCycle.get();
+		UrlAttributes urlAttributes = null;
+		if (requestCycle != null)
+		{
+			//resource attributes (locale, style, variation) might be encoded in the URL
+			final Url url = requestCycle.getRequest().getUrl();
+			urlAttributes = ResourceUtil.decodeResourceReferenceAttributes(url);
+		}
+
 		final String currentVariation = getCurrentVariation(urlAttributes);
 		final String currentStyle = getCurrentStyle(urlAttributes);
 		final Locale currentLocale = getCurrentLocale(urlAttributes);
@@ -185,7 +191,11 @@ public class PackageResourceReference extends ResourceReference
 	{
 		Locale currentLocale = getCurrentLocale();
 
-		return currentLocale != null ? currentLocale : attributes.getLocale();
+		return currentLocale != null
+				? currentLocale
+				: attributes != null
+					? attributes.getLocale()
+					: null;
 	}
 
 	private Locale getCurrentLocale()
@@ -208,8 +218,12 @@ public class PackageResourceReference extends ResourceReference
 	private String getCurrentStyle(UrlAttributes attributes)
 	{
 		String currentStyle = getCurrentStyle();
-		
-		return currentStyle != null ? currentStyle : attributes.getStyle();
+
+		return currentStyle != null
+				? currentStyle
+				: attributes != null
+					? attributes.getStyle()
+					: null;
 	}
 	
 	private String getCurrentStyle()
@@ -233,7 +247,11 @@ public class PackageResourceReference extends ResourceReference
 	{
 		final String variation = getVariation();
 
-		return variation != null ? variation : attributes.getVariation();
+		return variation != null
+				? variation
+				: attributes != null
+					? attributes.getVariation()
+					: null;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/e4399d74/wicket-core/src/test/java/org/apache/wicket/request/resource/PackageResourceReferenceTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/request/resource/PackageResourceReferenceTest.java b/wicket-core/src/test/java/org/apache/wicket/request/resource/PackageResourceReferenceTest.java
index df70f16..de7a0a5 100644
--- a/wicket-core/src/test/java/org/apache/wicket/request/resource/PackageResourceReferenceTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/request/resource/PackageResourceReferenceTest.java
@@ -21,6 +21,7 @@ import java.io.InputStream;
 import java.util.Locale;
 
 import org.apache.wicket.Application;
+import org.apache.wicket.ThreadContext;
 import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
 import org.apache.wicket.protocol.http.mock.MockHttpServletResponse;
 import org.apache.wicket.request.Request;
@@ -355,5 +356,23 @@ public class PackageResourceReferenceTest extends WicketTestCase
 			new String(mockHttpServletResponse.getBinaryContent()));
 	}
 
+	/**
+	 * https://issues.apache.org/jira/browse/WICKET-6031
+	 */
+	@Test
+	public void noRequestCycle()
+	{
+		ThreadContext.setRequestCycle(null);
+
+		PackageResourceReference reference = new PackageResourceReference(scope, "resource.txt",
+				locales[1], styles[1], variations[1]);
+
+		PackageResource resource = reference.getResource();
+		assertNotNull(resource);
+
+		assertEquals(locales[1], resource.getResourceStream().getLocale());
+		assertEquals(styles[1], resource.getResourceStream().getStyle());
+		assertEquals(variations[1], resource.getResourceStream().getVariation());
+	}
 
 }


[08/33] wicket git commit: Non functional changes

Posted by mo...@apache.org.
Non functional changes

Java 7 diamonds
Whitespace cleanup
Remove local variable - it is children, not siblings


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

Branch: refs/heads/lambdas
Commit: 4385fcc878bfdebc2d80280b14edf81320082b34
Parents: d2db957
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sat Nov 14 15:08:10 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sat Nov 14 15:08:10 2015 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/wicket/Component.java    |  2 +-
 .../markup/html/TransparentWebMarkupContainer.java    |  4 ++--
 .../html/panel/AbstractMarkupSourcingStrategy.java    | 14 +++++++-------
 3 files changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/4385fcc8/wicket-core/src/main/java/org/apache/wicket/Component.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java
index f244488..10ac026 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -986,7 +986,7 @@ public abstract class Component
 			List<Component> feedbacks = getRequestCycle().getMetaData(FEEDBACK_LIST);
 			if (feedbacks == null)
 			{
-				feedbacks = new ArrayList<Component>();
+				feedbacks = new ArrayList<>();
 				getRequestCycle().setMetaData(FEEDBACK_LIST, feedbacks);
 			}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/4385fcc8/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
index cc336f3..0bfd294 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
@@ -143,7 +143,7 @@ public class TransparentWebMarkupContainer extends WebMarkupContainer implements
 
 				if (get(id) == null)
 				{
-					component = ComponentResolvers.resolveByComponentHierarchy(this, stream, tag);					
+					component = ComponentResolvers.resolveByComponentHierarchy(this, stream, tag);
 				}
 
 				if (component != null)
@@ -169,6 +169,6 @@ public class TransparentWebMarkupContainer extends WebMarkupContainer implements
 			parent = parent.getParent();
 		}
 		
-		parent.add(component);		
+		parent.add(component);
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/4385fcc8/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
index b49f2f4..e576d2b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
@@ -57,7 +57,7 @@ public abstract class AbstractMarkupSourcingStrategy implements IMarkupSourcingS
 	 *            the parent container.
 	 * @param
 	 * 		  containerMarkup
-	 * 			  the markup of the container.           
+	 * 			  the markup of the parent container.
 	 * @param child
 	 *            The component to find the markup for.
 	 * @return the markup fragment for the child, or {@code null}.
@@ -66,13 +66,13 @@ public abstract class AbstractMarkupSourcingStrategy implements IMarkupSourcingS
 		IMarkupFragment containerMarkup, Component child)
 	{
 		IMarkupFragment childMarkupFound = null;
-		Iterator<Component> siblingsIterator = container.iterator();
-		
-		while (siblingsIterator.hasNext() && childMarkupFound == null)
+		Iterator<Component> childrenIterator = container.iterator();
+
+		while (childrenIterator.hasNext() && childMarkupFound == null)
 		{
-			Component sibling = siblingsIterator.next();
-			
-			if(sibling == child || !sibling.isVisible())
+			Component sibling = childrenIterator.next();
+
+			if (sibling == child || !sibling.isVisible())
 			{
 				continue;
 			}


[15/33] wicket git commit: WICKET-6036 Failure to process markup with nested tags inside a Label

Posted by mo...@apache.org.
WICKET-6036 Failure to process markup with nested tags inside a Label

Take tags from the 'dequeue' until the closing one is found.
Throw an exception iff it cannot be found


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

Branch: refs/heads/lambdas
Commit: 497a5d629b609d2e6039b2df6c35bc1035077984
Parents: 8442272
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Nov 17 22:39:18 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Nov 17 22:39:18 2015 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/MarkupContainer.java   | 13 ++++++++-----
 .../queueing/ComponentQueueingCompatibilityTest.java   |  5 +++--
 2 files changed, 11 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/497a5d62/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
index 26fe0f9..b3c4300 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -2051,13 +2051,16 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 
 		// pull the close tag off
 		ComponentTag close = dequeue.takeTag();
-		if (!close.closes(tag))
+		do
 		{
-			// sanity check
-			throw new IllegalStateException(String.format(
-				"Tag '%s' should be the closing one for '%s'", close, tag));
-		}
+			if (close != null && close.closes(tag))
+			{
+				return;
+			}
+		} while ((close = dequeue.takeTag()) != null);
 
+		throw new IllegalStateException(String.format(
+				"Could not find the closing for '%s'", tag));
 	}
 
     /** @see IQueueRegion#newDequeueContext() */

http://git-wip-us.apache.org/repos/asf/wicket/blob/497a5d62/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
index 254e951..7cc703b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
@@ -17,13 +17,14 @@
 package org.apache.wicket.queueing;
 
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class ComponentQueueingCompatibilityTest extends WicketTestCase
 {
+	/**
+	 * https://issues.apache.org/jira/browse/WICKET-6036
+	 */
 	@Test
-	@Ignore("WICKET-6036")
 	public void nestedTags()
 	{
 		IncorrectCloseTagPanel p = new IncorrectCloseTagPanel("test");


[19/33] wicket git commit: WICKET-6036 Failure to process markup with nested tags inside a Label

Posted by mo...@apache.org.
WICKET-6036 Failure to process markup with nested tags inside a Label

Move the new test from ComponentQueueingCompatibilityTest to ComponentQueueingTest.
Fix the exception message.
Remove some trailing spaces.


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

Branch: refs/heads/lambdas
Commit: 6970a4dadb5d1b3b73b8be63d1f321e61967ff13
Parents: 53c982d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Nov 18 23:28:41 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Nov 18 23:28:41 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/MarkupContainer.java |  5 ++-
 .../markup/parser/filter/HtmlHandler.java       |  2 +-
 .../ComponentQueueingCompatibilityTest.java     | 33 --------------------
 .../wicket/queueing/ComponentQueueingTest.java  | 11 ++++++-
 4 files changed, 13 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6970a4da/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
index b3c4300..8d08b77 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -2005,7 +2005,7 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 
 				if (child != null)
 				{
-					addDequeuedComponent(child, tag);					
+					addDequeuedComponent(child, tag);
 				}
 			}
 
@@ -2059,8 +2059,7 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 			}
 		} while ((close = dequeue.takeTag()) != null);
 
-		throw new IllegalStateException(String.format(
-				"Could not find the closing for '%s'", tag));
+		throw new IllegalStateException(String.format("Could not find the closing tag for '%s'", tag));
 	}
 
     /** @see IQueueRegion#newDequeueContext() */

http://git-wip-us.apache.org/repos/asf/wicket/blob/6970a4da/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java
index 9288409..c5c6f89 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/HtmlHandler.java
@@ -110,7 +110,7 @@ public final class HtmlHandler extends AbstractMarkupFilter
 		    setContainsWicketIdFlag(tag);
 		    
 			// Push onto stack
-			stack.push(tag);			
+			stack.push(tag);
 		}
 		else if (tag.isClose())
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/6970a4da/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
deleted file mode 100644
index 7cc703b..0000000
--- a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.queueing;
-
-import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.Test;
-
-public class ComponentQueueingCompatibilityTest extends WicketTestCase
-{
-	/**
-	 * https://issues.apache.org/jira/browse/WICKET-6036
-	 */
-	@Test
-	public void nestedTags()
-	{
-		IncorrectCloseTagPanel p = new IncorrectCloseTagPanel("test");
-		tester.startComponentInPage(p);
-	}
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/6970a4da/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
index 463999d..3039a27 100644
--- a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
@@ -19,7 +19,6 @@ package org.apache.wicket.queueing;
 import static org.apache.wicket.queueing.WicketMatchers.hasPath;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.*;
 
 import java.util.ArrayList;
 
@@ -723,6 +722,16 @@ public class ComponentQueueingTest extends WicketTestCase
 		tester.assertContains("title");
 	}
 
+	/**
+	 * https://issues.apache.org/jira/browse/WICKET-6036
+	 */
+	@Test
+	public void nestedTags()
+	{
+		IncorrectCloseTagPanel p = new IncorrectCloseTagPanel("test");
+		tester.startComponentInPage(p);
+	}
+
 	private static class A extends WebMarkupContainer
 	{
 		public A()


[20/33] wicket git commit: WICKET-6001 Exception raised while refreshing a page with queued components missing in the markup

Posted by mo...@apache.org.
WICKET-6001 Exception raised while refreshing a page with queued components missing in the markup

Check that there is an Application thread local first.
We've been bitten by such assumptions several times


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

Branch: refs/heads/lambdas
Commit: c6fe37d38f9d961a4227480bbee1ac2ed1d24599
Parents: 6970a4d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Nov 18 23:47:41 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Nov 18 23:47:41 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/request/cycle/RequestCycle.java  | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/c6fe37d3/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
index f0e4ff0..cdd9cc5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
@@ -664,9 +664,12 @@ public class RequestCycle implements IRequestCycle, IEventSink
 	 */
 	private void handleDetachException(RuntimeException exception) 
 	{
-		boolean isBufferedResponse = Application.get().
-				getRequestCycleSettings().getBufferResponse();
-		
+		boolean isBufferedResponse = true;
+		if (Application.exists())
+		{
+			isBufferedResponse = Application.get().getRequestCycleSettings().getBufferResponse();
+		}
+
 		//if application is using a buffered response strategy,
 		//then we display exception to user.
 		if (isBufferedResponse) 


[28/33] wicket git commit: Remove some implicit modifiers for a class declared in an interface

Posted by mo...@apache.org.
Remove some implicit modifiers for a class declared in an interface


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

Branch: refs/heads/lambdas
Commit: 45bc068174fb1e6130f65252caca7468e371642d
Parents: 5d15d75
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Nov 26 12:43:53 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Nov 26 12:46:03 2015 +0200

----------------------------------------------------------------------
 .../apache/wicket/core/util/objects/checker/IObjectChecker.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/45bc0681/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/IObjectChecker.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/IObjectChecker.java b/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/IObjectChecker.java
index 49685eb..703a9dc 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/IObjectChecker.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/util/objects/checker/IObjectChecker.java
@@ -30,9 +30,9 @@ public interface IObjectChecker
 	/**
 	 * Represents the result of a check.
 	 */
-	public static class Result
+	class Result
 	{
-		public static enum Status
+		public enum Status
 		{
 			/**
 			 * The check is successful


[26/33] wicket git commit: WICKET-6044 AjaxFormChoiceComponentUpdatingBehavior: Duplicate input values according to WICKET-5948

Posted by mo...@apache.org.
WICKET-6044 AjaxFormChoiceComponentUpdatingBehavior: Duplicate input values according to WICKET-5948

Simplify AjaxFormChoiceComponentUpdatingBehavior. Since WICKET-5948 wicket-ajax.js collects all form elements children


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

Branch: refs/heads/lambdas
Commit: e200d82e5c31437601ff304178f9169ae70fca1e
Parents: ce8b31c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Nov 25 18:55:58 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Nov 25 18:55:58 2015 +0200

----------------------------------------------------------------------
 ...AjaxFormChoiceComponentUpdatingBehavior.java | 22 +-----
 .../AjaxFormChoiceComponentUpdatingBehavior.js  | 71 --------------------
 2 files changed, 1 insertion(+), 92 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e200d82e/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
index feaa75c..2b10d1e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
@@ -20,15 +20,11 @@ import org.apache.wicket.Component;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.attributes.AjaxCallListener;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
-import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.html.form.CheckBoxMultipleChoice;
 import org.apache.wicket.markup.html.form.CheckGroup;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.RadioChoice;
 import org.apache.wicket.markup.html.form.RadioGroup;
-import org.apache.wicket.request.resource.JavaScriptResourceReference;
-import org.apache.wicket.request.resource.ResourceReference;
 
 /**
  * This is a Ajax Component Update Behavior that is meant for choices/groups that are not one
@@ -49,9 +45,6 @@ import org.apache.wicket.request.resource.ResourceReference;
 public abstract class AjaxFormChoiceComponentUpdatingBehavior extends
 	AjaxFormComponentUpdatingBehavior
 {
-	private static final ResourceReference CHOICE_JS = new JavaScriptResourceReference(
-		AjaxFormChoiceComponentUpdatingBehavior.class, "AjaxFormChoiceComponentUpdatingBehavior.js");
-
 	private static final long serialVersionUID = 1L;
 
 	/**
@@ -63,14 +56,6 @@ public abstract class AjaxFormChoiceComponentUpdatingBehavior extends
 	}
 
 	@Override
-	public void renderHead(Component component, IHeaderResponse response)
-	{
-		super.renderHead(component, response);
-
-		response.render(JavaScriptHeaderItem.forReference(CHOICE_JS));
-	}
-
-	@Override
 	protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
 	{
 		super.updateAjaxAttributes(attributes);
@@ -82,14 +67,9 @@ public abstract class AjaxFormChoiceComponentUpdatingBehavior extends
 			@Override
 			public CharSequence getPrecondition(Component component)
 			{
-				return String.format("return Wicket.Choice.acceptInput('%s', attrs)",
-					getFormComponent().getInputName());
+				return "return attrs.event.target.name === " + getFormComponent().getInputName();
 			}
 		});
-
-		attributes.getDynamicExtraParameters().add(
-			String.format("return Wicket.Choice.getInputValues('%s', attrs)",
-				getFormComponent().getInputName()));
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/e200d82e/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.js b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.js
deleted file mode 100644
index f2da088..0000000
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Wicket Choice Ajax updates.
- *
- * @author svenmeier
- */
-
-;(function (undefined) {
-	"use strict";
-
-	// introduce a namespace
-	if (typeof (Wicket.Choice) === "undefined") {
-		Wicket.Choice = {};
-
-		/**
-		 * Is a change accepted.
-		 *
-		 * @param name input name of choice
-		 * @param attrs ajax attributes
-		 */
-		Wicket.Choice.acceptInput = function(name, attrs) {
-
-			var srcElement = attrs.event.target;
-
-			return (srcElement.name === name);
-		};
-
-		/**
-		 * Get all checked input values.
-		 *
-		 * @param name input name of choice
-		 * @param attrs ajax attributes
-		 */
-		Wicket.Choice.getInputValues = function(name, attrs) {
-			var result = [], srcElement = attrs.event.target;
-
-			var inputNodes = Wicket.$(attrs.c).getElementsByTagName("input");
-			for (var i = 0 ; i < inputNodes.length ; i ++) {
-				var inputNode = inputNodes[i];
-
-				if (inputNode.name !== name) {
-					continue;
-				}
-				if (!inputNode.checked) {
-					continue;
-				}
-
-				var value = inputNode.value;
-				result.push({ name: name, value: value });
-			}
-
-			return result;
-		};
-	}
-})();


[13/33] wicket git commit: WICKET-6036: testcase demonstrating the problem

Posted by mo...@apache.org.
WICKET-6036: testcase demonstrating the problem


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

Branch: refs/heads/lambdas
Commit: 95cb76329a5fe1665e65b9f2dfa9af3a45f50769
Parents: d2de2c0
Author: Emond Papegaaij <em...@topicus.nl>
Authored: Tue Nov 17 08:38:00 2015 +0100
Committer: Emond Papegaaij <em...@topicus.nl>
Committed: Tue Nov 17 08:38:55 2015 +0100

----------------------------------------------------------------------
 .../ComponentQueueingCompatibilityTest.java     | 32 ++++++++++++++++++++
 .../wicket/queueing/IncorrectCloseTagPanel.html |  7 +++++
 .../wicket/queueing/IncorrectCloseTagPanel.java | 15 +++++++++
 3 files changed, 54 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/95cb7632/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
new file mode 100644
index 0000000..254e951
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingCompatibilityTest.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.queueing;
+
+import org.apache.wicket.util.tester.WicketTestCase;
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class ComponentQueueingCompatibilityTest extends WicketTestCase
+{
+	@Test
+	@Ignore("WICKET-6036")
+	public void nestedTags()
+	{
+		IncorrectCloseTagPanel p = new IncorrectCloseTagPanel("test");
+		tester.startComponentInPage(p);
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/95cb7632/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.html b/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.html
new file mode 100644
index 0000000..b9a3d62
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.html
@@ -0,0 +1,7 @@
+<html xmlns:wicket>
+<body>
+<wicket:panel>
+	<span wicket:id="test"> test <img src="img.png" /></span>
+</wicket:panel>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/wicket/blob/95cb7632/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java b/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java
new file mode 100644
index 0000000..db19114
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/IncorrectCloseTagPanel.java
@@ -0,0 +1,15 @@
+package org.apache.wicket.queueing;
+
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class IncorrectCloseTagPanel extends Panel
+{
+	private static final long serialVersionUID = 1L;
+
+	public IncorrectCloseTagPanel(String id)
+	{
+		super(id);
+		add(new Label("test", " test <img src=\"img.png\" />").setEscapeModelStrings(false));
+	}
+}


[11/33] wicket git commit: WICKET-6001 Exception raised while refreshing a page with queued components missing in the markup

Posted by mo...@apache.org.
WICKET-6001 Exception raised while refreshing a page with queued components missing in the markup


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

Branch: refs/heads/lambdas
Commit: 67b53cf0de66fb8f41a10831e96168b29ab240f2
Parents: a9e79e8
Author: Andrea Del Bene <ad...@apache.org>
Authored: Mon Nov 16 12:58:59 2015 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Mon Nov 16 12:58:59 2015 +0100

----------------------------------------------------------------------
 .../wicket/request/cycle/RequestCycle.java      | 27 ++++++++++++++++++++
 .../wicket/request/RequestHandlerStack.java     |  4 +++
 2 files changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/67b53cf0/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
index 04baf9e..f0e4ff0 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
@@ -640,6 +640,10 @@ public class RequestCycle implements IRequestCycle, IEventSink
 		{
 			requestHandlerExecutor.detach();
 		}
+		catch (RuntimeException exception)
+		{
+			handleDetachException(exception);
+		}
 		finally
 		{
 			listeners.onDetach(this);
@@ -653,6 +657,29 @@ public class RequestCycle implements IRequestCycle, IEventSink
 	}
 
 	/**
+	 * Called to handle a {@link java.lang.RuntimeException} that might be 
+	 * thrown during detaching phase. 
+	 * 
+	 * @param exception
+	 */
+	private void handleDetachException(RuntimeException exception) 
+	{
+		boolean isBufferedResponse = Application.get().
+				getRequestCycleSettings().getBufferResponse();
+		
+		//if application is using a buffered response strategy,
+		//then we display exception to user.
+		if (isBufferedResponse) 
+		{
+			throw exception;
+		}
+		else 
+		{
+			log.error("Error detaching RequestCycle", exception);
+		}
+	}
+
+	/**
 	 * Convenience method for setting next page to be rendered.
 	 * 
 	 * @param page

http://git-wip-us.apache.org/repos/asf/wicket/blob/67b53cf0/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java b/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java
index 782f1ea..e3cbb33 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/RequestHandlerStack.java
@@ -179,6 +179,10 @@ public abstract class RequestHandlerStack
 			{
 				detach(handler);
 			}
+			catch (RuntimeException exception)
+			{
+				throw exception;
+			}
 			catch (Exception exception)
 			{
 				log.error("Error detaching RequestHandler", exception);


[27/33] wicket git commit: WICKET-6044 Simplify AjaxFormChoiceComponentUpdatingBehavior. Enclose input name in quotes

Posted by mo...@apache.org.
WICKET-6044 Simplify AjaxFormChoiceComponentUpdatingBehavior. Enclose input name in quotes


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

Branch: refs/heads/lambdas
Commit: 5d15d75d67b5defd7802cb8dfe6f52979de7f92c
Parents: e200d82
Author: Sven Meier <sv...@apache.org>
Authored: Wed Nov 25 21:31:59 2015 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Wed Nov 25 21:31:59 2015 +0100

----------------------------------------------------------------------
 .../wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/5d15d75d/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
index 2b10d1e..21d6754 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormChoiceComponentUpdatingBehavior.java
@@ -67,7 +67,7 @@ public abstract class AjaxFormChoiceComponentUpdatingBehavior extends
 			@Override
 			public CharSequence getPrecondition(Component component)
 			{
-				return "return attrs.event.target.name === " + getFormComponent().getInputName();
+				return String.format("return attrs.event.target.name === '%s'", getFormComponent().getInputName());
 			}
 		});
 	}


[12/33] wicket git commit: Upgrade Spring to 4.2.3

Posted by mo...@apache.org.
Upgrade Spring to 4.2.3


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

Branch: refs/heads/lambdas
Commit: d2de2c031dff82daf179ffa274b617df8ebd7e14
Parents: 67b53cf
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Nov 16 19:46:25 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Nov 16 19:46:59 2015 +0100

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d2de2c03/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 171f9b4..13c2368 100644
--- a/pom.xml
+++ b/pom.xml
@@ -131,7 +131,7 @@
 		<jetty.version>9.3.5.v20151012</jetty.version>
 		<joda-time.version>2.9</joda-time.version>
 		<junit.version>4.12</junit.version>
-		<spring.version>4.2.2.RELEASE</spring.version>
+		<spring.version>4.2.3.RELEASE</spring.version>
 		<servlet-api.version>3.1.0</servlet-api.version>
 		<maven.javadoc.version>2.10.3</maven.javadoc.version>
 		<maven.surefire.version>2.18.1</maven.surefire.version>


[18/33] wicket git commit: WICKET-6004 Wicket 8 cleanup - TODOs and deprecated methods

Posted by mo...@apache.org.
WICKET-6004 Wicket 8 cleanup - TODOs and deprecated methods

Remove ConditionalCommentFilter - it does nothing since 2011


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

Branch: refs/heads/lambdas
Commit: 53c982d087437175770e632405a7f87fe0d7111f
Parents: 600c193
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Nov 18 23:25:09 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Nov 18 23:25:09 2015 +0100

----------------------------------------------------------------------
 .../org/apache/wicket/markup/MarkupParser.java  |   2 -
 .../parser/filter/ConditionalCommentFilter.java | 264 -------------------
 2 files changed, 266 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/53c982d0/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java b/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java
index ddd76b4..62d33f4 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/MarkupParser.java
@@ -23,7 +23,6 @@ import org.apache.wicket.Page;
 import org.apache.wicket.markup.html.form.AutoLabelTagHandler;
 import org.apache.wicket.markup.parser.IMarkupFilter;
 import org.apache.wicket.markup.parser.IXmlPullParser;
-import org.apache.wicket.markup.parser.filter.ConditionalCommentFilter;
 import org.apache.wicket.markup.parser.filter.EnclosureHandler;
 import org.apache.wicket.markup.parser.filter.HeadForceTagIdHandler;
 import org.apache.wicket.markup.parser.filter.HtmlHandler;
@@ -177,7 +176,6 @@ public class MarkupParser extends AbstractMarkupParser
 
 		// Append it. See WICKET-4390
 		filters.add(new StyleAndScriptIdentifier(), StyleAndScriptIdentifier.class);
-		filters.add(new ConditionalCommentFilter());
 		filters.add(new WicketContainerTagHandler(markupResourceStream, Application.get().usesDevelopmentConfig()));
 
 		return filters;

http://git-wip-us.apache.org/repos/asf/wicket/blob/53c982d0/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/ConditionalCommentFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/ConditionalCommentFilter.java b/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/ConditionalCommentFilter.java
deleted file mode 100644
index 0fc289a..0000000
--- a/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/ConditionalCommentFilter.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.wicket.markup.parser.filter;
-
-import java.text.ParseException;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
-
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.HtmlSpecialTag;
-import org.apache.wicket.markup.Markup;
-import org.apache.wicket.markup.MarkupElement;
-import org.apache.wicket.markup.parser.AbstractMarkupFilter;
-import org.apache.wicket.markup.parser.IXmlPullParser.HttpTagType;
-import org.apache.wicket.util.lang.Generics;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Skip duplicated mismatched markup inside conditional comments
- * 
- * @author Pedro Santos
- * @author Juergen Donnerstag
- */
-public class ConditionalCommentFilter extends AbstractMarkupFilter
-{
-	private static final Logger log = LoggerFactory.getLogger(ConditionalCommentFilter.class);
-
-	private Queue<ComponentTag> queue = new LinkedList<ComponentTag>();
-	private Map<Integer, Set<String>> skipByLevelMap = Generics.newHashMap();
-	private int level;
-
-	@Override
-	protected MarkupElement onSpecialTag(final HtmlSpecialTag tag) throws ParseException
-	{
-		if (tag.getHttpTagType() == HttpTagType.CONDITIONAL_COMMENT)
-		{
-
-		}
-		return tag;
-	}
-
-// public MarkupElement nextTag() throws ParseException
-// {
-// MarkupElement next = null;
-// if (queue.size() > 0)
-// {
-// next = queue.poll();
-// }
-// else
-// {
-// next = getNextFilter().nextTag();
-// }
-// if (next == null)
-// {
-// return null;
-// }
-// else if (next instanceof ConditionalComment)
-// {
-// ConditionalComment conditionalComment = (ConditionalComment)next;
-// if (conditionalComment.isStartIf())
-// {
-// ConditionalTags conditionalTags = new ConditionalTags();
-// conditionalTags.iterate(getNextFilter());
-// ComponentTag mismatch = conditionalTags.getMismatch();
-// if (mismatch != null)
-// {
-//
-// if (mismatch.isOpen())
-// {
-// // start skipping it at this level
-// log.debug("Start to skip: " + mismatch.getName());
-// startSkip(mismatch.getName());
-// }
-// else
-// {
-// if (shouldSkip(mismatch.getName()))
-// {
-// log.debug("Skipping: " + mismatch.getName());
-// // just skipping the close tag
-// }
-// else
-// {
-// throw new ParseException("Not opened tag: " + mismatch,
-// conditionalTags.mismatchTag.getPos());
-// }
-// }
-// }
-// queue.addAll(conditionalTags.getValidTags());
-// // start the recursion
-// return nextTag();
-// }
-// else
-// {
-// // ConditionalTags should have iterated over the close tag already
-// throw new ParseException("Not opened conditional comment close tag",
-// conditionalComment.getPos());
-// }
-// }
-// else
-// {
-// ComponentTag componentTag = (ComponentTag)next;
-// if (componentTag.isOpen())
-// {
-// level++;
-// }
-// else if (componentTag.isClose())
-// {
-// if (shouldSkip(componentTag.getName()))
-// {
-// log.debug("Skipping close tag outside conditional comment: " +
-// componentTag.getName());
-// // tag outside conditional comment are skipped once
-// stopSkipping(componentTag.getName());
-// // skipping
-// return nextTag();
-// }
-// level--;
-// }
-// return next;
-// }
-// }
-//
-// private void startSkip(String tagName)
-// {
-// Set<String> toSkipSet = skipByLevelMap.get(level);
-// if (toSkipSet == null)
-// {
-// skipByLevelMap.put(level, toSkipSet = new HashSet<String>());
-//
-// }
-// toSkipSet.add(tagName);
-// }
-//
-// private void stopSkipping(String tagName)
-// {
-// skipByLevelMap.get(level).remove(tagName);
-// }
-//
-// private boolean shouldSkip(String tagName)
-// {
-// Set<String> skipList = skipByLevelMap.get(level);
-// return skipList != null && skipList.contains(tagName);
-// }
-//
-// /**
-// * Track the markup inside an conditional tag
-// *
-// * @author Pedro Santos
-// */
-// private static class ConditionalTags
-// {
-// private TagStack tagStack = new TagStack();
-// private ArrayList<ComponentTag> tagSequence = new ArrayList<ComponentTag>();
-// private ComponentTag mismatchTag;
-//
-// public void iterate(IMarkupFilter nextFilter) throws ParseException
-// {
-// MarkupElement markupElement = null;
-// do
-// {
-// markupElement = nextFilter.nextTag();
-// if (markupElement instanceof ConditionalComment)
-// {
-// ConditionalComment conditionalComment = (ConditionalComment)markupElement;
-// if (conditionalComment.isStartIf())
-// {
-// throw new ParseException("nested conditional comments are not suported",
-// conditionalComment.getPos());
-// }
-// }
-// else
-// {
-// ComponentTag componentTag = (ComponentTag)markupElement;
-// try
-// {
-// tagStack.assertValidInStack(componentTag);
-// tagSequence.add(componentTag);
-// }
-// catch (ParseException e)
-// {
-// mismatchTag = componentTag;
-// }
-// }
-// }
-// while (markupElement != null && !(markupElement instanceof ConditionalComment));
-// }
-//
-// private List<ComponentTag> getValidTags()
-// {
-// ComponentTag notClosed = tagStack.getNotClosedTag();
-// @SuppressWarnings("unchecked")
-// List<ComponentTag> validTags = (List<ComponentTag>)tagSequence.clone();
-// if (notClosed != null)
-// {
-// validTags.remove(notClosed);
-// }
-// return validTags;
-// }
-//
-// private boolean hasMismatch()
-// {
-// return mismatchTag != null || tagStack.getNotClosedTag() != null;
-// }
-//
-// private ComponentTag getMismatch()
-// {
-// return mismatchTag != null ? mismatchTag : tagStack.getNotClosedTag();
-// }
-//
-// private boolean equalsTo(ConditionalTags other)
-// {
-// if (tagSequence.size() != other.tagSequence.size())
-// {
-// return false;
-// }
-// else
-// {
-// for (int i = 0; i < tagSequence.size(); i++)
-// {
-// if (!tagSequence.get(i).getName().equals(other.tagSequence.get(i).getName()) ||
-// !tagSequence.get(i).getType().equals(other.tagSequence.get(i).getType()))
-// {
-// return false;
-// }
-// }
-// }
-// return true;
-// }
-// }
-
-	/**
-	 * Post-process the markup if necessary
-	 */
-	@Override
-	public void postProcess(final Markup markup)
-	{
-	}
-
-	/**
-	 * Noop
-	 */
-	@Override
-	protected MarkupElement onComponentTag(final ComponentTag tag) throws ParseException
-	{
-		return tag;
-	}
-}


[30/33] wicket git commit: Upgrade Node.js to 4.2.2 and NPM to 3.5.0

Posted by mo...@apache.org.
Upgrade Node.js to 4.2.2 and NPM to 3.5.0


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

Branch: refs/heads/lambdas
Commit: 4f0cb473dcf86b0fd4c052cb79321c73a08b7065
Parents: 9dbfaac
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Nov 26 12:50:48 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Nov 26 12:50:48 2015 +0200

----------------------------------------------------------------------
 testing/wicket-js-tests/pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/4f0cb473/testing/wicket-js-tests/pom.xml
----------------------------------------------------------------------
diff --git a/testing/wicket-js-tests/pom.xml b/testing/wicket-js-tests/pom.xml
index 5c70c7e..deb1dd5 100644
--- a/testing/wicket-js-tests/pom.xml
+++ b/testing/wicket-js-tests/pom.xml
@@ -67,8 +67,8 @@
 								</goals>
 								<phase>generate-resources</phase>
 								<configuration>
-									<npmVersion>3.3.5</npmVersion>
-									<nodeVersion>v4.1.2</nodeVersion>
+									<npmVersion>3.5.0</npmVersion>
+									<nodeVersion>v4.2.2</nodeVersion>
 								</configuration>
 							</execution>
 							<execution>


[06/33] wicket git commit: WICKET-6002 FileUploadField makes form-component models become null on submit

Posted by mo...@apache.org.
WICKET-6002 FileUploadField makes form-component models become null on submit

Use #entrySet() while looping over a map


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

Branch: refs/heads/lambdas
Commit: 374865e57412b6447e3edf85bd211961b9270d39
Parents: e8b874f
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sat Nov 14 13:43:14 2015 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sat Nov 14 13:43:14 2015 +0100

----------------------------------------------------------------------
 .../protocol/http/servlet/MultipartServletWebRequestImpl.java   | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/374865e5/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
index 37c90b0..d0d5330 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
@@ -356,9 +356,10 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest
 	protected Map<String, List<StringValue>> generatePostParameters()
 	{
 		Map<String, List<StringValue>> res = new HashMap<>();
-		for (String key : parameters.keySet())
+		for (Map.Entry<String, Object> entry : parameters.entrySet())
 		{
-			String[] val = (String[])parameters.get(key);
+			String key = entry.getKey();
+			String[] val = (String[])entry.getValue();
 			if (val != null && val.length > 0)
 			{
 				List<StringValue> items = new ArrayList<>();