You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by so...@apache.org on 2018/01/05 17:58:28 UTC

[1/5] wicket git commit: provide more information on read only LambdaModel setObject exception

Repository: wicket
Updated Branches:
  refs/heads/WICKET-6498_deferred_javascript 01d103a3e -> f2bd97270


provide more information on read only LambdaModel setObject exception


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

Branch: refs/heads/WICKET-6498_deferred_javascript
Commit: 19c8998e99754abb0138ff1cc33bd0a366034444
Parents: 7e25f47
Author: Andrew Kondratev <an...@gmail.com>
Authored: Wed Jan 3 11:25:24 2018 +1300
Committer: Andrew Kondratev <an...@gmail.com>
Committed: Wed Jan 3 11:25:24 2018 +1300

----------------------------------------------------------------------
 .../src/main/java/org/apache/wicket/model/LambdaModel.java      | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/19c8998e/wicket-core/src/main/java/org/apache/wicket/model/LambdaModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/LambdaModel.java b/wicket-core/src/main/java/org/apache/wicket/model/LambdaModel.java
index 7806ae3..96d4f20 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/LambdaModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/LambdaModel.java
@@ -156,6 +156,11 @@ public abstract class LambdaModel<T> implements IModel<T>
 			}
 
 			@Override
+			public void setObject(R r) {
+				throw new UnsupportedOperationException("setObject(Object) on " + target + " is not supported");
+			}
+
+			@Override
 			public void detach()
 			{
 				target.detach();


[3/5] wicket git commit: WICKET-6514 refactoring of FencedFeedbackPanel

Posted by so...@apache.org.
WICKET-6514 refactoring of FencedFeedbackPanel


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

Branch: refs/heads/WICKET-6498_deferred_javascript
Commit: c69592d147ef4ba404dc96068e9624b54c3d45cd
Parents: 0010939
Author: Andrea Del Bene <ad...@apache.org>
Authored: Thu Jan 4 16:01:13 2018 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Thu Jan 4 16:08:27 2018 +0100

----------------------------------------------------------------------
 .../wicket/feedback/FeedbackMessagesModel.java  |  5 ++-
 .../wicket/feedback/FencedFeedbackPanel.java    | 46 ++++++++++----------
 2 files changed, 26 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/c69592d1/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
index ab8f5cd..b574b36 100644
--- a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
@@ -48,7 +48,10 @@ public class FeedbackMessagesModel implements IModel<List<FeedbackMessage>>
 
 	private final Component pageResolvingComponent;
 
-	/** Controls whether or not feedback from the {@link Session} will be collected **/
+	/** 
+	 * Controls whether or not feedback from the {@link Session} will be collected.
+	 * By default is true.
+	 */
 	private boolean includeSession = true;
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/c69592d1/wicket-core/src/main/java/org/apache/wicket/feedback/FencedFeedbackPanel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/feedback/FencedFeedbackPanel.java b/wicket-core/src/main/java/org/apache/wicket/feedback/FencedFeedbackPanel.java
index 7360d61..feac059 100644
--- a/wicket-core/src/main/java/org/apache/wicket/feedback/FencedFeedbackPanel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/feedback/FencedFeedbackPanel.java
@@ -77,6 +77,7 @@ import org.apache.wicket.markup.html.panel.FeedbackPanel;
  */
 public class FencedFeedbackPanel extends FeedbackPanel
 {
+	
 	private static final long serialVersionUID = 1L;
 
 	private static final MetaDataKey<Integer> FENCE_KEY = new MetaDataKey<Integer>()
@@ -179,39 +180,17 @@ public class FencedFeedbackPanel extends FeedbackPanel
 				if (fence == null)
 				{
 					// this is the catch-all panel
-
-					return new FeedbackCollector(panel.getPage(), true)
-					{
-						@Override
-						protected boolean shouldRecurseInto(Component component)
-						{
-							return !componentIsMarkedAsFence(component);
-						}
-					}.collect(filter);
+					return new FencedFeedbackCollector(panel.getPage(), true).collect(filter);
 				}
 				else
 				{
 					// this is a fenced panel
-
-					return new FeedbackCollector(fence)
-					{
-						@Override
-						protected boolean shouldRecurseInto(Component component)
-						{
-							// only recurse into components that are not fences
-							return !componentIsMarkedAsFence(component);
-						}
-					}.setIncludeSession(false).collect(filter);
+					return new FencedFeedbackCollector(fence, false).collect(filter);
 				}
 			}
 		};
 	}
 
-	private boolean componentIsMarkedAsFence(Component component)
-	{
-		return component.getMetaData(FENCE_KEY) != null;
-	}
-
 	@Override
 	protected void onReAdd()
 	{
@@ -224,4 +203,23 @@ public class FencedFeedbackPanel extends FeedbackPanel
 		}
 		super.onReAdd();
 	}
+	
+	private final class FencedFeedbackCollector extends FeedbackCollector
+	{
+		private FencedFeedbackCollector(Component component, boolean includeSession)
+		{
+			super(component, includeSession);
+		}
+
+		@Override
+		protected boolean shouldRecurseInto(Component component)
+		{
+			return !componentIsMarkedAsFence(component);
+		}
+		
+		private boolean componentIsMarkedAsFence(Component component)
+		{
+			return component.getMetaData(FENCE_KEY) != null;
+		}
+	}
 }


[5/5] wicket git commit: [WICKET-6498] missing serialVersionUID is added, whitespaces are fixed, IWrappedHeaderItem handling is added

Posted by so...@apache.org.
[WICKET-6498] missing serialVersionUID is added, whitespaces are fixed, IWrappedHeaderItem handling is added


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

Branch: refs/heads/WICKET-6498_deferred_javascript
Commit: f2bd97270699f35ef1bb7a83bfcdc01bff530dbe
Parents: e4b969f
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sat Jan 6 00:58:19 2018 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sat Jan 6 00:58:19 2018 +0700

----------------------------------------------------------------------
 .../wicket/markup/head/PriorityHeaderItem.java  |  5 ++--
 .../wicket/markup/head/ResourceAggregator.java  | 30 ++++++++++++--------
 2 files changed, 21 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/f2bd9727/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
index 93813e0..1b357eb 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/PriorityHeaderItem.java
@@ -26,16 +26,17 @@ import org.apache.wicket.request.Response;
  * {@link HeaderItem} that has priority over other header items. {@code PriorityHeaderItem}s
  * rendered parent-first at the beginning of the header. Dependencies of a
  * {@code PriorityHeaderItem} also have priority.
- * 
+ *
  * @author papegaaij
  */
 public class PriorityHeaderItem extends HeaderItem implements IWrappedHeaderItem
 {
+	private static final long serialVersionUID = 1L;
 	private HeaderItem wrapped;
 
 	/**
 	 * Construct.
-	 * 
+	 *
 	 * @param wrapped
 	 *            the actual {@link HeaderItem} that should have priority
 	 */

http://git-wip-us.apache.org/repos/asf/wicket/blob/f2bd9727/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
index 2257e12..d71e26d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
@@ -40,7 +40,7 @@ import org.apache.wicket.util.lang.Classes;
  * {@code ResourceAggregator} implements resource dependencies, resource bundles and sorting of
  * resources. During the rendering of components, all {@link HeaderItem}s are
  * {@linkplain RecordedHeaderItem recorded} and processed at the end.
- * 
+ *
  * @author papegaaij
  */
 public class ResourceAggregator extends DecoratingHeaderResponse
@@ -49,7 +49,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 	 * The location in which a {@link HeaderItem} is added, consisting of the component/behavior
 	 * that added the item, the index in the list for that component/behavior at which the item was
 	 * added and the index in the request.
-	 * 
+	 *
 	 * @author papegaaij
 	 */
 	public static class RecordedHeaderItemLocation
@@ -60,7 +60,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 
 		/**
 		 * Construct.
-		 * 
+		 *
 		 * @param renderBase
 		 *            The component or behavior that added the item.
 		 * @param indexInRenderBase
@@ -111,7 +111,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 
 	/**
 	 * Contains information about an {@link HeaderItem} that must be rendered.
-	 * 
+	 *
 	 * @author papegaaij
 	 */
 	public static class RecordedHeaderItem
@@ -122,7 +122,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 
 		/**
 		 * Construct.
-		 * 
+		 *
 		 * @param item
 		 */
 		public RecordedHeaderItem(HeaderItem item)
@@ -133,7 +133,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 
 		/**
 		 * Records a location at which the item was added.
-		 * 
+		 *
 		 * @param renderBase
 		 *            The component or behavior that added the item.
 		 * @param indexInRenderBase
@@ -186,7 +186,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 
 	/**
 	 * Construct.
-	 * 
+	 *
 	 * @param real
 	 */
 	public ResourceAggregator(IHeaderResponse real)
@@ -223,9 +223,15 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 
 	private void recordHeaderItem(HeaderItem item, Set<HeaderItem> depsDone)
 	{
-        if (item instanceof AbstractJavaScriptReferenceHeaderItem) {
-            ((AbstractJavaScriptReferenceHeaderItem) item).setDefer(true);
-        }
+		if (item instanceof AbstractJavaScriptReferenceHeaderItem) {
+			((AbstractJavaScriptReferenceHeaderItem)item).setDefer(true);
+		}
+		if (item instanceof IWrappedHeaderItem) {
+			HeaderItem wrapped = ((IWrappedHeaderItem)item).getWrapped();
+			if (wrapped instanceof AbstractJavaScriptReferenceHeaderItem) {
+				((AbstractJavaScriptReferenceHeaderItem)wrapped).setDefer(true);
+			}
+		}
 
 		renderDependencies(item, depsDone);
 		RecordedHeaderItem recordedItem = itemsToBeRendered.get(item);
@@ -405,7 +411,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 	 * Resolves the actual item that needs to be rendered for the given item. This can be a
 	 * {@link NoHeaderItem} when the item was already rendered. It can also be a bundle or the item
 	 * itself, when it is not part of a bundle.
-	 * 
+	 *
 	 * @param item
 	 * @return The item to be rendered
 	 */
@@ -479,7 +485,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
 	 * @param bundle The bundle that represents the replacement
 	 * @return the bundle with the preserved details
 	 */
-	private HeaderItem preserveJavaScriptDetails(JavaScriptReferenceHeaderItem item, JavaScriptReferenceHeaderItem bundle)
+	private static HeaderItem preserveJavaScriptDetails(JavaScriptReferenceHeaderItem item, JavaScriptReferenceHeaderItem bundle)
 	{
 		HeaderItem resultBundle;
 		ResourceReference bundleReference = bundle.getReference();


[4/5] wicket git commit: Merge branch 'master' into WICKET-6498_deferred_javascript

Posted by so...@apache.org.
Merge branch 'master' into WICKET-6498_deferred_javascript


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

Branch: refs/heads/WICKET-6498_deferred_javascript
Commit: e4b969f2139f86f77bb367d72233cc5e7cacf820
Parents: 01d103a c69592d
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Fri Jan 5 23:57:47 2018 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Fri Jan 5 23:57:47 2018 +0700

----------------------------------------------------------------------
 .../wicket/feedback/FeedbackMessagesModel.java  | 24 +++++++++-
 .../wicket/feedback/FencedFeedbackPanel.java    | 46 ++++++++++----------
 .../org/apache/wicket/model/LambdaModel.java    |  5 +++
 .../markup/html/panel/FeedbackPanelTest.java    | 38 +++++++++++++++-
 4 files changed, 86 insertions(+), 27 deletions(-)
----------------------------------------------------------------------



[2/5] wicket git commit: WICKET-6514 restored original behavior of FeedbackPanel to collect session messages

Posted by so...@apache.org.
WICKET-6514 restored original behavior of FeedbackPanel to collect
session messages

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

Branch: refs/heads/WICKET-6498_deferred_javascript
Commit: 00109395588662ca380bdf82e8fc6cc75069565a
Parents: 19c8998
Author: Andrea Del Bene <ad...@apache.org>
Authored: Thu Jan 4 16:00:48 2018 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Thu Jan 4 16:00:48 2018 +0100

----------------------------------------------------------------------
 .../wicket/feedback/FeedbackMessagesModel.java  | 21 ++++++++++-
 .../markup/html/panel/FeedbackPanelTest.java    | 38 ++++++++++++++++++--
 2 files changed, 56 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/00109395/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
index d6d915a..ab8f5cd 100644
--- a/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessagesModel.java
@@ -23,6 +23,7 @@ import java.util.List;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.Page;
+import org.apache.wicket.Session;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.util.lang.Args;
 
@@ -47,6 +48,9 @@ public class FeedbackMessagesModel implements IModel<List<FeedbackMessage>>
 
 	private final Component pageResolvingComponent;
 
+	/** Controls whether or not feedback from the {@link Session} will be collected **/
+	private boolean includeSession = true;
+
 	/**
 	 * Constructor. Creates a model for all feedback messages on the page.
 	 * 
@@ -126,7 +130,7 @@ public class FeedbackMessagesModel implements IModel<List<FeedbackMessage>>
 	protected List<FeedbackMessage> collectMessages(Component pageResolvingComponent,
 		IFeedbackMessageFilter filter)
 	{
-		return new FeedbackCollector(pageResolvingComponent.getPage()).collect(filter);
+		return new FeedbackCollector(pageResolvingComponent.getPage(), includeSession).collect(filter);
 	}
 
 	/**
@@ -180,4 +184,19 @@ public class FeedbackMessagesModel implements IModel<List<FeedbackMessage>>
 	{
 		messages = null;
 	}
+
+	/**
+	 * Controls whether or not feedback from the {@link Session} will be collected.
+	 * 
+	 * See {@link FeedbackCollector#setIncludeSession} and {@link Session#getFeedbackMessages} 
+	 * 
+	 * @param value
+	 * @return 
+	 * @return {@code this} for chaining
+	 */
+	public FeedbackMessagesModel setIncludeSession(boolean includeSession)
+	{
+		this.includeSession = includeSession;
+		return this;
+	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/00109395/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/FeedbackPanelTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/FeedbackPanelTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/FeedbackPanelTest.java
index 0906a79..e38815d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/FeedbackPanelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/FeedbackPanelTest.java
@@ -16,8 +16,11 @@
  */
 package org.apache.wicket.markup.html.panel;
 
+import java.util.List;
+
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.feedback.FeedbackMessage;
 import org.apache.wicket.markup.IMarkupResourceStreamProvider;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
@@ -34,13 +37,29 @@ import org.junit.Test;
 public class FeedbackPanelTest extends WicketTestCase
 {
     @Test
-    public void testCssClassesOnFeedbackPanel() throws Exception {
+    public void testCssClassesOnFeedbackPanel() throws Exception 
+    {
         TestPage testPage = new TestPage();
         testPage.label.error("Error message");
         testPage.label.info("Info message");
         testPage.label.warn("Warn message");
         executeTest(testPage, "FeedbackPanelTest_cssClasses_expected.html");
     }
+    
+    @Test
+	public void collectSessionMessages() throws Exception
+	{
+    	TestPage testPage = new TestPage();
+    	
+    	tester.startPage(testPage);
+    	tester.assertInvisible("feedback");
+		
+    	String message = "session info";
+
+    	tester.getSession().info(message);
+    	tester.startPage(testPage);
+    	tester.assertVisible("feedback");
+	}
 
     private static class TestPage extends WebPage implements IMarkupResourceStreamProvider
     {
@@ -49,7 +68,22 @@ public class FeedbackPanelTest extends WicketTestCase
 
         public TestPage()
         {
-            feedbackPanel = new FeedbackPanel("feedback");
+            feedbackPanel = new FeedbackPanel("feedback") 
+            {
+            	/**
+            	 * Hide panel if there is no message to show
+            	 */
+            	@Override
+            	protected void onConfigure()
+            	{
+            		super.onConfigure();
+            		List<FeedbackMessage> messages = getFeedbackMessagesModel().getObject();
+            		
+            		setVisible(messages.size() > 0);
+            	}
+            };
+            
+            
             label = new Label("label");
             add(feedbackPanel, label);
         }