[2/2] wicket git commit: WICKET-6471 inputstream has to be closed

2017-09-21 Thread svenmeier
WICKET-6471 inputstream has to be closed


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

Branch: refs/heads/master
Commit: e15993c092930fe36ab9c624d286a2043172cb76
Parents: 2ab3e0a
Author: Sven Meier 
Authored: Thu Sep 21 23:29:15 2017 +0200
Committer: Sven Meier 
Committed: Thu Sep 21 23:30:00 2017 +0200

--
 .../main/java/org/apache/wicket/resource/FileSystemResource.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/e15993c0/wicket-core/src/main/java/org/apache/wicket/resource/FileSystemResource.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/resource/FileSystemResource.java 
b/wicket-core/src/main/java/org/apache/wicket/resource/FileSystemResource.java
index ee72113..a940b1c 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/resource/FileSystemResource.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/resource/FileSystemResource.java
@@ -102,7 +102,7 @@ public class FileSystemResource extends AbstractResource
Long startbyte = 
cycle.getMetaData(CONTENT_RANGE_STARTBYTE);
Long endbyte = cycle.getMetaData(CONTENT_RANGE_ENDBYTE);
resourceResponse.setWriteCallback(
-   new PartWriterCallback(getInputStream(), size, 
startbyte, endbyte));
+   new PartWriterCallback(getInputStream(), size, 
startbyte, endbyte).setClose(true));
return resourceResponse;
}
catch (IOException e)



wicket git commit: WICKET-6465 prevent unbound during storeTouchedPages with ThreadLocal

2017-09-13 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 72a5d312a -> 68b24aa78


WICKET-6465 prevent unbound during storeTouchedPages with ThreadLocal

This closes #233


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

Branch: refs/heads/master
Commit: 68b24aa788b25a67cfb16bee08a85328dad7b91c
Parents: 72a5d31
Author: Sven Meier 
Authored: Wed Sep 13 23:40:14 2017 +0200
Committer: Sven Meier 
Committed: Thu Sep 14 00:10:01 2017 +0200

--
 .../apache/wicket/page/PageStoreManager.java| 63 ++--
 1 file changed, 44 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/68b24aa7/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java 
b/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
index ae68138..2db301f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
+++ b/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
@@ -24,7 +24,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.http.HttpSessionBindingEvent;
 import javax.servlet.http.HttpSessionBindingListener;
@@ -65,8 +64,8 @@ public class PageStoreManager extends AbstractPageManager
 
if (MANAGERS.containsKey(applicationName))
{
-   throw new IllegalStateException("Manager for 
application with key '" + applicationName
-   + "' already exists.");
+   throw new IllegalStateException(
+   "Manager for application with key '" + 
applicationName + "' already exists.");
}
MANAGERS.put(applicationName, this);
}
@@ -95,14 +94,23 @@ public class PageStoreManager extends AbstractPageManager
private transient List afterReadObject;
 
/**
-* A flag indicating whether this session entry has been re-set 
in the Session.
-* Web containers intercept {@link 
javax.servlet.http.HttpSession#setAttribute(String, Object)}
-* to detect changes and replicate the session. If the 
attribute has been already
-* bound in the session then it will be first unbound and then 
re-bound again.
-* This flag helps us to detect update operations and 
skip the default behavior
-* of {@link #valueUnbound(HttpSessionBindingEvent)}.
+* A flag indicating whether this session entry is being re-set 
in the Session.
+* 
+* Web containers intercept
+* {@link javax.servlet.http.HttpSession#setAttribute(String, 
Object)} to detect changes and
+* replicate the session. If the attribute has been already 
bound in the session then
+* {@link #valueUnbound(HttpSessionBindingEvent)} might get 
called - this flag
+* helps us to ignore the invocation in that case.
+* 
+* @see #valueUnbound(HttpSessionBindingEvent)
 */
-   private final AtomicBoolean updating = new AtomicBoolean(false);
+   private transient ThreadLocal storingTouchedPages = 
new ThreadLocal()
+   {
+   protected Boolean initialValue()
+   {
+   return Boolean.FALSE;
+   };
+   };
 
/**
 * Construct.
@@ -300,11 +308,19 @@ public class PageStoreManager extends AbstractPageManager
 * @throws ClassNotFoundException
 */
@SuppressWarnings("unchecked")
-   private void readObject(final ObjectInputStream s) throws 
IOException,
-   ClassNotFoundException
+   private void readObject(final ObjectInputStream s)
+   throws IOException, ClassNotFoundException
{
s.defaultReadObject();
 
+   storingTouchedPages = new ThreadLocal()
+   {
+   protected Boolean initialValue()
+   {
+   return Boolean.FALSE;
+   };
+   };

wicket git commit: WICKET-6465 prevent unbound during storeTouchedPages with ThreadLocal

2017-09-13 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x dc6d94879 -> b25984d4e


WICKET-6465 prevent unbound during storeTouchedPages with ThreadLocal

This closes #233


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

Branch: refs/heads/wicket-7.x
Commit: b25984d4e9b9d07c5bf2d3e50c90bbb165554409
Parents: dc6d948
Author: Sven Meier 
Authored: Wed Sep 13 23:44:53 2017 +0200
Committer: Sven Meier 
Committed: Thu Sep 14 00:08:05 2017 +0200

--
 .../apache/wicket/page/PageStoreManager.java| 56 ++--
 1 file changed, 40 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/b25984d4/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java 
b/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
index 6934e0d..eb999ee 100644
--- a/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
+++ b/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
@@ -24,7 +24,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.http.HttpSessionBindingEvent;
 import javax.servlet.http.HttpSessionBindingListener;
@@ -65,8 +64,8 @@ public class PageStoreManager extends AbstractPageManager
 
if (MANAGERS.containsKey(applicationName))
{
-   throw new IllegalStateException("Manager for 
application with key '" + applicationName
-   + "' already exists.");
+   throw new IllegalStateException(
+   "Manager for application with key '" + 
applicationName + "' already exists.");
}
MANAGERS.put(applicationName, this);
}
@@ -95,14 +94,23 @@ public class PageStoreManager extends AbstractPageManager
private transient List afterReadObject;
 
/**
-* A flag indicating whether this session entry has been re-set 
in the Session.
-* Web containers intercept {@link 
javax.servlet.http.HttpSession#setAttribute(String, Object)}
-* to detect changes and replicate the session. If the 
attribute has been already
-* bound in the session then it will be first unbound and then 
re-bound again.
-* This flag helps us to detect update operations and 
skip the default behavior
-* of {@link #valueUnbound(HttpSessionBindingEvent)}.
+* A flag indicating whether this session entry is being re-set 
in the Session.
+* 
+* Web containers intercept
+* {@link javax.servlet.http.HttpSession#setAttribute(String, 
Object)} to detect changes and
+* replicate the session. If the attribute has been already 
bound in the session then
+* {@link #valueUnbound(HttpSessionBindingEvent)} might get 
called - this flag
+* helps us to ignore the invocation in that case.
+* 
+* @see #valueUnbound(HttpSessionBindingEvent)
 */
-   private final AtomicBoolean updating = new AtomicBoolean(false);
+   private transient ThreadLocal storingTouchedPages = 
new ThreadLocal()
+   {
+   protected Boolean initialValue()
+   {
+   return Boolean.FALSE;
+   };
+   };
 
/**
 * Construct.
@@ -291,6 +299,14 @@ public class PageStoreManager extends AbstractPageManager
ClassNotFoundException
{
s.defaultReadObject();
+   
+   storingTouchedPages = new ThreadLocal()
+   {
+   protected Boolean initialValue()
+   {
+   return Boolean.FALSE;
+   };
+   };
 
afterReadObject = new ArrayList<>();
 
@@ -317,15 +333,14 @@ public class PageStoreManager extends AbstractPageManager
@Override
public void valueBound(HttpSessionBindingEvent event)
{
-   updating.set(false);
 

wicket git commit: WICKET-6451 enhance support for unmodifiable or null sets

2017-08-31 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 76460108c -> 10f5f76e5


WICKET-6451 enhance support for unmodifiable or null sets


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

Branch: refs/heads/master
Commit: 10f5f76e5d84a85a8aa260b1fd0502bb29a3cc7e
Parents: 7646010
Author: Sven Meier 
Authored: Thu Aug 31 11:28:43 2017 +0200
Committer: Sven Meier 
Committed: Thu Aug 31 11:28:43 2017 +0200

--
 .../wicket/markup/html/form/FormComponent.java  | 33 +++-
 .../html/form/CollectionFormComponentTest.java  | 81 +---
 2 files changed, 102 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/10f5f76e/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index 9d4460e..37722d8 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -42,12 +43,14 @@ import org.apache.wicket.core.util.lang.WicketObjects;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.form.AutoLabelResolver.AutoLabelMarker;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.IObjectClassAwareModel;
 import org.apache.wicket.model.IPropertyReflectionAwareModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.ConversionException;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Classes;
+import org.apache.wicket.util.lang.Objects;
 import org.apache.wicket.util.string.StringList;
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
@@ -1575,7 +1578,7 @@ public abstract class FormComponent extends 
LabeledWebMarkupContainer impleme
/**
 * Update the model of a {@link FormComponent} containing a {@link 
Collection}.
 * 
-* If the model object does not yet exists, a new {@link ArrayList} is 
filled with the converted
+* If the model object does not yet exists, a new suitable collection 
is filled with the converted
 * input and used as the new model object. Otherwise the existing 
collection is modified
 * in-place, then {@link Model#setObject(Object)} is called with the 
same instance: it allows
 * the Model to be notified of changes even when {@link 
Model#getObject()} returns a different
@@ -1599,7 +1602,14 @@ public abstract class FormComponent extends 
LabeledWebMarkupContainer impleme
Collection collection = formComponent.getModelObject();
if (collection == null)
{
-   collection = new ArrayList<>(convertedInput);
+   Class hint = null;
+   if (formComponent.getModel() instanceof 
IObjectClassAwareModel) {
+   hint = 
((IObjectClassAwareModel)formComponent.getModel()).getObjectClass();
+   }
+   if (hint == null) {
+   hint = List.class;
+   }
+   collection = newCollection(hint, convertedInput);
formComponent.setModelObject(collection);
}
else
@@ -1621,7 +1631,7 @@ public abstract class FormComponent extends 
LabeledWebMarkupContainer impleme
logger.debug("An error occurred while 
trying to modify the collection attached to "
+ formComponent, 
unmodifiable);
}
-   collection = new ArrayList<>(convertedInput); 
+   collection = 
newCollection(collection.getClass(), convertedInput);
}

try
@@ -1645,4 +1655,21 @@ public abstract class FormComponent extends 
LabeledWebMarkupContainer impleme
formComponent.modelChanged();
}
}
+   
+   

wicket git commit: WICKET-6396 added default isPresent to IModel

2017-08-18 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 075d8371e -> 22a421a05


WICKET-6396 added default isPresent to IModel


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

Branch: refs/heads/master
Commit: 22a421a05afa53e3311ae05b0c1076047e43e344
Parents: 075d837
Author: Sven Meier 
Authored: Fri Aug 18 23:44:38 2017 +0200
Committer: Sven Meier 
Committed: Fri Aug 18 23:44:38 2017 +0200

--
 .../java/org/apache/wicket/model/IModel.java| 21 
 .../org/apache/wicket/model/IModelTest.java | 12 +++
 2 files changed, 33 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/22a421a0/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
--
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/IModel.java 
b/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
index d33d061..c9db790 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
@@ -348,6 +348,27 @@ public interface IModel extends IDetachable
}
};
}
+   
+   /**
+* Returns a IModel, returning whether the contained object is non-null.
+*
+* @return a new IModel
+*/
+   default IModel isPresent() {
+   return new IModel() {
+   @Override
+   public Boolean getObject()
+   {
+   return IModel.this.getObject() != null;
+   }
+
+   @Override
+   public void detach()
+   {
+   IModel.this.detach();
+   }
+   };
+   }
 
/**
 * Suppresses generics warning when casting model types.

http://git-wip-us.apache.org/repos/asf/wicket/blob/22a421a0/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
--
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java 
b/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
index c2efe29..8f7b585 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
@@ -176,6 +176,18 @@ public class IModelTest extends Assert
}
 
@Test
+   public void isPresent()
+   {
+   assertThat(Model.of(person).isPresent().getObject(), 
is(equalTo(true)));
+   }
+
+   @Test
+   public void isPresentNot()
+   {
+   assertThat(Model.of((Person)null).isPresent().getObject(), 
is(equalTo(false)));
+   }
+
+   @Test
public void serializableMethodReference()
{
Person p = new Person();



wicket git commit: WICKET-6432 added factory method for non-model targetChainingModel logs warning now if target is not serializable

2017-08-06 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master c5f758e4a -> f9a9bf9c3


WICKET-6432 added factory method for non-model targetChainingModel logs warning 
now if target is not serializable


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

Branch: refs/heads/master
Commit: f9a9bf9c3fb0b1390b6600d027bb64ae7e4f3c03
Parents: c5f758e
Author: Sven Meier 
Authored: Sun Aug 6 09:24:04 2017 +0200
Committer: Sven Meier 
Committed: Sun Aug 6 09:24:39 2017 +0200

--
 .../java/org/apache/wicket/model/ChainingModel.java |  6 ++
 .../apache/wicket/model/CompoundPropertyModel.java  | 16 
 2 files changed, 22 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/f9a9bf9c/wicket-core/src/main/java/org/apache/wicket/model/ChainingModel.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/model/ChainingModel.java 
b/wicket-core/src/main/java/org/apache/wicket/model/ChainingModel.java
index 8d8df3f..fa0ca7a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/ChainingModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/ChainingModel.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.model;
 
+import java.io.Serializable;
+
 import org.apache.wicket.Session;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,6 +48,10 @@ public class ChainingModel implements IChainingModel
+ "in models directly as it may lead to 
serialization problems. "
+ "If you need to access a property of 
the session via the model use the "
+ "page instance as the model object 
and 'session.attribute' as the path.");
+   } else if (modelObject instanceof Serializable == false)
+   {
+   LOG.warn("It is not a good idea to reference a 
non-serializable instance "
+   + "in models directly as it may lead to 
serialization problems.");
}
 
target = modelObject;

http://git-wip-us.apache.org/repos/asf/wicket/blob/f9a9bf9c/wicket-core/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java 
b/wicket-core/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java
index 50bd4a0..74bf429 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.model;
 
+import java.io.Serializable;
+
 import org.apache.wicket.Component;
 
 /**
@@ -155,4 +157,18 @@ public class CompoundPropertyModel extends 
ChainingModel implements ICompo
{
return new CompoundPropertyModel<>(model);
}
+   
+   /**
+* Type-infering factory method
+* 
+* @param 
+* the type of the model's object
+* @param object
+*model object
+* @return {@link CompoundPropertyModel} instance
+*/
+   public static  CompoundPropertyModel of(Z 
object)
+   {
+   return new CompoundPropertyModel<>(object);
+   }
 }



wicket git commit: WICKET-6430 deprecate assertListView

2017-07-28 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 48b2aa128 -> 2354d9deb


WICKET-6430 deprecate assertListView


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

Branch: refs/heads/master
Commit: 2354d9deb97a382f9d4640e0fb97fe4b22724c45
Parents: 48b2aa1
Author: Sven Meier 
Authored: Fri Jul 28 13:32:35 2017 +0200
Committer: Sven Meier 
Committed: Fri Jul 28 13:32:35 2017 +0200

--
 .../main/java/org/apache/wicket/util/tester/BaseWicketTester.java | 3 ++-
 .../src/main/java/org/apache/wicket/util/tester/WicketTester.java | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/2354d9de/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index 2d62f11..ddcffb6 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -1843,7 +1843,8 @@ public class BaseWicketTester
 *path to {@link ListView} component
 * @param expectedList
 *expected list in the model of {@link ListView}
-* @Deprecated use {@link WicketTester#assertModelValue(String, 
Object)} instead
+* @deprecated use {@link WicketTester#assertComponent(String, Class) 
combined with
+* {@link WicketTester#assertModelValue(String, Object)} 
instead
 */
@Deprecated
public void assertListView(String path, List expectedList)

http://git-wip-us.apache.org/repos/asf/wicket/blob/2354d9de/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
index 5b1dd76..613bb02 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
@@ -647,7 +647,8 @@ public class WicketTester extends BaseWicketTester
 *path to a {@link ListView} Component
 * @param expectedList
 *expected List in the model of the given 
{@link ListView}
-* @Deprecated use {@link #assertModelValue(String, Object)} instead
+* @Deprecated use {@link #assertComponent(String, Class) combined with
+* {@link #assertModelValue(String, Object)} instead
 */
@Deprecated
@Override



wicket git commit: WICKET-6430 deprecate assertListView

2017-07-27 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master d7e8fe276 -> 48b2aa128


WICKET-6430 deprecate assertListView


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

Branch: refs/heads/master
Commit: 48b2aa128fa4f56f623170af548d90fad4f48860
Parents: d7e8fe2
Author: Sven Meier 
Authored: Thu Jul 27 22:00:02 2017 +0200
Committer: Sven Meier 
Committed: Thu Jul 27 22:00:02 2017 +0200

--
 .../main/java/org/apache/wicket/util/tester/BaseWicketTester.java  | 2 ++
 .../src/main/java/org/apache/wicket/util/tester/WicketTester.java  | 2 ++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/48b2aa12/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index 142083e..2d62f11 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -1843,7 +1843,9 @@ public class BaseWicketTester
 *path to {@link ListView} component
 * @param expectedList
 *expected list in the model of {@link ListView}
+* @Deprecated use {@link WicketTester#assertModelValue(String, 
Object)} instead
 */
+   @Deprecated
public void assertListView(String path, List expectedList)
{
ListView listView = 
(ListView)getComponentFromLastRenderedPage(path);

http://git-wip-us.apache.org/repos/asf/wicket/blob/48b2aa12/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
index 9e905c1..5b1dd76 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
@@ -647,7 +647,9 @@ public class WicketTester extends BaseWicketTester
 *path to a {@link ListView} Component
 * @param expectedList
 *expected List in the model of the given 
{@link ListView}
+* @Deprecated use {@link #assertModelValue(String, Object)} instead
 */
+   @Deprecated
@Override
public void assertListView(String path, List expectedList)
{



wicket git commit: WICKET-6403 add reference to onError on onUpdate

2017-06-21 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master ecd909040 -> eeb0c6de3


WICKET-6403 add reference to onError on onUpdate

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

Branch: refs/heads/master
Commit: eeb0c6de3f335073816f6cf0d30925b8d7f333ad
Parents: ecd9090
Author: Sven Meier 
Authored: Wed Jun 21 19:34:43 2017 +0200
Committer: Sven Meier 
Committed: Wed Jun 21 19:34:43 2017 +0200

--
 .../wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java  | 3 +++
 .../wicket/markup/html/form/FormComponentUpdatingBehavior.java   | 4 
 2 files changed, 7 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/eeb0c6de/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
index 09474d5..a6d5952 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
@@ -195,6 +195,9 @@ public abstract class AjaxFormComponentUpdatingBehavior 
extends AjaxEventBehavio
/**
 * Listener invoked on the ajax request. This listener is invoked after 
the component's model
 * has been updated.
+* 
+* Note: {@link #onError(AjaxRequestTarget, RuntimeException)} is 
called instead when processing
+* of the {@link FormComponent} failed with conversion or validation 
errors!
 * 
 * @param target
 *the current request handler

http://git-wip-us.apache.org/repos/asf/wicket/blob/eeb0c6de/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
index 3bdb883..0d5f410 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
@@ -19,6 +19,7 @@ package org.apache.wicket.markup.html.form;
 import org.apache.wicket.Component;
 import org.apache.wicket.IRequestListener;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
@@ -202,6 +203,9 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
 
/**
 * Hook method invoked when the component is updated.
+* 
+* Note: {@link #onError(AjaxRequestTarget, RuntimeException)} is 
called instead when processing
+* of the {@link FormComponent} failed with conversion or validation 
errors!  
 */
protected void onUpdate()
{



wicket git commit: WICKET-6386 don't call isPageStateless() prematurely

2017-06-07 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x d0aab2085 -> 348462994


WICKET-6386 don't call isPageStateless() prematurely


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

Branch: refs/heads/wicket-7.x
Commit: 3484629946341cdfca9bb0467ab54af7accc95ea
Parents: d0aab20
Author: Sven Meier 
Authored: Wed Jun 7 19:56:51 2017 +0200
Committer: Sven Meier 
Committed: Wed Jun 7 19:56:51 2017 +0200

--
 .../wicket/request/handler/render/WebPageRenderer.java   | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/34846299/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
 
b/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
index a59e585..6090df0 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
@@ -329,16 +329,10 @@ public class WebPageRenderer extends PageRenderer
return (compatibleProtocols(currentUrl.getProtocol(), 
targetUrl.getProtocol())) &&
(neverRedirect(getRedirectPolicy())
|| ((isOnePassRender() && 
notForcedRedirect(getRedirectPolicy())) || (targetUrl
-   .equals(currentUrl) && 
notNewAndNotStatelessPage(isNewPageInstance(),
-   isPageStateless( || 
(targetUrl.equals(currentUrl) && isRedirectToRender())
+   .equals(currentUrl) && (!isNewPageInstance() && 
!isPageStateless( || (targetUrl.equals(currentUrl) && isRedirectToRender())
|| (shouldPreserveClientUrl(cycle) && 
notForcedRedirect(getRedirectPolicy(;
}
 
-   private static boolean notNewAndNotStatelessPage(boolean 
newPageInstance, boolean pageStateless)
-   {
-   return !newPageInstance && !pageStateless;
-   }
-
private static boolean neverRedirect(RedirectPolicy redirectPolicy)
{
return redirectPolicy == RedirectPolicy.NEVER_REDIRECT;



wicket git commit: WICKET-6386 don't call isPageStateless() prematurely

2017-06-07 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master d89357404 -> 3fd9c9836


WICKET-6386 don't call isPageStateless() prematurely


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

Branch: refs/heads/master
Commit: 3fd9c9836e5035ed18b75d31e589b6aeac1740e4
Parents: d893574
Author: Sven Meier 
Authored: Wed Jun 7 19:56:51 2017 +0200
Committer: Sven Meier 
Committed: Wed Jun 7 20:01:47 2017 +0200

--
 .../wicket/request/handler/render/WebPageRenderer.java   | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/3fd9c983/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
 
b/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
index c48942b..544fc34 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
@@ -329,16 +329,10 @@ public class WebPageRenderer extends PageRenderer
return (compatibleProtocols(currentUrl.getProtocol(), 
targetUrl.getProtocol())) &&
(neverRedirect(getRedirectPolicy())
|| ((isOnePassRender() && 
notForcedRedirect(getRedirectPolicy())) || (targetUrl
-   .equals(currentUrl) && 
notNewAndNotStatelessPage(isNewPageInstance(),
-   isPageStateless( || 
(targetUrl.equals(currentUrl) && isRedirectToRender())
+   .equals(currentUrl) && (!isNewPageInstance() && 
!isPageStateless( || (targetUrl.equals(currentUrl) && isRedirectToRender())
|| (shouldPreserveClientUrl(cycle) && 
notForcedRedirect(getRedirectPolicy(;
}
 
-   private static boolean notNewAndNotStatelessPage(boolean 
newPageInstance, boolean pageStateless)
-   {
-   return !newPageInstance && !pageStateless;
-   }
-
private static boolean neverRedirect(RedirectPolicy redirectPolicy)
{
return redirectPolicy == RedirectPolicy.NEVER_REDIRECT;



wicket git commit: WICKET-6366 check input still on page

2017-06-05 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 4b2eae7b0 -> f3c246161


WICKET-6366 check input still on page

this closes #220


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

Branch: refs/heads/wicket-6.x
Commit: f3c24616127eee055f233fa81af6148da9478fd2
Parents: 4b2eae7
Author: Sven Meier 
Authored: Mon Jun 5 14:37:04 2017 +0200
Committer: Sven Meier 
Committed: Mon Jun 5 14:39:21 2017 +0200

--
 .../html/autocomplete/wicket-autocomplete.js| 20 +---
 1 file changed, 13 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/f3c24616/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
index eef836f..37c359a 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
@@ -376,18 +376,20 @@
var attrs = {
u: callbackUrl,
pre: [ function (attributes) {
-   // since attrs.c is not set, we have to 
check existence by ourself
-   if (!Wicket.$$(elementId)) {
+   var input = Wicket.$(elementId);
+   if (!input) {
+   // WICKET-6366 input might no 
longer be on page
return false;
}

var activeIsInitial = 
(document.activeElement === initialElement);
-   var elementVal =  
Wicket.$(elementId).value;
-   var hasMinimumLength = 
elementVal.length >= minInputLength;
+   var hasMinimumLength = 
input.value.length >= minInputLength;
var result = hasMinimumLength && 
activeIsInitial;
+   
if (!result) {
hideAutoComplete();
}
+   
return result;
}],
ep: {},
@@ -676,7 +678,7 @@
}
 
if(elementCount>0){
-   if(cfg.preselect === true){
+   if (cfg.preselect === true){
var selectedIndex = 
defaultSelection?defaultSelection:0;
for(var ec = 0; ec < elementCount; 
ec++) {
var selectableElement = 
selectableElements[ec];
@@ -718,8 +720,12 @@
function scheduleEmptyCheck() {
window.setTimeout(function() {
var input=Wicket.$(elementId);
-   if (!cfg.showListOnEmptyInput && (input.value 
=== null || input.value === "")) {
-   hideAutoComplete();
+   
+   // WICKET-6366 input might no longer be on page
+   if (input) {
+   if (!cfg.showListOnEmptyInput && 
(input.value === null || input.value === "")) {
+   hideAutoComplete();
+   }
}
}, 100);
}



wicket git commit: WICKET-6366 check input still on page

2017-06-05 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 11df645ad -> d89357404


WICKET-6366 check input still on page

this closes #220


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

Branch: refs/heads/master
Commit: d89357404bbef4ed7b5bd8400136ad34512f7ff5
Parents: 11df645
Author: Sven Meier 
Authored: Mon Jun 5 14:20:20 2017 +0200
Committer: Sven Meier 
Committed: Mon Jun 5 14:23:21 2017 +0200

--
 .../html/autocomplete/wicket-autocomplete.js   | 17 +
 1 file changed, 13 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/d8935740/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
index 0a4f8b0..5fa8d2e 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
@@ -357,9 +357,14 @@
 
attrs.pre = attrs.pre || [];
attrs.pre.push(function (attributes) {
+   var input = Wicket.$(elementId);
+   if (!input) {
+   // WICKET-6366 input might no longer be 
on page
+   return false;
+   }
+   
var activeIsInitial = (document.activeElement 
=== initialElement);
-   var elementVal = Wicket.$(elementId).value;
-   var hasMinimumLength = elementVal.length >= 
minInputLength;
+   var hasMinimumLength = input.value.length >= 
minInputLength;

var result = hasMinimumLength && 
activeIsInitial;

@@ -682,8 +687,12 @@
function scheduleEmptyCheck() {
window.setTimeout(function() {
var input=Wicket.$(elementId);
-   if (!cfg.showListOnEmptyInput && (input.value 
=== null || input.value === "")) {
-   hideAutoComplete();
+   
+   // WICKET-6366 input might no longer be on page
+   if (input) {
+   if (!cfg.showListOnEmptyInput && 
(input.value === null || input.value === "")) {
+   hideAutoComplete();
+   }
}
}, 100);
}



wicket git commit: WICKET-6366 check input still on page

2017-06-05 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x fab4998db -> d0aab2085


WICKET-6366 check input still on page

this closes #220


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

Branch: refs/heads/wicket-7.x
Commit: d0aab20850f8cfefe4aedbac52d84a0a90005a7c
Parents: fab4998
Author: Sven Meier 
Authored: Mon Jun 5 14:20:20 2017 +0200
Committer: Sven Meier 
Committed: Mon Jun 5 14:20:20 2017 +0200

--
 .../html/autocomplete/wicket-autocomplete.js   | 17 +
 1 file changed, 13 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/d0aab208/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
index 0a4f8b0..5fa8d2e 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
@@ -357,9 +357,14 @@
 
attrs.pre = attrs.pre || [];
attrs.pre.push(function (attributes) {
+   var input = Wicket.$(elementId);
+   if (!input) {
+   // WICKET-6366 input might no longer be 
on page
+   return false;
+   }
+   
var activeIsInitial = (document.activeElement 
=== initialElement);
-   var elementVal = Wicket.$(elementId).value;
-   var hasMinimumLength = elementVal.length >= 
minInputLength;
+   var hasMinimumLength = input.value.length >= 
minInputLength;

var result = hasMinimumLength && 
activeIsInitial;

@@ -682,8 +687,12 @@
function scheduleEmptyCheck() {
window.setTimeout(function() {
var input=Wicket.$(elementId);
-   if (!cfg.showListOnEmptyInput && (input.value 
=== null || input.value === "")) {
-   hideAutoComplete();
+   
+   // WICKET-6366 input might no longer be on page
+   if (input) {
+   if (!cfg.showListOnEmptyInput && 
(input.value === null || input.value === "")) {
+   hideAutoComplete();
+   }
}
}, 100);
}



wicket git commit: WICKET-6286 don't require attachment for blob download, inline won't work anyway

2017-04-13 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master f295636ab -> 185539efc


WICKET-6286 don't require attachment for blob download, inline won't work anyway


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

Branch: refs/heads/master
Commit: 185539efcfb38e9f9f16f5a97d2b29cbed0239bf
Parents: f295636
Author: Sven Meier 
Authored: Thu Apr 13 12:45:00 2017 +0200
Committer: Sven Meier 
Committed: Thu Apr 13 12:45:00 2017 +0200

--
 .../main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java | 3 +--
 .../java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/185539ef/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
index 7815121..370b77a 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
@@ -73,8 +73,7 @@ public class AjaxDownload extends AbstractDefaultAjaxBehavior
 
public enum Location {
/**
-* The resource will be downloaded into a blob, the resource 
has to be a
-* {@link ContentDisposition#ATTACHMENT}..
+* The resource will be downloaded into a {@code blob}.
 * 
 * This is recommended for modern browsers.
 */

http://git-wip-us.apache.org/repos/asf/wicket/blob/185539ef/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index ec7ae62..f8452ae 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -106,7 +106,7 @@
if (this.status === 200) {
var filename = "";
var disposition = 
xhr.getResponseHeader("Content-Disposition");
-   if (disposition && 
disposition.indexOf("attachment") !== -1) {
+   if (disposition) {
var matches = 
/filename[^;=\n]*=(([""]).*?\2|[^;\n]*)/.exec(disposition);
if (matches != null && 
matches[1]) {
filename = 
matches[1].replace(/[""]/g, "");



wicket git commit: WICKET-6322 removed another comp factory

2017-04-10 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master d0974d428 -> 89b1cb163


WICKET-6322 removed another comp factory

... with two lamnbda arguments


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

Branch: refs/heads/master
Commit: 89b1cb163d4d3bd44e2cbf903b5026827181a12d
Parents: d0974d4
Author: Sven Meier 
Authored: Mon Apr 10 19:50:28 2017 +0200
Committer: Sven Meier 
Committed: Mon Apr 10 19:50:28 2017 +0200

--
 .../ajax/markup/html/IndicatingAjaxButton.java  | 25 +---
 1 file changed, 1 insertion(+), 24 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/89b1cb16/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java
index 989c4a2..6c2ee5d 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/IndicatingAjaxButton.java
@@ -110,27 +110,4 @@ public abstract class IndicatingAjaxButton extends 
AjaxButton implements IAjaxIn
}
};
}
-
-   public static IndicatingAjaxButton onSubmit(String id,
-   SerializableBiConsumer onSubmit,
-   SerializableBiConsumer onError)
-   {
-   Args.notNull(onSubmit, "onSubmit");
-   Args.notNull(onError, "onError");
-
-   return new IndicatingAjaxButton(id)
-   {
-   @Override
-   public void onSubmit(AjaxRequestTarget target)
-   {
-   onSubmit.accept(this, target);
-   }
-
-   @Override
-   protected void onError(AjaxRequestTarget target)
-   {
-   onError.accept(this, target);
-   }
-   };
-   }
-}
+}
\ No newline at end of file



wicket git commit: WICKET-6350 corrected error message

2017-04-04 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 24500049d -> c3e475e2e


WICKET-6350 corrected error message

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

Branch: refs/heads/wicket-7.x
Commit: c3e475e2e813165968c42f7f71969ba459e6740d
Parents: 2450004
Author: Sven Meier 
Authored: Thu Mar 30 09:07:56 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 21:33:39 2017 +0200

--
 .../java/org/apache/wicket/markup/html/form/FormComponent.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/c3e475e2/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index 32f720d..b9bcf55 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -1050,7 +1050,7 @@ public abstract class FormComponent extends 
LabeledWebMarkupContainer impleme
if (!required && getType() != null && getType().isPrimitive())
{
throw new WicketRuntimeException(
-   "FormComponent can't be required when the type 
is primitive class: " + this);
+   "FormComponent has to be required when the type 
is primitive class: " + this);
}
if (required != isRequired())
{



[5/8] wicket git commit: WICKET-6348 use submitter instead of hidden field

2017-04-04 Thread svenmeier
WICKET-6348 use submitter instead of hidden field


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

Branch: refs/heads/master
Commit: 25567ba12214e2d32b27fec4789833a5d89cc59a
Parents: e7dcf2f
Author: Sven Meier 
Authored: Tue Mar 28 21:34:56 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../apache/wicket/markup/html/form/Check.java   |   2 +-
 .../wicket/markup/html/form/CheckBox.java   |  67 ++--
 .../wicket/markup/html/form/CheckGroup.java |  66 ++--
 .../wicket/markup/html/form/DropDownChoice.java |  69 ++--
 .../apache/wicket/markup/html/form/Form.java| 164 +--
 .../apache/wicket/markup/html/form/Radio.java   |   2 +-
 .../wicket/markup/html/form/RadioChoice.java|  67 ++--
 .../wicket/markup/html/form/RadioGroup.java |  63 ++-
 .../wicket/markup/html/form/StatelessForm.java  |   1 -
 .../wicket/markup/html/form/SubmitLink.java |  40 ++---
 .../form/AjaxFormSubmitTestPage_expected.html   |   2 +-
 .../OnChangeAjaxBehaviorTestPage_expected.html  |   2 +-
 .../CheckGroupDisabledTestPage_expected.html|   2 +-
 .../html/form/CheckGroupTestPage1_expected.html |   2 +-
 .../html/form/CheckGroupTestPage2_expected.html |   2 +-
 .../html/form/CheckGroupTestPage3_expected.html |   2 +-
 .../html/form/CheckGroupTestPage4_expected.html |   2 +-
 ...DropDownChoiceTestPage_A_false_expected.html |   2 +-
 .../DropDownChoiceTestPage_A_true_expected.html |   2 +-
 ...pDownChoiceTestPage_null_false_expected.html |   2 +-
 ...opDownChoiceTestPage_null_true_expected.html |   2 +-
 .../html/form/FormMethodTestPage_expected.html  |   4 +-
 .../RadioGroupDisabledTestPage_expected.html|   2 +-
 .../html/form/RadioGroupTestPage1_expected.html |   2 +-
 .../html/form/RadioGroupTestPage3_expected.html |   2 +-
 .../form/feedback/FeedbackFormPage_result1.html |   2 +-
 .../form/feedback/FeedbackFormPage_result2.html |   2 +-
 .../FeedbackIndicatorFormPage_result1.html  |   2 +-
 .../FeedbackIndicatorFormPage_result2.html  |   2 +-
 .../html/form/pageWithParameters_expected.html  |   4 +-
 .../validation/HomePage1_ExpectedResult.html|   2 +-
 .../EnclosurePageExpectedResult_9-1-1.html  |   2 +-
 .../EnclosurePageExpectedResult_9-1.html|   2 +-
 .../EnclosurePageExpectedResult_9-2-1.html  |   2 +-
 .../EnclosurePageExpectedResult_9-2.html|   2 +-
 .../EnclosurePageExpectedResult_9-3-1.html  |   2 +-
 .../EnclosurePageExpectedResult_9-3-2.html  |   2 +-
 .../EnclosurePageExpectedResult_9-3.html|   2 +-
 .../EnclosurePageExpectedResult_9-4.html|   2 +-
 .../internal/EnclosurePageExpectedResult_9.html |   2 +-
 .../tags/InputTagNotVisibleWebPageResult.html   |   2 +-
 .../html/tags/InputTagVisibleWebPageResult.html |   2 +-
 .../StatelessPageWithForm_expected.html |   2 +-
 .../yui/calendar/DatesPage1_ExpectedResult.html |   6 +-
 44 files changed, 358 insertions(+), 259 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/25567ba1/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
index ed50c80..83fa278 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
@@ -203,7 +203,7 @@ public class Check extends LabeledWebMarkupContainer 
implements IGenericCompo
Form form = group.findParent(Form.class);
if (form != null)
{
-   tag.put("onclick", 
form.getJsForInterfaceUrl(url));
+   tag.put("onclick", 
form.getJsForListenerUrl(url));
}
else
{

http://git-wip-us.apache.org/repos/asf/wicket/blob/25567ba1/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
index 9e25c4b..da8f049 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
@@ -19,6 +19,7 @@ package org.apache.wicket.markup.html.form;
 impor

[4/8] wicket git commit: WICKET-6348 added javadoc; #getUpdateModel(); restored example

2017-04-04 Thread svenmeier
WICKET-6348 added javadoc; #getUpdateModel(); restored example

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

Branch: refs/heads/master
Commit: 8f8ad37458e81d93d3fdaeea0e782a41942176df
Parents: e2af756
Author: Sven Meier 
Authored: Wed Mar 29 20:22:15 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../html/form/SelectionChangeBehavior.java  | 130 +++
 .../wicket/examples/compref/CheckGroupPage.html |   3 +
 .../wicket/examples/compref/CheckGroupPage.java |  14 +-
 3 files changed, 117 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/8f8ad374/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
index 8943d12..8298c06 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
@@ -18,10 +18,20 @@ package org.apache.wicket.markup.html.form;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.IRequestListener;
+import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.lang.Args;
 
+/**
+ * A behavior to get change notifications when a choice component changes its 
selection.
+ * 
+ * Contrary to {@link AjaxFormChoiceComponentUpdatingBehavior} all 
notification are send via
+ * standard HTTP requests and the full page is rendered as the response.
+ * 
+ * @see SelectionChangeBehavior#onSelectionChanged()
+ */
 public class SelectionChangeBehavior extends Behavior implements 
IRequestListener
 {
 
@@ -32,29 +42,46 @@ public class SelectionChangeBehavior extends Behavior 
implements IRequestListene
{
return false;
}
-   
+
@Override
-   public void bind(Component component)
+   public final void bind(final Component hostComponent)
{
-   this.formComponent = (FormComponent)component;
-   
+   Args.notNull(hostComponent, "hostComponent");
+
+   if (formComponent != null)
+   {
+   throw new IllegalStateException("this kind of handler 
cannot be attached to " +
+   "multiple components; it is already attached to 
component " + formComponent +
+   ", but component " + hostComponent + " wants to 
be attached too");
+   }
+
+   this.formComponent = (FormComponent)hostComponent;
+
formComponent.setRenderBodyOnly(false);
+
+   // call the callback
+   onBind();
+   }
+
+   protected void onBind()
+   {
}
 
public FormComponent getFormComponent()
{
return formComponent;
}
-   
+
@Override
public void onComponentTag(Component component, ComponentTag tag)
{
CharSequence url = component.urlForListener(this, new 
PageParameters());
 
String event = getJSEvent();
-   
-   String condition = String.format("if (event.target.name !== 
'%s') return; ", formComponent.getInputName());
-   
+
+   String condition = String.format("if (event.target.name !== 
'%s') return; ",
+   formComponent.getInputName());
+
Form form = component.findParent(Form.class);
if (form != null)
{
@@ -63,39 +90,85 @@ public class SelectionChangeBehavior extends Behavior 
implements IRequestListene
else
{
char separator = url.toString().indexOf('?') > -1 ? '&' 
: '?';
-   
-   tag.put(event,
-   condition + 
String.format("window.location.href='%s%s%s=' + %s;", url, separator, 
formComponent.getInputName(), getJSValue()));
+
+   tag.put(event, condition + 
String.format("window.location.href='%s%s%s=' + %s;", url,
+   separator, formComponent.getInputName(), 
getJSValue()));
}
}
 

[2/8] wicket git commit: WICKET-6348 guide update for FormComponentUpdatingBehavior

2017-04-04 Thread svenmeier
WICKET-6348 guide update for FormComponentUpdatingBehavior


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

Branch: refs/heads/master
Commit: ad429c19d6dd6486bd01b20ddf1d9bd16bca146e
Parents: c1d389d
Author: Sven Meier 
Authored: Thu Mar 30 17:05:14 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../src/main/asciidoc/advanced/advanced_2.adoc  |  4 +-
 .../src/main/asciidoc/forms2/forms2_11.adoc |  2 +-
 .../asciidoc/modelsforms/modelsforms_6.adoc | 50 
 3 files changed, 23 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/ad429c19/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc 
b/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
index c03c060..0ec6a2f 100644
--- a/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
+++ b/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
@@ -53,9 +53,9 @@ public abstract class Link extends AbstractLink implements 
IRequestListener .
 }
 
 
-Callback URLs can be generated with _Component_'s method 
_urlFor(PageParameters)_ or with method _urlFor (Behavior, 
RequestListenerInterface, PageParameters)_ if we are using a callback interface 
with a behavior (see the following example).
+Callback URLs can be generated with _Component_'s method 
_urlForListener(PageParameters)_ or with method _urlForListener(Behavior, 
PageParameters)_ if we are using a request listener on a component or behavior 
respectively (see the following example).
 
-Project _CallbackURLExample_ contains a behavior (class 
_OnChangeSingleChoiceBehavior_) that implements 
_org.apache.wicket.IRequestListener_ to update the model of an 
_AbstractSingleSelectChoice_ component when user changes the selected option 
(it provides the same functionality of method 
_wantOnSelectionChangedNotifications_). 
+Project _CallbackURLExample_ contains a behavior (class 
_OnChangeSingleChoiceBehavior_) that implements 
_org.apache.wicket.IRequestListener_ to update the model of an 
_AbstractSingleSelectChoice_ component when user changes the selected option 
(it provides the same functionality as _FormComponentUpdatingBehavior_). 
 The following is the implementation of _onRequest()_ provided by 
_OnSelectionChangedNotifications_:
 
 [source,java]

http://git-wip-us.apache.org/repos/asf/wicket/blob/ad429c19/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc 
b/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
index 9f8a7ed..371350d 100644
--- a/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
+++ b/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
@@ -195,5 +195,5 @@ form.add(new RadioChoice("radioGroup", Model.of(""), 
fruits));
 
 image::../img/grouped-radiobutton.png[]
 
-Just like CheckBoxMultipleChoice, this component provides the setPrefix and 
setSuffix methods to configure the prefix and suffix for our options and it 
supports IChoiceRender as well. In addition, RadioChoice provides the 
wantOnSelectionChangedNotifications() method to notify the web server when the 
selected option changes (this is the same method seen for DropDownChoice in 
paragraph 9.4).
+Just like CheckBoxMultipleChoice, this component provides the setPrefix and 
setSuffix methods to configure the prefix and suffix for our options and it 
supports IChoiceRender as well.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/ad429c19/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc 
b/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
index f7d4b1c..3a4f39e 100644
--- a/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
+++ b/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
@@ -7,7 +7,7 @@ The example page will look like this:
 
 image::../img/model-chaining.png[]
 
-What we want to do in this example is to chain the model of the DropDownChoice 
(which contains the selected Person) with the model of the Form. In this way 
the Form will work with the selected Person as backing object. The 
DropDownChoice component can be configured to automatically update its model 
each time we change the selected item on the client side. All we ha

[6/8] wicket git commit: WICKET-6348 renamed to FormComponentUpdatingBehavior

2017-04-04 Thread svenmeier
WICKET-6348 renamed to FormComponentUpdatingBehavior

keep deprecated getJsForInterfaceUrl()

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

Branch: refs/heads/master
Commit: 9bc7ee4742715d83cf4d384151cbbb4bd7e2e2d2
Parents: 8f8ad37
Author: Sven Meier 
Authored: Thu Mar 30 09:44:21 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../apache/wicket/markup/html/form/Form.java|   7 +
 .../form/FormComponentUpdatingBehavior.java | 218 +++
 .../html/form/SelectionChangeBehavior.java  | 218 ---
 .../apache/wicket/util/tester/FormTester.java   |   4 +-
 .../org/apache/wicket/MockPageWithForm.java |   6 +-
 .../wicket/util/tester/FormTesterTest.java  |   6 +-
 .../extensions/yui/calendar/DatesPage1.java |   4 +-
 .../apache/wicket/examples/dates/DatesPage.java |   4 +-
 .../wicket/examples/forminput/FormInput.java|   6 +-
 .../wicket/examples/tree/AdvancedTreePage.java  |   6 +-
 10 files changed, 243 insertions(+), 236 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/9bc7ee47/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
index 6edd242..13aadf8 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
@@ -509,6 +509,13 @@ public class Form extends WebMarkupContainer
}
 
/**
+* @deprecated use {@link #getJsForListenerUrl(CharSequence)} instead.
+*/
+   public final CharSequence getJsForInterfaceUrl(CharSequence url) {
+   return getJsForListenerUrl(url);
+   }
+
+   /**
 * Generate a piece of JavaScript that submits the form to the given 
URL.
 * 
 * Warning: This code should only be called in the rendering phase for 
form components inside

http://git-wip-us.apache.org/repos/asf/wicket/blob/9bc7ee47/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
new file mode 100644
index 000..e57828b
--- /dev/null
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
@@ -0,0 +1,218 @@
+/*
+ * 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.html.form;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.IRequestListener;
+import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.lang.Args;
+
+/**
+ * A behavior to get notifications when a {@link FormComponent} changes its 
value.
+ * 
+ * Contrary to {@link AjaxFormComponentUpdatingBehavior} all notification are 
send via
+ * standard HTTP requests and the full page is rendered as a response.
+ * 
+ * @see FormComponentUpdatingBehavior#onUpdate()
+ */
+public class FormComponentUpdatingBehavior extends Behavior implements 
IRequestListener
+{
+
+   private FormComponent formComponent;
+
+   @Override
+   public boolean getStatelessHint(Component component)
+   {
+   return false;
+   }
+
+   @Override
+   public final void bind(final Component hostComponent)
+   {
+   Args.no

[1/8] wicket git commit: WICKET-6348 call all FormComponentUpdatingBehavior on select

2017-04-04 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master e7dcf2f68 -> 137fa9e40


WICKET-6348 call all FormComponentUpdatingBehavior on select


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

Branch: refs/heads/master
Commit: 137fa9e40237e12c2a9566f7701356796d43aaa9
Parents: 75547ab
Author: Sven Meier 
Authored: Tue Apr 4 17:24:19 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../src/main/java/org/apache/wicket/util/tester/FormTester.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/137fa9e4/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
index 93b735c..031aac4 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
@@ -506,9 +506,8 @@ public class FormTester
ChoiceSelector choiceSelector = 
choiceSelectorFactory.create(component);
choiceSelector.doSelect(index);
 
-   List behaviors = 
component.getBehaviors(FormComponentUpdatingBehavior.class);
-   if (behaviors.isEmpty() == false) {
-   tester.invokeListener(component, behaviors.get(0));
+   for (FormComponentUpdatingBehavior updater : 
component.getBehaviors(FormComponentUpdatingBehavior.class)) {
+   tester.invokeListener(component, updater);
}
 
return this;



[7/8] wicket git commit: WICKET-6348 added javadoc and overridable #getEvent()

2017-04-04 Thread svenmeier
WICKET-6348 added javadoc and overridable #getEvent()


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

Branch: refs/heads/master
Commit: 75547ab9eb7f615ec987b93bcfec8df73618148c
Parents: ad429c1
Author: Sven Meier 
Authored: Fri Mar 31 15:07:11 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../form/FormComponentUpdatingBehavior.java | 27 ++--
 1 file changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/75547ab9/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
index 89a2174..3bdb883 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
@@ -28,8 +28,17 @@ import org.apache.wicket.util.lang.Args;
 /**
  * A behavior to get notifications when a {@link FormComponent} changes its 
value.
  * 
- * Contrary to {@link AjaxFormComponentUpdatingBehavior} all notification are 
send via
+ * Contrary to {@link AjaxFormComponentUpdatingBehavior} all notification are 
sent via
  * standard HTTP requests and the full page is rendered as a response.
+ * 
+ * Notification is triggered by an event suitable for the host component this
+ * behavior is added to - if needed {@link #getEvent()} can be overridden to 
change the default
+ * ({@value change} for {@link DropDownChoice}, {@link ListMultipleChoice} and 
{@link AbstractTextComponent}, 
+ * {@value click} for anything else).
+ * 
+ * Note: This behavior has limited support for {@link FormComponent}s outside 
of a form, i.e. multiple
+ * choice components ({@link ListMultipleChoice} and {@link RadioGroup}) will 
send their last selected
+ * choice only.
  * 
  * @see FormComponentUpdatingBehavior#onUpdate()
  */
@@ -93,7 +102,7 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
{
CharSequence url = component.urlForListener(this, new 
PageParameters());
 
-   String event = getJSEvent();
+   String event = getEvent();
 
String condition = String.format("if (event.target.name !== 
'%s') return; ",
formComponent.getInputName());
@@ -101,29 +110,31 @@ public class FormComponentUpdatingBehavior extends 
Behavior implements IRequestL
Form form = component.findParent(Form.class);
if (form != null)
{
-   tag.put(event, condition + 
form.getJsForListenerUrl(url.toString()));
+   tag.put("on" + event, condition + 
form.getJsForListenerUrl(url.toString()));
}
else
{
char separator = url.toString().indexOf('?') > -1 ? '&' 
: '?';
 
-   tag.put(event, condition + 
String.format("window.location.href='%s%s%s=' + %s;", url,
+   tag.put("on" + event, condition + 
String.format("window.location.href='%s%s%s=' + %s;", url,
separator, formComponent.getInputName(), 
getJSValue()));
}
}
 
/**
-* Which JavaScript event triggers notification. 
+* Which JavaScript event triggers notification.
+* 
+* @return {@value change} or {@value click}, depending on the host 
component 
 */
-   private String getJSEvent()
+   protected String getEvent()
{
if (formComponent instanceof DropDownChoice || formComponent 
instanceof ListMultipleChoice|| formComponent instanceof AbstractTextComponent)
{
-   return "onchange";
+   return "change";
}
else
{
-   return "onclick";
+   return "click";
}
}
 



[3/8] wicket git commit: WICKET-6348 move selection change into behavior

2017-04-04 Thread svenmeier
WICKET-6348 move selection change into behavior


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

Branch: refs/heads/master
Commit: e2af75630ceaa3da0b7b00a88c87adac3dc7a3f6
Parents: 25567ba
Author: Sven Meier 
Authored: Wed Mar 29 11:40:33 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../apache/wicket/markup/html/form/Check.java   |  20 ---
 .../wicket/markup/html/form/CheckBox.java   | 121 +---
 .../wicket/markup/html/form/CheckGroup.java |  91 +---
 .../wicket/markup/html/form/DropDownChoice.java | 119 +---
 .../apache/wicket/markup/html/form/Radio.java   |  20 ---
 .../wicket/markup/html/form/RadioChoice.java| 126 +---
 .../wicket/markup/html/form/RadioGroup.java |  94 +---
 .../html/form/SelectionChangeBehavior.java  | 142 +++
 .../wicket/util/tester/BaseWicketTester.java|  25 +++-
 .../apache/wicket/util/tester/FormTester.java   |  27 +---
 .../org/apache/wicket/MockPageWithForm.java |  21 +--
 .../wicket/util/tester/FormTesterTest.java  |  16 +--
 .../extensions/yui/calendar/DatesPage1.java |  20 +--
 .../yui/calendar/DatesPage1_ExpectedResult.html |   2 +-
 .../wicket/examples/compref/CheckGroupPage.html |   3 -
 .../wicket/examples/compref/CheckGroupPage.java |  14 +-
 .../apache/wicket/examples/dates/DatesPage.java |  14 +-
 .../wicket/examples/forminput/FormInput.java|  37 ++---
 .../wicket/examples/tree/AdvancedTreePage.java  |  23 +--
 19 files changed, 213 insertions(+), 722 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/e2af7563/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
index 83fa278..6f7ff26 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
@@ -24,7 +24,6 @@ import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.Strings;
 
 
@@ -195,25 +194,6 @@ public class Check extends LabeledWebMarkupContainer 
implements IGenericCompo
tag.put("checked", "checked");
}
 
-   if (group.wantOnSelectionChangedNotifications())
-   {
-   // url that points to this components IOnChangeListener 
method
-   CharSequence url = group.urlForListener(new 
PageParameters());
-
-   Form form = group.findParent(Form.class);
-   if (form != null)
-   {
-   tag.put("onclick", 
form.getJsForListenerUrl(url));
-   }
-   else
-   {
-   // NOTE: do not encode the url as that would 
give invalid JavaScript
-   tag.put("onclick", "window.location.href='" + 
url +
-   (url.toString().indexOf('?') > -1 ? "&" 
: "?") + group.getInputName() +
-   "=' + this.value;");
-   }
-   }
-
if (!isActionAuthorized(ENABLE) || !isEnabledInHierarchy() || 
!group.isEnabledInHierarchy())
{
tag.put(ATTR_DISABLED, ATTR_DISABLED);

http://git-wip-us.apache.org/repos/asf/wicket/blob/e2af7563/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
index da8f049..f318060 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
@@ -18,11 +18,8 @@ package org.apache.wicket.markup.html.form;
 
 import java.util.Locale;
 
-import org.apache.wicket.IRequestListener;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.model.IModel;
-i

[8/8] wicket git commit: WICKET-6348 small improvements

2017-04-04 Thread svenmeier
WICKET-6348 small improvements

- check host component type
- getFormComponent() final
- new onError()
- support ListMultipleChoice

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

Branch: refs/heads/master
Commit: c1d389d09ee75f8fcbb58a1ebe9e1d5644563313
Parents: 9bc7ee4
Author: Sven Meier 
Authored: Thu Mar 30 14:55:00 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:30:04 2017 +0200

--
 .../form/FormComponentUpdatingBehavior.java | 73 +++-
 1 file changed, 56 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/c1d389d0/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
index e57828b..89a2174 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.form;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.IRequestListener;
+import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
@@ -44,18 +45,24 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
}
 
@Override
-   public final void bind(final Component hostComponent)
+   public final void bind(final Component component)
{
-   Args.notNull(hostComponent, "hostComponent");
+   Args.notNull(component, "component");
+
+   if (!(component instanceof FormComponent))
+   {
+   throw new WicketRuntimeException("Behavior " + 
getClass().getName()
+   + " can only be added to an instance of a 
FormComponent");
+   }
 
if (formComponent != null)
{
throw new IllegalStateException("this kind of handler 
cannot be attached to " +
"multiple components; it is already attached to 
component " + formComponent +
-   ", but component " + hostComponent + " wants to 
be attached too");
+   ", but component " + component + " wants to be 
attached too");
}
 
-   this.formComponent = (FormComponent)hostComponent;
+   this.formComponent = (FormComponent)component;
 
formComponent.setRenderBodyOnly(false);
 
@@ -63,11 +70,20 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
onBind();
}
 
+   /**
+* Called when the component was bound to it's host component. You can 
get the bound host
+* component by calling {@link #getFormComponent()}.
+*/
protected void onBind()
{
}
 
-   public FormComponent getFormComponent()
+   /**
+* Get the hosting component.
+* 
+* @return hosting component
+*/
+   public final FormComponent getFormComponent()
{
return formComponent;
}
@@ -101,7 +117,7 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
 */
private String getJSEvent()
{
-   if (formComponent instanceof DropDownChoice || formComponent 
instanceof AbstractTextComponent)
+   if (formComponent instanceof DropDownChoice || formComponent 
instanceof ListMultipleChoice|| formComponent instanceof AbstractTextComponent)
{
return "onchange";
}
@@ -135,23 +151,30 @@ public class FormComponentUpdatingBehavior extends 
Behavior implements IRequestL
 */
private void process()
{
-   formComponent.validate();
-   if (formComponent.isValid())
+   try
{
-   if (getUpdateModel())
+   formComponent.validate();
+   if (formComponent.isValid())
{
-   formComponent.valid();
-   formComponent.updateModel();
+   

wicket git commit: WICKET-6348 call all FormComponentUpdatingBehavior on select

2017-04-04 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6348-selection-change 36e8dcf60 -> 6f814911f


WICKET-6348 call all FormComponentUpdatingBehavior on select


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

Branch: refs/heads/WICKET-6348-selection-change
Commit: 6f814911f0d4210ffe5a7aee796a4d0a9eadef40
Parents: 36e8dcf
Author: Sven Meier 
Authored: Tue Apr 4 17:24:19 2017 +0200
Committer: Sven Meier 
Committed: Tue Apr 4 17:24:19 2017 +0200

--
 .../src/main/java/org/apache/wicket/util/tester/FormTester.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/6f814911/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
index 93b735c..031aac4 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/FormTester.java
@@ -506,9 +506,8 @@ public class FormTester
ChoiceSelector choiceSelector = 
choiceSelectorFactory.create(component);
choiceSelector.doSelect(index);
 
-   List behaviors = 
component.getBehaviors(FormComponentUpdatingBehavior.class);
-   if (behaviors.isEmpty() == false) {
-   tester.invokeListener(component, behaviors.get(0));
+   for (FormComponentUpdatingBehavior updater : 
component.getBehaviors(FormComponentUpdatingBehavior.class)) {
+   tester.invokeListener(component, updater);
}
 
return this;



[1/2] wicket git commit: WICKET-6347 renderer might be null

2017-04-03 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master abf1ae634 -> 44a20c5df


WICKET-6347 renderer might be null

if #newEditor() doesn't create AbstractChoice, the renderer might actually be 
null


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

Branch: refs/heads/master
Commit: 44a20c5df85e636a49f62c87be7377b44e5008ee
Parents: 775c40c
Author: Sven Meier 
Authored: Mon Mar 27 18:38:00 2017 +0200
Committer: Sven Meier 
Committed: Mon Apr 3 17:57:08 2017 +0200

--
 .../extensions/ajax/markup/html/AjaxEditableChoiceLabel.java  | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/44a20c5d/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
index 221a42f..5dfa693 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
@@ -325,8 +325,11 @@ public class AjaxEditableChoiceLabel extends 
AjaxEditableLabel
choices.detach();
}

-   renderer.detach();
+   if (renderer != null)
+   {
+   renderer.detach();
+   }

super.onDetach();
}
-}
+}
\ No newline at end of file



[2/2] wicket git commit: WICKET-6347 added #detach() to all renderers

2017-04-03 Thread svenmeier
WICKET-6347 added #detach() to all renderers

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

Branch: refs/heads/master
Commit: 775c40c77226517636ba3905dff8b4cc7dd86e60
Parents: abf1ae6
Author: Sven Meier 
Authored: Mon Mar 27 17:27:20 2017 +0200
Committer: Sven Meier 
Committed: Mon Apr 3 17:57:08 2017 +0200

--
 .../wicket/markup/html/form/AbstractChoice.java  |  8 
 .../wicket/markup/html/form/IChoiceRenderer.java | 15 ---
 .../ajax/markup/html/AjaxEditableChoiceLabel.java|  3 +++
 .../html/autocomplete/AutoCompleteBehavior.java  |  7 +++
 .../html/autocomplete/AutoCompleteTextField.java |  8 
 .../html/autocomplete/IAutoCompleteRenderer.java | 11 +--
 .../extensions/markup/html/form/palette/Palette.java |  2 ++
 .../markup/html/form/select/IOptionRenderer.java | 12 ++--
 .../markup/html/form/select/SelectOptions.java   |  8 
 9 files changed, 67 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/775c40c7/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
index 523116e..fd1cacf 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
@@ -501,4 +501,12 @@ public abstract class AbstractChoice extends 
FormComponent
"This class does not support type-conversion because it 
is performed "
+ "exclusively by the IChoiceRenderer assigned 
to this component");
}
+   
+   @Override
+   protected void onDetach()
+   {
+   renderer.detach();
+   
+   super.onDetach();
+   };
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/775c40c7/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
index c8345d4..5fcc14e 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
@@ -18,8 +18,8 @@ package org.apache.wicket.markup.html.form;
 
 import java.util.List;
 
+import org.apache.wicket.model.IDetachable;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.io.IClusterable;
 
 /**
  * Renders one choice. Separates the 'id' values used for internal 
representation from 'display
@@ -30,7 +30,7 @@ import org.apache.wicket.util.io.IClusterable;
  * @param 
  *The model object type
  */
-public interface IChoiceRenderer extends IClusterable
+public interface IChoiceRenderer extends IDetachable
 {
/**
 * Get the value for displaying to an end user.
@@ -70,4 +70,13 @@ public interface IChoiceRenderer extends IClusterable
 * @return A choice from the list that has this {@code id}
 */
T getObject(String id, IModel> choices);
-}
+
+   /**
+* Override when needed.
+*/
+   @Override
+   default void detach()
+   {
+   }
+   
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/775c40c7/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
index 2afe6cf..221a42f 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
@@ -324,6 +324,9 @@ public class AjaxEditableChoiceLabel extends 
AjaxEditableLabel
{
choices.detach();
}
+   
+   renderer.detach();
+   
super.onDetach();
}

wicket git commit: WICKET-6322 remove lambda factories

2017-04-03 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master f734ad676 -> da937bb0f


WICKET-6322 remove lambda factories

removed Lambdas; removed factory method with more than one lambda

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

Branch: refs/heads/master
Commit: da937bb0fe990a02a96c389e8904d62cf172a89c
Parents: f734ad6
Author: Sven Meier 
Authored: Mon Apr 3 14:45:16 2017 +0200
Committer: Sven Meier 
Committed: Mon Apr 3 14:48:34 2017 +0200

--
 ...AjaxFormChoiceComponentUpdatingBehavior.java |  35 --
 .../form/AjaxFormComponentUpdatingBehavior.java |  38 ---
 .../ajax/form/AjaxFormSubmitBehavior.java   |  36 ---
 .../wicket/ajax/form/OnChangeAjaxBehavior.java  |  36 ---
 .../java/org/apache/wicket/lambda/Lambdas.java  | 316 ---
 .../apache/wicket/behavior/BehaviorTest.java|  66 
 .../org/apache/wicket/lambda/LambdasTest.java   |  68 
 .../wicket/examples/compref/LinkPage.java   |   4 +-
 8 files changed, 68 insertions(+), 531 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/da937bb0/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 7fe6c7c..e4e8b79 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
@@ -27,7 +27,6 @@ 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.util.lang.Args;
-import org.danekja.java.util.function.serializable.SerializableBiConsumer;
 import org.danekja.java.util.function.serializable.SerializableConsumer;
 
 /**
@@ -136,38 +135,4 @@ public abstract class 
AjaxFormChoiceComponentUpdatingBehavior extends
}
};
}
-
-   /**
-* Creates an {@link AjaxFormChoiceComponentUpdatingBehavior} based on 
lambda expressions
-* 
-* @param onUpdateChoice
-*the {@code SerializableConsumer} which accepts the {@link 
AjaxRequestTarget}
-* @param onError
-*the {@code SerializableBiConsumer} which accepts the 
{@link AjaxRequestTarget} and the
-*{@link RuntimeException}
-* @return the {@link AjaxFormChoiceComponentUpdatingBehavior}
-*/
-   public static AjaxFormChoiceComponentUpdatingBehavior onUpdateChoice(
-   SerializableConsumer onUpdateChoice,
-   SerializableBiConsumer 
onError)
-   {
-   Args.notNull(onUpdateChoice, "onUpdateChoice");
-   Args.notNull(onError, "onError");
-   return new AjaxFormChoiceComponentUpdatingBehavior()
-   {
-   private static final long serialVersionUID = 1L;
-
-   @Override
-   protected void onUpdate(AjaxRequestTarget target)
-   {
-   onUpdateChoice.accept(target);
-   }
-
-   @Override
-   protected void onError(AjaxRequestTarget target, 
RuntimeException e)
-   {
-   onError.accept(target, e);
-   }
-   };
-   }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/da937bb0/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
index 4236692..09474d5 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior.java
@@ -26,7 +26,6 @@ import 
org.apache.wicket.ajax.attributes.AjaxRequestAttributes.Method;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.validation.IFormValidator;
 import org.apache.wicket.util.lang.Args;
-import org.danekja.jav

wicket git commit: WICKET-6348 added javadoc and overridable #getEvent()

2017-03-31 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6348-selection-change 387e41bd3 -> 36e8dcf60


WICKET-6348 added javadoc and overridable #getEvent()


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

Branch: refs/heads/WICKET-6348-selection-change
Commit: 36e8dcf60dd4a9eae3378fe523414c179cea03e8
Parents: 387e41b
Author: Sven Meier 
Authored: Fri Mar 31 15:07:11 2017 +0200
Committer: Sven Meier 
Committed: Fri Mar 31 15:07:11 2017 +0200

--
 .../form/FormComponentUpdatingBehavior.java | 27 ++--
 1 file changed, 19 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/36e8dcf6/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
index 89a2174..3bdb883 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
@@ -28,8 +28,17 @@ import org.apache.wicket.util.lang.Args;
 /**
  * A behavior to get notifications when a {@link FormComponent} changes its 
value.
  * 
- * Contrary to {@link AjaxFormComponentUpdatingBehavior} all notification are 
send via
+ * Contrary to {@link AjaxFormComponentUpdatingBehavior} all notification are 
sent via
  * standard HTTP requests and the full page is rendered as a response.
+ * 
+ * Notification is triggered by an event suitable for the host component this
+ * behavior is added to - if needed {@link #getEvent()} can be overridden to 
change the default
+ * ({@value change} for {@link DropDownChoice}, {@link ListMultipleChoice} and 
{@link AbstractTextComponent}, 
+ * {@value click} for anything else).
+ * 
+ * Note: This behavior has limited support for {@link FormComponent}s outside 
of a form, i.e. multiple
+ * choice components ({@link ListMultipleChoice} and {@link RadioGroup}) will 
send their last selected
+ * choice only.
  * 
  * @see FormComponentUpdatingBehavior#onUpdate()
  */
@@ -93,7 +102,7 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
{
CharSequence url = component.urlForListener(this, new 
PageParameters());
 
-   String event = getJSEvent();
+   String event = getEvent();
 
String condition = String.format("if (event.target.name !== 
'%s') return; ",
formComponent.getInputName());
@@ -101,29 +110,31 @@ public class FormComponentUpdatingBehavior extends 
Behavior implements IRequestL
Form form = component.findParent(Form.class);
if (form != null)
{
-   tag.put(event, condition + 
form.getJsForListenerUrl(url.toString()));
+   tag.put("on" + event, condition + 
form.getJsForListenerUrl(url.toString()));
}
else
{
char separator = url.toString().indexOf('?') > -1 ? '&' 
: '?';
 
-   tag.put(event, condition + 
String.format("window.location.href='%s%s%s=' + %s;", url,
+   tag.put("on" + event, condition + 
String.format("window.location.href='%s%s%s=' + %s;", url,
separator, formComponent.getInputName(), 
getJSValue()));
}
}
 
/**
-* Which JavaScript event triggers notification. 
+* Which JavaScript event triggers notification.
+* 
+* @return {@value change} or {@value click}, depending on the host 
component 
 */
-   private String getJSEvent()
+   protected String getEvent()
{
if (formComponent instanceof DropDownChoice || formComponent 
instanceof ListMultipleChoice|| formComponent instanceof AbstractTextComponent)
{
-   return "onchange";
+   return "change";
}
else
{
-   return "onclick";
+   return "click";
}
}
 



wicket git commit: WICKET-6348 guide update for FormComponentUpdatingBehavior

2017-03-30 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6348-selection-change c52f15fce -> 387e41bd3


WICKET-6348 guide update for FormComponentUpdatingBehavior


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

Branch: refs/heads/WICKET-6348-selection-change
Commit: 387e41bd3acc96553733a51a3f72202949f69dc3
Parents: c52f15f
Author: Sven Meier 
Authored: Thu Mar 30 17:05:14 2017 +0200
Committer: Sven Meier 
Committed: Thu Mar 30 17:05:14 2017 +0200

--
 .../src/main/asciidoc/advanced/advanced_2.adoc  |  4 +-
 .../src/main/asciidoc/forms2/forms2_11.adoc |  2 +-
 .../asciidoc/modelsforms/modelsforms_6.adoc | 50 
 3 files changed, 23 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/387e41bd/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc 
b/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
index c03c060..0ec6a2f 100644
--- a/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
+++ b/wicket-user-guide/src/main/asciidoc/advanced/advanced_2.adoc
@@ -53,9 +53,9 @@ public abstract class Link extends AbstractLink implements 
IRequestListener .
 }
 
 
-Callback URLs can be generated with _Component_'s method 
_urlFor(PageParameters)_ or with method _urlFor (Behavior, 
RequestListenerInterface, PageParameters)_ if we are using a callback interface 
with a behavior (see the following example).
+Callback URLs can be generated with _Component_'s method 
_urlForListener(PageParameters)_ or with method _urlForListener(Behavior, 
PageParameters)_ if we are using a request listener on a component or behavior 
respectively (see the following example).
 
-Project _CallbackURLExample_ contains a behavior (class 
_OnChangeSingleChoiceBehavior_) that implements 
_org.apache.wicket.IRequestListener_ to update the model of an 
_AbstractSingleSelectChoice_ component when user changes the selected option 
(it provides the same functionality of method 
_wantOnSelectionChangedNotifications_). 
+Project _CallbackURLExample_ contains a behavior (class 
_OnChangeSingleChoiceBehavior_) that implements 
_org.apache.wicket.IRequestListener_ to update the model of an 
_AbstractSingleSelectChoice_ component when user changes the selected option 
(it provides the same functionality as _FormComponentUpdatingBehavior_). 
 The following is the implementation of _onRequest()_ provided by 
_OnSelectionChangedNotifications_:
 
 [source,java]

http://git-wip-us.apache.org/repos/asf/wicket/blob/387e41bd/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc 
b/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
index 9f8a7ed..371350d 100644
--- a/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
+++ b/wicket-user-guide/src/main/asciidoc/forms2/forms2_11.adoc
@@ -195,5 +195,5 @@ form.add(new RadioChoice("radioGroup", Model.of(""), 
fruits));
 
 image::../img/grouped-radiobutton.png[]
 
-Just like CheckBoxMultipleChoice, this component provides the setPrefix and 
setSuffix methods to configure the prefix and suffix for our options and it 
supports IChoiceRender as well. In addition, RadioChoice provides the 
wantOnSelectionChangedNotifications() method to notify the web server when the 
selected option changes (this is the same method seen for DropDownChoice in 
paragraph 9.4).
+Just like CheckBoxMultipleChoice, this component provides the setPrefix and 
setSuffix methods to configure the prefix and suffix for our options and it 
supports IChoiceRender as well.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/387e41bd/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc 
b/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
index f7d4b1c..3a4f39e 100644
--- a/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
+++ b/wicket-user-guide/src/main/asciidoc/modelsforms/modelsforms_6.adoc
@@ -7,7 +7,7 @@ The example page will look like this:
 
 image::../img/model-chaining.png[]
 
-What we want to do in this example is to chain the model of the DropDownChoice 
(which contains the selected Person) with the model of the Form. In this way 
the Form will work with the selected Person as backing object. The 
DropDownChoice com

wicket git commit: WICKET-6348 small improvements

2017-03-30 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6348-selection-change 01d8cffb9 -> c52f15fce


WICKET-6348 small improvements

- check host component type
- getFormComponent() final
- new onError()
- support ListMultipleChoice

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

Branch: refs/heads/WICKET-6348-selection-change
Commit: c52f15fcec4a23c06bdf3de1587d29e6f38fc289
Parents: 01d8cff
Author: Sven Meier 
Authored: Thu Mar 30 14:55:00 2017 +0200
Committer: Sven Meier 
Committed: Thu Mar 30 14:55:00 2017 +0200

--
 .../form/FormComponentUpdatingBehavior.java | 73 +++-
 1 file changed, 56 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/c52f15fc/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
index e57828b..89a2174 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.form;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.IRequestListener;
+import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
@@ -44,18 +45,24 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
}
 
@Override
-   public final void bind(final Component hostComponent)
+   public final void bind(final Component component)
{
-   Args.notNull(hostComponent, "hostComponent");
+   Args.notNull(component, "component");
+
+   if (!(component instanceof FormComponent))
+   {
+   throw new WicketRuntimeException("Behavior " + 
getClass().getName()
+   + " can only be added to an instance of a 
FormComponent");
+   }
 
if (formComponent != null)
{
throw new IllegalStateException("this kind of handler 
cannot be attached to " +
"multiple components; it is already attached to 
component " + formComponent +
-   ", but component " + hostComponent + " wants to 
be attached too");
+   ", but component " + component + " wants to be 
attached too");
}
 
-   this.formComponent = (FormComponent)hostComponent;
+   this.formComponent = (FormComponent)component;
 
formComponent.setRenderBodyOnly(false);
 
@@ -63,11 +70,20 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
onBind();
}
 
+   /**
+* Called when the component was bound to it's host component. You can 
get the bound host
+* component by calling {@link #getFormComponent()}.
+*/
protected void onBind()
{
}
 
-   public FormComponent getFormComponent()
+   /**
+* Get the hosting component.
+* 
+* @return hosting component
+*/
+   public final FormComponent getFormComponent()
{
return formComponent;
}
@@ -101,7 +117,7 @@ public class FormComponentUpdatingBehavior extends Behavior 
implements IRequestL
 */
private String getJSEvent()
{
-   if (formComponent instanceof DropDownChoice || formComponent 
instanceof AbstractTextComponent)
+   if (formComponent instanceof DropDownChoice || formComponent 
instanceof ListMultipleChoice|| formComponent instanceof AbstractTextComponent)
{
return "onchange";
}
@@ -135,23 +151,30 @@ public class FormComponentUpdatingBehavior extends 
Behavior implements IRequestL
 */
private void process()
{
-   formComponent.validate();
-   if (formComponent.isValid())
+   try
{
-   if (getUpdateModel())
+   formComponent.validate();
+   if (formComponent.isValid())
   

wicket git commit: WICKET-6348 renamed to FormComponentUpdatingBehavior

2017-03-30 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6348-selection-change 75ec36271 -> 01d8cffb9


WICKET-6348 renamed to FormComponentUpdatingBehavior

keep deprecated getJsForInterfaceUrl()

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

Branch: refs/heads/WICKET-6348-selection-change
Commit: 01d8cffb9f8ab3c957a4aa372b53644317d6a479
Parents: 75ec362
Author: Sven Meier 
Authored: Thu Mar 30 09:44:21 2017 +0200
Committer: Sven Meier 
Committed: Thu Mar 30 09:44:21 2017 +0200

--
 .../apache/wicket/markup/html/form/Form.java|   7 +
 .../form/FormComponentUpdatingBehavior.java | 218 +++
 .../html/form/SelectionChangeBehavior.java  | 218 ---
 .../apache/wicket/util/tester/FormTester.java   |   4 +-
 .../org/apache/wicket/MockPageWithForm.java |   6 +-
 .../wicket/util/tester/FormTesterTest.java  |   6 +-
 .../extensions/yui/calendar/DatesPage1.java |   4 +-
 .../apache/wicket/examples/dates/DatesPage.java |   4 +-
 .../wicket/examples/forminput/FormInput.java|   6 +-
 .../wicket/examples/tree/AdvancedTreePage.java  |   6 +-
 10 files changed, 243 insertions(+), 236 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/01d8cffb/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
index 0a68aa7..a562694 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
@@ -509,6 +509,13 @@ public class Form extends WebMarkupContainer
}
 
/**
+* @deprecated use {@link #getJsForListenerUrl(CharSequence)} instead.
+*/
+   public final CharSequence getJsForInterfaceUrl(CharSequence url) {
+   return getJsForListenerUrl(url);
+   }
+
+   /**
 * Generate a piece of JavaScript that submits the form to the given 
URL.
 * 
 * Warning: This code should only be called in the rendering phase for 
form components inside

http://git-wip-us.apache.org/repos/asf/wicket/blob/01d8cffb/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
new file mode 100644
index 000..e57828b
--- /dev/null
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponentUpdatingBehavior.java
@@ -0,0 +1,218 @@
+/*
+ * 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.html.form;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.IRequestListener;
+import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.lang.Args;
+
+/**
+ * A behavior to get notifications when a {@link FormComponent} changes its 
value.
+ * 
+ * Contrary to {@link AjaxFormComponentUpdatingBehavior} all notification are 
send via
+ * standard HTTP requests and the full page is rendered as a response.
+ * 
+ * @see FormComponentUpdatingBehavior#onUpdate()
+ */
+public class FormComponentUpdatingBehavior extends Behavior implements 
IRequestListener
+{
+
+   private FormComponent formComponent;
+
+   @Override
+   public boolean getStatelessHint(Component component)
+   {
+   return false

wicket git commit: WICKET-6350 corrected error message

2017-03-30 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 1b6ab749a -> ef6288641


WICKET-6350 corrected error message

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

Branch: refs/heads/wicket-6.x
Commit: ef6288641971e5bc346e5515c67b57fb4fee3772
Parents: 1b6ab74
Author: Sven Meier 
Authored: Thu Mar 30 09:09:45 2017 +0200
Committer: Sven Meier 
Committed: Thu Mar 30 09:09:45 2017 +0200

--
 .../java/org/apache/wicket/markup/html/form/FormComponent.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/ef628864/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index eaadc27..4852f23 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -1051,7 +1051,7 @@ public abstract class FormComponent extends 
LabeledWebMarkupContainer impleme
if (!required && getType() != null && getType().isPrimitive())
{
throw new WicketRuntimeException(
-   "FormComponent can't be required when the type 
is primitive class: " + this);
+   "FormComponent has to be required when the type 
is primitive class: " + this);
}
if (required != isRequired())
{



wicket git commit: WICKET-6350 corrected error message

2017-03-30 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master dcb673d09 -> 16c0520c0


WICKET-6350 corrected error message


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

Branch: refs/heads/master
Commit: 16c0520c0e99ee4af16e93013d67ae55569332e2
Parents: dcb673d
Author: Sven Meier 
Authored: Thu Mar 30 09:03:56 2017 +0200
Committer: Sven Meier 
Committed: Thu Mar 30 09:03:56 2017 +0200

--
 .../java/org/apache/wicket/markup/html/form/FormComponent.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/16c0520c/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index b3d9277..9d4460e 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -1050,7 +1050,7 @@ public abstract class FormComponent extends 
LabeledWebMarkupContainer impleme
if (!required && getType() != null && getType().isPrimitive())
{
throw new WicketRuntimeException(
-   "FormComponent can't be required when the type 
is primitive class: " + this);
+   "FormComponent has to be required when the type 
is primitive class: " + this);
}
if (required != isRequired())
{



wicket git commit: WICKET-6348 added javadoc; #getUpdateModel(); restored example

2017-03-29 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6348-selection-change 7f08fab8f -> 75ec36271


WICKET-6348 added javadoc; #getUpdateModel(); restored example

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

Branch: refs/heads/WICKET-6348-selection-change
Commit: 75ec362716674227817906d18c50d530f584041e
Parents: 7f08fab
Author: Sven Meier 
Authored: Wed Mar 29 20:22:15 2017 +0200
Committer: Sven Meier 
Committed: Wed Mar 29 20:22:15 2017 +0200

--
 .../html/form/SelectionChangeBehavior.java  | 130 +++
 .../wicket/examples/compref/CheckGroupPage.html |   3 +
 .../wicket/examples/compref/CheckGroupPage.java |  14 +-
 3 files changed, 117 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/75ec3627/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
index 8943d12..8298c06 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SelectionChangeBehavior.java
@@ -18,10 +18,20 @@ package org.apache.wicket.markup.html.form;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.IRequestListener;
+import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.lang.Args;
 
+/**
+ * A behavior to get change notifications when a choice component changes its 
selection.
+ * 
+ * Contrary to {@link AjaxFormChoiceComponentUpdatingBehavior} all 
notification are send via
+ * standard HTTP requests and the full page is rendered as the response.
+ * 
+ * @see SelectionChangeBehavior#onSelectionChanged()
+ */
 public class SelectionChangeBehavior extends Behavior implements 
IRequestListener
 {
 
@@ -32,29 +42,46 @@ public class SelectionChangeBehavior extends Behavior 
implements IRequestListene
{
return false;
}
-   
+
@Override
-   public void bind(Component component)
+   public final void bind(final Component hostComponent)
{
-   this.formComponent = (FormComponent)component;
-   
+   Args.notNull(hostComponent, "hostComponent");
+
+   if (formComponent != null)
+   {
+   throw new IllegalStateException("this kind of handler 
cannot be attached to " +
+   "multiple components; it is already attached to 
component " + formComponent +
+   ", but component " + hostComponent + " wants to 
be attached too");
+   }
+
+   this.formComponent = (FormComponent)hostComponent;
+
formComponent.setRenderBodyOnly(false);
+
+   // call the callback
+   onBind();
+   }
+
+   protected void onBind()
+   {
}
 
public FormComponent getFormComponent()
{
return formComponent;
}
-   
+
@Override
public void onComponentTag(Component component, ComponentTag tag)
{
CharSequence url = component.urlForListener(this, new 
PageParameters());
 
String event = getJSEvent();
-   
-   String condition = String.format("if (event.target.name !== 
'%s') return; ", formComponent.getInputName());
-   
+
+   String condition = String.format("if (event.target.name !== 
'%s') return; ",
+   formComponent.getInputName());
+
Form form = component.findParent(Form.class);
if (form != null)
{
@@ -63,39 +90,85 @@ public class SelectionChangeBehavior extends Behavior 
implements IRequestListene
else
{
char separator = url.toString().indexOf('?') > -1 ? '&' 
: '?';
-   
-   tag.put(event,
-   condition + 
String.format("window.location.href='%s%s%s=' + %s;", url, separator, 
formComponent.getInputName(), getJSValue()));
+
+   tag.put(event, condition + 
String.format("window.location.href='%s%s%s=' + %s;"

wicket git commit: WICKET-6286 use XMLHttpRequest for blob download

2017-03-29 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master c7f2b81e8 -> f6a298a46


WICKET-6286 use XMLHttpRequest for blob download


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

Branch: refs/heads/master
Commit: f6a298a46d97168e35a787c8d889fd374560f757
Parents: c7f2b81
Author: Sven Meier 
Authored: Wed Mar 29 16:25:41 2017 +0200
Committer: Sven Meier 
Committed: Wed Mar 29 16:25:41 2017 +0200

--
 .../java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/f6a298a4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index 64839d9..ec7ae62 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -103,7 +103,7 @@
xhr.open("GET", settings.downloadUrl);
xhr.responseType = "blob";
xhr.onload = function() {
-   if (this.status == 200) {
+   if (this.status === 200) {
var filename = "";
var disposition = 
xhr.getResponseHeader("Content-Disposition");
if (disposition && 
disposition.indexOf("attachment") !== -1) {



wicket git commit: WICKET-6286 use XMLHttpRequest for blob download

2017-03-29 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 8a4e1b3c2 -> c7f2b81e8


WICKET-6286 use XMLHttpRequest for blob download


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

Branch: refs/heads/master
Commit: c7f2b81e8bfbedc1cc37c66b256814a86eba69eb
Parents: 8a4e1b3
Author: Sven Meier 
Authored: Wed Mar 29 15:45:41 2017 +0200
Committer: Sven Meier 
Committed: Wed Mar 29 15:52:07 2017 +0200

--
 .../extensions/ajax/wicket-ajaxdownload.js  | 23 
 1 file changed, 14 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/c7f2b81e/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index b13bbfa..64839d9 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -97,10 +97,13 @@
}
});
} else {
-   jQuery.ajax({
-   type: 'get',
-   url: settings.downloadUrl,
-   success: function (response, status, 
xhr) {
+   // jquery does not support binary download
+   var xhr = new XMLHttpRequest();
+
+   xhr.open("GET", settings.downloadUrl);
+   xhr.responseType = "blob";
+   xhr.onload = function() {
+   if (this.status == 200) {
var filename = "";
var disposition = 
xhr.getResponseHeader("Content-Disposition");
if (disposition && 
disposition.indexOf("attachment") !== -1) {
@@ -111,7 +114,7 @@
}
 
var type = 
xhr.getResponseHeader("Content-Type");
-   var blob = new Blob([response], 
{type: type});
+   var blob = new 
Blob([xhr.response], {type: type});
 
var blobUrl = (window.URL || 
window.webkitURL).createObjectURL(blob);
 
@@ -129,12 +132,14 @@
}, 100);
 
notifyServer("success");
-   },
-
-   error: function (response, status, xhr) 
{
+   } else {
notifyServer("failed");
}
-   });
+   };
+   xhr.onerror = function() {
+   notifyServer("failed");
+   };
+   xhr.send();
}
}
}; 



[1/2] wicket git commit: WICKET-6348 use submitter instead of hidden field

2017-03-29 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6348-selection-change [created] 7f08fab8f


WICKET-6348 use submitter instead of hidden field


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

Branch: refs/heads/WICKET-6348-selection-change
Commit: 15573cabcf44768fe2631bb9b4b6dcf5e2b2e494
Parents: 3179d34
Author: Sven Meier 
Authored: Tue Mar 28 21:34:56 2017 +0200
Committer: Sven Meier 
Committed: Wed Mar 29 11:33:34 2017 +0200

--
 .../apache/wicket/markup/html/form/Check.java   |   2 +-
 .../wicket/markup/html/form/CheckBox.java   |  67 ++--
 .../wicket/markup/html/form/CheckGroup.java |  66 ++--
 .../wicket/markup/html/form/DropDownChoice.java |  69 ++--
 .../apache/wicket/markup/html/form/Form.java| 164 +--
 .../apache/wicket/markup/html/form/Radio.java   |   2 +-
 .../wicket/markup/html/form/RadioChoice.java|  67 ++--
 .../wicket/markup/html/form/RadioGroup.java |  63 ++-
 .../wicket/markup/html/form/StatelessForm.java  |   1 -
 .../wicket/markup/html/form/SubmitLink.java |  40 ++---
 .../form/AjaxFormSubmitTestPage_expected.html   |   2 +-
 .../OnChangeAjaxBehaviorTestPage_expected.html  |   2 +-
 .../CheckGroupDisabledTestPage_expected.html|   2 +-
 .../html/form/CheckGroupTestPage1_expected.html |   2 +-
 .../html/form/CheckGroupTestPage2_expected.html |   2 +-
 .../html/form/CheckGroupTestPage3_expected.html |   2 +-
 .../html/form/CheckGroupTestPage4_expected.html |   2 +-
 ...DropDownChoiceTestPage_A_false_expected.html |   2 +-
 .../DropDownChoiceTestPage_A_true_expected.html |   2 +-
 ...pDownChoiceTestPage_null_false_expected.html |   2 +-
 ...opDownChoiceTestPage_null_true_expected.html |   2 +-
 .../html/form/FormMethodTestPage_expected.html  |   4 +-
 .../RadioGroupDisabledTestPage_expected.html|   2 +-
 .../html/form/RadioGroupTestPage1_expected.html |   2 +-
 .../html/form/RadioGroupTestPage3_expected.html |   2 +-
 .../form/feedback/FeedbackFormPage_result1.html |   2 +-
 .../form/feedback/FeedbackFormPage_result2.html |   2 +-
 .../FeedbackIndicatorFormPage_result1.html  |   2 +-
 .../FeedbackIndicatorFormPage_result2.html  |   2 +-
 .../html/form/pageWithParameters_expected.html  |   4 +-
 .../validation/HomePage1_ExpectedResult.html|   2 +-
 .../EnclosurePageExpectedResult_9-1-1.html  |   2 +-
 .../EnclosurePageExpectedResult_9-1.html|   2 +-
 .../EnclosurePageExpectedResult_9-2-1.html  |   2 +-
 .../EnclosurePageExpectedResult_9-2.html|   2 +-
 .../EnclosurePageExpectedResult_9-3-1.html  |   2 +-
 .../EnclosurePageExpectedResult_9-3-2.html  |   2 +-
 .../EnclosurePageExpectedResult_9-3.html|   2 +-
 .../EnclosurePageExpectedResult_9-4.html|   2 +-
 .../internal/EnclosurePageExpectedResult_9.html |   2 +-
 .../tags/InputTagNotVisibleWebPageResult.html   |   2 +-
 .../html/tags/InputTagVisibleWebPageResult.html |   2 +-
 .../StatelessPageWithForm_expected.html |   2 +-
 .../yui/calendar/DatesPage1_ExpectedResult.html |   6 +-
 44 files changed, 358 insertions(+), 259 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/15573cab/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
index ed50c80..83fa278 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
@@ -203,7 +203,7 @@ public class Check extends LabeledWebMarkupContainer 
implements IGenericCompo
Form form = group.findParent(Form.class);
if (form != null)
{
-   tag.put("onclick", 
form.getJsForInterfaceUrl(url));
+   tag.put("onclick", 
form.getJsForListenerUrl(url));
}
else
{

http://git-wip-us.apache.org/repos/asf/wicket/blob/15573cab/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
index 9e25c4b..da8f049 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
+++ b/wicket-core/src/mai

[2/2] wicket git commit: WICKET-6348 move selection change into behavior

2017-03-29 Thread svenmeier
WICKET-6348 move selection change into behavior


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

Branch: refs/heads/WICKET-6348-selection-change
Commit: 7f08fab8fa4ab9146fb0504222bb354a8dd98b46
Parents: 15573ca
Author: Sven Meier 
Authored: Wed Mar 29 11:40:33 2017 +0200
Committer: Sven Meier 
Committed: Wed Mar 29 11:40:33 2017 +0200

--
 .../apache/wicket/markup/html/form/Check.java   |  20 ---
 .../wicket/markup/html/form/CheckBox.java   | 121 +---
 .../wicket/markup/html/form/CheckGroup.java |  91 +---
 .../wicket/markup/html/form/DropDownChoice.java | 119 +---
 .../apache/wicket/markup/html/form/Radio.java   |  20 ---
 .../wicket/markup/html/form/RadioChoice.java| 126 +---
 .../wicket/markup/html/form/RadioGroup.java |  94 +---
 .../html/form/SelectionChangeBehavior.java  | 142 +++
 .../wicket/util/tester/BaseWicketTester.java|  25 +++-
 .../apache/wicket/util/tester/FormTester.java   |  27 +---
 .../org/apache/wicket/MockPageWithForm.java |  21 +--
 .../wicket/util/tester/FormTesterTest.java  |  16 +--
 .../extensions/yui/calendar/DatesPage1.java |  20 +--
 .../yui/calendar/DatesPage1_ExpectedResult.html |   2 +-
 .../wicket/examples/compref/CheckGroupPage.html |   3 -
 .../wicket/examples/compref/CheckGroupPage.java |  14 +-
 .../apache/wicket/examples/dates/DatesPage.java |  14 +-
 .../wicket/examples/forminput/FormInput.java|  37 ++---
 .../wicket/examples/tree/AdvancedTreePage.java  |  23 +--
 19 files changed, 213 insertions(+), 722 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/7f08fab8/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
index 83fa278..6f7ff26 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Check.java
@@ -24,7 +24,6 @@ import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.Strings;
 
 
@@ -195,25 +194,6 @@ public class Check extends LabeledWebMarkupContainer 
implements IGenericCompo
tag.put("checked", "checked");
}
 
-   if (group.wantOnSelectionChangedNotifications())
-   {
-   // url that points to this components IOnChangeListener 
method
-   CharSequence url = group.urlForListener(new 
PageParameters());
-
-   Form form = group.findParent(Form.class);
-   if (form != null)
-   {
-   tag.put("onclick", 
form.getJsForListenerUrl(url));
-   }
-   else
-   {
-   // NOTE: do not encode the url as that would 
give invalid JavaScript
-   tag.put("onclick", "window.location.href='" + 
url +
-   (url.toString().indexOf('?') > -1 ? "&" 
: "?") + group.getInputName() +
-   "=' + this.value;");
-   }
-   }
-
if (!isActionAuthorized(ENABLE) || !isEnabledInHierarchy() || 
!group.isEnabledInHierarchy())
{
tag.put(ATTR_DISABLED, ATTR_DISABLED);

http://git-wip-us.apache.org/repos/asf/wicket/blob/7f08fab8/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
index da8f049..f318060 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
@@ -18,11 +18,8 @@ package org.apache.wicket.markup.html.form;
 
 import java.util.Locale;
 
-import org.apache.wicket.IRequestListener;
-import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.

wicket git commit: WICKET-6347 renderer might be null

2017-03-27 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6347-detachable-renderers 0bc929d71 -> 24da5e48b


WICKET-6347 renderer might be null

if #newEditor() doesn't create AbstractChoice, the renderer might actually be 
null


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

Branch: refs/heads/WICKET-6347-detachable-renderers
Commit: 24da5e48b3410ab46dced342cdd08a15831069bc
Parents: 0bc929d
Author: Sven Meier 
Authored: Mon Mar 27 18:38:00 2017 +0200
Committer: Sven Meier 
Committed: Mon Mar 27 18:38:00 2017 +0200

--
 .../extensions/ajax/markup/html/AjaxEditableChoiceLabel.java  | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/24da5e48/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
index 221a42f..5dfa693 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
@@ -325,8 +325,11 @@ public class AjaxEditableChoiceLabel extends 
AjaxEditableLabel
choices.detach();
}

-   renderer.detach();
+   if (renderer != null)
+   {
+   renderer.detach();
+   }

super.onDetach();
}
-}
+}
\ No newline at end of file



wicket git commit: WICKET-6347 added #detach() to all renderers

2017-03-27 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6347-detachable-renderers [created] 0bc929d71


WICKET-6347 added #detach() to all renderers

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

Branch: refs/heads/WICKET-6347-detachable-renderers
Commit: 0bc929d71865f052e895fd0918ea297acc7086fa
Parents: 3179d34
Author: Sven Meier 
Authored: Mon Mar 27 17:27:20 2017 +0200
Committer: Sven Meier 
Committed: Mon Mar 27 17:27:20 2017 +0200

--
 .../wicket/markup/html/form/AbstractChoice.java  |  8 
 .../wicket/markup/html/form/IChoiceRenderer.java | 15 ---
 .../ajax/markup/html/AjaxEditableChoiceLabel.java|  3 +++
 .../html/autocomplete/AutoCompleteBehavior.java  |  7 +++
 .../html/autocomplete/AutoCompleteTextField.java |  8 
 .../html/autocomplete/IAutoCompleteRenderer.java | 11 +--
 .../extensions/markup/html/form/palette/Palette.java |  2 ++
 .../markup/html/form/select/IOptionRenderer.java | 12 ++--
 .../markup/html/form/select/SelectOptions.java   |  8 
 9 files changed, 67 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/0bc929d7/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
index 523116e..fd1cacf 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
@@ -501,4 +501,12 @@ public abstract class AbstractChoice extends 
FormComponent
"This class does not support type-conversion because it 
is performed "
+ "exclusively by the IChoiceRenderer assigned 
to this component");
}
+   
+   @Override
+   protected void onDetach()
+   {
+   renderer.detach();
+   
+   super.onDetach();
+   };
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/0bc929d7/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
index c8345d4..5fcc14e 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
@@ -18,8 +18,8 @@ package org.apache.wicket.markup.html.form;
 
 import java.util.List;
 
+import org.apache.wicket.model.IDetachable;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.io.IClusterable;
 
 /**
  * Renders one choice. Separates the 'id' values used for internal 
representation from 'display
@@ -30,7 +30,7 @@ import org.apache.wicket.util.io.IClusterable;
  * @param 
  *The model object type
  */
-public interface IChoiceRenderer extends IClusterable
+public interface IChoiceRenderer extends IDetachable
 {
/**
 * Get the value for displaying to an end user.
@@ -70,4 +70,13 @@ public interface IChoiceRenderer extends IClusterable
 * @return A choice from the list that has this {@code id}
 */
T getObject(String id, IModel> choices);
-}
+
+   /**
+* Override when needed.
+*/
+   @Override
+   default void detach()
+   {
+   }
+   
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/0bc929d7/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
index 2afe6cf..221a42f 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
@@ -324,6 +324,9 @@ public class AjaxEditableChoiceLabel extends 
AjaxEditableLabel
{
choices.detach();

wicket git commit: WICKET-6286 jshint strikes once again, use ===

2017-03-23 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 10175f1ef -> b53c7921d


WICKET-6286 jshint strikes once again, use ===

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

Branch: refs/heads/master
Commit: b53c7921d0f2abf8166dd471668b75a2ec8c706e
Parents: 10175f1
Author: Sven Meier 
Authored: Thu Mar 23 15:47:17 2017 +0100
Committer: Sven Meier 
Committed: Thu Mar 23 15:47:17 2017 +0100

--
 .../java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/b53c7921/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index 7c320c3..b13bbfa 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -82,7 +82,7 @@
}
}
});
-   } else if (settings.method == 'iframe') {
+   } else if (settings.method === 'iframe') {
var frame = 
jQuery("").hide().prop("src", 
settings.downloadUrl).appendTo("body");
checkComplete({
html: function() {



[1/2] wicket git commit: WICKET-6286 javadoc for failure and html

2017-03-23 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 75d3cc62d -> 10175f1ef


WICKET-6286 javadoc for failure and html


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

Branch: refs/heads/master
Commit: e7c23206c89e439b1dc266213e3675428468e0bd
Parents: 75d3cc6
Author: Sven Meier 
Authored: Thu Mar 23 14:01:20 2017 +0100
Committer: Sven Meier 
Committed: Thu Mar 23 14:01:20 2017 +0100

--
 .../java/org/apache/wicket/extensions/ajax/AjaxDownload.java   | 6 ++
 1 file changed, 6 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/e7c23206/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
index 7e6c191..804a794 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
@@ -64,6 +64,8 @@ import com.github.openjson.JSONObject;
  * 
  * 
  * @author svenmeier
+ * @author Martin Grigorov
+ * @author Maxim Solodovnik
  */
 public class AjaxDownload extends AbstractDefaultAjaxBehavior
 {
@@ -251,6 +253,10 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
/**
 * A callback executed when the download of the resource failed for 
some reason,
 * e.g. an error at the server side.
+* 
+* Since the HTTP status code of the download is not available to 
Wicket, any HTML in the resource response
+* will be interpreted as a failure HTTP status message. Thus is it not 
possible to download HTML resources
+* via {@link AjaxDownload}.
 *
 * @param target The Ajax request handler
 */



[2/2] wicket git commit: WICKET-6286 added Location.Blob

2017-03-23 Thread svenmeier
WICKET-6286 added Location.Blob

downloads via Blob and createObjectURL

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

Branch: refs/heads/master
Commit: 10175f1ef969ae0feccafc9bf997c78e42c8cc54
Parents: e7c2320
Author: Sven Meier 
Authored: Thu Mar 23 15:22:15 2017 +0100
Committer: Sven Meier 
Committed: Thu Mar 23 15:22:15 2017 +0100

--
 .../examples/ajax/builtin/AjaxDownloadPage.html |  3 +-
 .../examples/ajax/builtin/AjaxDownloadPage.java | 48 ++-
 .../wicket/extensions/ajax/AjaxDownload.java|  9 +++-
 .../extensions/ajax/wicket-ajaxdownload.js  | 49 ++--
 4 files changed, 101 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/10175f1e/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
index 0be7fe2..dd7e3ab 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
@@ -27,7 +27,8 @@
 
 
 
-   via an iframe.
+   for modern browsers.
+   in an iframe.
in a new browser window.
in the same window.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/10175f1e/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
index b589091..6d1aa3e 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
@@ -21,6 +21,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.extensions.ajax.AjaxDownload;
+import org.apache.wicket.extensions.ajax.AjaxDownload.Location;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.request.http.flow.AbortWithHttpErrorCodeException;
 import org.apache.wicket.request.resource.ContentDisposition;
@@ -51,6 +52,8 @@ public class AjaxDownloadPage extends BasePage
add(downloadingContainer);

initDownload();
+   
+   initDownloadInIframe();
 
initDownloadInNewWindow();
 
@@ -67,7 +70,7 @@ public class AjaxDownloadPage extends BasePage
// download cannot continue on page refresh
downloadingContainer.setVisible(false);
}
-   
+
private void initDownload()
{
IResource resource = new ExampleResource("downloaded via ajax")
@@ -109,6 +112,49 @@ public class AjaxDownloadPage extends BasePage
}
});
}
+
+   private void initDownloadInIframe()
+   {
+   IResource resource = new ExampleResource("downloaded via ajax 
in iframe")
+   .setContentDisposition(ContentDisposition.ATTACHMENT);
+   
+   final AjaxDownload download = new AjaxDownload(resource) {
+   
+   @Override
+   protected void onBeforeDownload(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(true);
+   target.add(downloadingContainer);
+   }
+
+   @Override
+   protected void onDownloadSuccess(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
+   
+   @Override
+   protected void onDownloadFailed(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   
+ 

wicket git commit: re-add inadvertently deleted cdi example

2017-03-23 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master d174a6ea3 -> 75d3cc62d


re-add inadvertently deleted cdi example


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

Branch: refs/heads/master
Commit: 75d3cc62d42f30036b2b7aa0fde3f7324d4e3b2b
Parents: d174a6e
Author: Sven Meier 
Authored: Thu Mar 23 11:26:34 2017 +0100
Committer: Sven Meier 
Committed: Thu Mar 23 11:26:34 2017 +0100

--
 wicket-examples/src/main/webapp/WEB-INF/web.xml | 21 
 1 file changed, 21 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/75d3cc62/wicket-examples/src/main/webapp/WEB-INF/web.xml
--
diff --git a/wicket-examples/src/main/webapp/WEB-INF/web.xml 
b/wicket-examples/src/main/webapp/WEB-INF/web.xml
index b26c571..e23b1a1 100644
--- a/wicket-examples/src/main/webapp/WEB-INF/web.xml
+++ b/wicket-examples/src/main/webapp/WEB-INF/web.xml
@@ -796,6 +796,27 @@

 
 
+
+
+CdiApplication
+
org.apache.wicket.protocol.http.WicketFilter
+
+applicationClassName
+
org.apache.wicket.examples.cdi.CdiApplication
+
+
+
+CdiApplication
+/cdi/*
+
+
+
+
+
org.jboss.weld.environment.servlet.Listener
+
+
+
+
 
 
 BeanValidation



wicket git commit: WICKET-6286 follow jshint

2017-03-21 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 399089927 -> d174a6ea3


WICKET-6286 follow jshint

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

Branch: refs/heads/master
Commit: d174a6ea38503c88f471154961fb372a56c6c9aa
Parents: 3990899
Author: Sven Meier 
Authored: Tue Mar 21 23:54:09 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 21 23:54:09 2017 +0100

--
 .../java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/d174a6ea/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index 0c232cf..ec81ca4 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -77,7 +77,7 @@
},

dismiss: function(result) {
-   if (result == "failed") {
+   if (result === "failed") {
wo.close();
}
}



[2/7] wicket git commit: WICKET-6286 renamed url settings; explained cookie path

2017-03-21 Thread svenmeier
WICKET-6286 renamed url settings; explained cookie path


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

Branch: refs/heads/master
Commit: 0957a2b0ec02b09312bfb9f8d5e8aaf9458edb6d
Parents: 5578e69
Author: Sven Meier 
Authored: Thu Jan 5 09:12:20 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 21 23:23:16 2017 +0100

--
 .../java/org/apache/wicket/extensions/ajax/AjaxDownload.java  | 7 ++-
 .../org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js  | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/0957a2b0/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
index a879d5b..11c97d4 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
@@ -193,7 +193,7 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
JSONObject settings = new JSONObject();
settings.put("attributes", new 
JsonFunction(renderAjaxAttributes(getComponent(;
settings.put("name", getName());
-   settings.put("url", url);
+   settings.put("downloadUrl", url);
 

target.appendJavaScript(String.format("Wicket.AjaxDownload.initiate(%s);", 
settings));
 
@@ -289,7 +289,12 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
private static Cookie cookie(String name)
{
Cookie cookie = new Cookie(name, "complete");
+   
+   // has to be on root, otherwise JavaScript will not be able to 
access the
+   // cookie when it is set from a different path - which is the 
case when a
+   // ResourceReference is used
cookie.setPath("/");
+   
return cookie;
}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/0957a2b0/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index 52471df..a383fa8 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -28,7 +28,7 @@
Wicket.AjaxDownload = {
initiate : function(settings) {

-   var frame = jQuery("").hide().prop("src", 
settings.url).appendTo("body");
+   var frame = jQuery("").hide().prop("src", 
settings.downloadUrl).appendTo("body");

var checkComplete = function() {
var result;



[6/7] wicket git commit: WICKET-6286 Add support for success callback to 'NewWindow' location

2017-03-21 Thread svenmeier
WICKET-6286 Add support for success callback to 'NewWindow' location

Add 'onDownloadCompleted()' callback that is executed after any success or 
failure callback. Like in jQuery - do something in all cases.

WICKET-6340 Use XHTML friendly markup when creating the iframe


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

Branch: refs/heads/master
Commit: a7c01094b369c95316ee103f364f04f57cbba1ad
Parents: 27bb0bb
Author: Martin Tzvetanov Grigorov 
Authored: Mon Mar 20 17:26:23 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 21 23:23:17 2017 +0100

--
 .../examples/ajax/builtin/AjaxDownloadPage.java |  9 ++-
 .../wicket/extensions/ajax/AjaxDownload.java| 28 +++-
 .../extensions/ajax/wicket-ajaxdownload.js  | 24 ++---
 3 files changed, 50 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/a7c01094/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
index 3a7ccb5..b339b64 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
@@ -252,8 +252,15 @@ public class AjaxDownloadPage extends BasePage
downloadingContainer.setVisible(false);
target.add(downloadingContainer);
}
+
+   @Override
+   protected void onDownloadCompleted(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
};
-   download.setLocation(AjaxDownload.Location.NewWindow);
+   download.setLocation(AjaxDownload.Location.SameWindow);
add(download);
 
add(new AjaxLink("downloadInNewWindow")

http://git-wip-us.apache.org/repos/asf/wicket/blob/a7c01094/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
index aacbfd9..34595e6 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
@@ -72,18 +72,23 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
 * The resource will be downloaded via a temporary created 
iframe.
 * This is recommended when there are resources in the DOM 
which will be
 * closed automatically on JavaScript unload event, 
like WebSockets.
+* Supports both success and failure 
callbacks!
 */
IFrame,
 
/**
 * The resource will be downloaded by changing the location of 
the current DOM document.
 * Note: This will trigger JavaScript unload event on 
the page!
+* Supports only success callback, i.e. it is not 
possible to detect whether
+* the download has finished successfully or not.
 */
-   Self,
+   SameWindow,
 
/**
 * The resource will be downloaded in a new browser window by 
using JavaScript
 * window.open() API.
+* Supports only success callback, i.e. it is not 
possible to detect whether
+* the download has finished successfully or not.
 */
NewWindow
}
@@ -230,14 +235,34 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
{
}
 
+   /**
+* A callback executed when the download of the resource finished 
successfully.
+*
+* @param target The Ajax request handler
+*/
protected void onDownloadSuccess(AjaxRequestTarget target)
{
}
 
+   /**
+* A callback executed when the download of the resource failed for 
some reason,
+* e.g. an error a

[4/7] wicket git commit: WICKET-6286 Add wicket-ajaxdownload.js to the JS Lint checked files list.

2017-03-21 Thread svenmeier
WICKET-6286 Add wicket-ajaxdownload.js to the JS Lint checked files list.

Remove tree.js - it has been deleted long time ago


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

Branch: refs/heads/master
Commit: b93494439359946021d2595a47a20b1fac65356c
Parents: 0957a2b
Author: Martin Tzvetanov Grigorov 
Authored: Tue Jan 31 22:49:18 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 21 23:23:16 2017 +0100

--
 testing/wicket-js-tests/Gruntfile.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/b9349443/testing/wicket-js-tests/Gruntfile.js
--
diff --git a/testing/wicket-js-tests/Gruntfile.js 
b/testing/wicket-js-tests/Gruntfile.js
index 03d0801..6cb79bd 100644
--- a/testing/wicket-js-tests/Gruntfile.js
+++ b/testing/wicket-js-tests/Gruntfile.js
@@ -28,8 +28,8 @@ module.exports = function(grunt) {
],
extensionsJs = [

"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/progressbar.js",
+   
"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js",

"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/palette.js",
-   
"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/res/tree.js",

"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js",

"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js",

"../../wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/wicket-filterform.js"



[3/7] wicket git commit: WICKET-6286 ajax download

2017-03-21 Thread svenmeier
d;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.request.http.flow.AbortWithHttpErrorCodeException;
+import org.apache.wicket.request.resource.ContentDisposition;
+import org.apache.wicket.request.resource.IResource;
+import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.request.resource.ResourceStreamResource;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.time.Duration;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Ajax download.
+ * 
+ * @author svenmeier
+ */
+public class AjaxDownloadPage extends BasePage
+{
+   private WebMarkupContainer downloadingContainer;
+
+   /**
+* Constructor
+*/
+   public AjaxDownloadPage()
+   {
+   downloadingContainer = new WebMarkupContainer("downloading");
+   downloadingContainer.setOutputMarkupPlaceholderTag(true);
+   downloadingContainer.setVisible(false);
+   add(downloadingContainer);
+   
+   initDownload();
+   
+   initDownloadFailure();
+   
+   initDownloadReference();
+   }
+
+   private void initDownload()
+   {
+   IResource resource = new ResourceStreamResource() {
+   protected IResourceStream getResourceStream() {
+   // simulate delay
+   try
+   {
+   TimeUnit.MILLISECONDS.sleep(5000);
+   }
+   catch (InterruptedException e)
+   {
+   }
+   
+   return new StringResourceStream("downloaded via 
ajax");
+   };
+   
+   
}.setFileName("File-from-IResource.txt").setContentDisposition(ContentDisposition.ATTACHMENT).setCacheDuration(Duration.NONE);
+   
+   final AjaxDownload download = new AjaxDownload(resource) {
+   
+   @Override
+   protected void onBeforeDownload(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(true);
+   target.add(downloadingContainer);
+   }
+
+   @Override
+   protected void onDownloadSuccess(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
+   
+   @Override
+   protected void onDownloadFailed(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
+   };
+   add(download);
+   
+   add(new AjaxLink("download")
+   {
+   @Override
+   public void onClick(AjaxRequestTarget target)
+   {
+   download.initiate(target);
+   }
+   });
+   }
+   
+   private void initDownloadFailure()
+   {
+   IResource resource = new ResourceStreamResource() {
+   protected IResourceStream getResourceStream() {
+   // simulate delay
+   try
+   {
+   TimeUnit.MILLISECONDS.sleep(2000);
+   }
+   catch (InterruptedException e)
+   {
+   }
+   
+   throw new AbortWithHttpErrorCodeException(500);
+   };
+   
+   
}.setFileName("file").setContentDisposition(ContentDisposition.ATTACHMENT).setCacheDuration(Duration.NONE);
+   
+   final AjaxDownload download = new AjaxDownload(resource) {
+   
+   @Override
+   protected void onBeforeDownload(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(true);
+   target.add(downloadingContainer);
+   }
+
+   @Override
+   protected void onDownloadSuccess(Ajax

[1/7] wicket git commit: WICKET-6286 Add setting to control how to download the resource - via iframe (default) or via document.location

2017-03-21 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master fd6befd02 -> 399089927


WICKET-6286 Add setting to control how to download the resource - via iframe 
(default) or via document.location


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

Branch: refs/heads/master
Commit: ab5675ec9a364cf2b1fe483219863d233e593cba
Parents: b934944
Author: Martin Tzvetanov Grigorov 
Authored: Tue Jan 31 22:52:09 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 21 23:23:16 2017 +0100

--
 .../wicket/extensions/ajax/AjaxDownload.java| 29 ++
 .../extensions/ajax/wicket-ajaxdownload.js  | 40 +---
 2 files changed, 55 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/ab5675ec/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
index 11c97d4..0b941de 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
@@ -40,6 +40,8 @@ import org.apache.wicket.request.resource.ResourceReference;
 import org.apache.wicket.resource.JQueryPluginResourceReference;
 import org.apache.wicket.util.lang.Args;
 
+import java.util.Locale;
+
 /**
  * Download resources via Ajax.
  * 
@@ -65,6 +67,21 @@ public class AjaxDownload extends AbstractDefaultAjaxBehavior
 {
private static final long serialVersionUID = 1L;
 
+   public enum Location {
+   /**
+* The resource will be downloaded via a temporary created 
iframe.
+* This is recommended when there are resources in the DOM 
which will be
+* closed automatically on JavaScript unload event, 
like WebSockets.
+*/
+   IFrame,
+
+   /**
+* The resource will be downloaded by changing the location of 
the current DOM document.
+* Note: This will trigger JavaScript unload event on 
the page!
+*/
+   Self
+   }
+
/**
 * Name of parameter used to transfer the download identifier to the 
resource.
 *
@@ -81,6 +98,8 @@ public class AjaxDownload extends AbstractDefaultAjaxBehavior
 
private PageParameters resourceParameters;
 
+   private Location location = Location.IFrame;
+
/**
 * Download of a {@link Resource}.
 * 
@@ -194,6 +213,7 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
settings.put("attributes", new 
JsonFunction(renderAjaxAttributes(getComponent(;
settings.put("name", getName());
settings.put("downloadUrl", url);
+   settings.put("method", 
location.name().toLowerCase(Locale.ENGLISH));
 

target.appendJavaScript(String.format("Wicket.AjaxDownload.initiate(%s);", 
settings));
 
@@ -231,6 +251,15 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
}
}
 
+   public final Location getLocation() {
+   return location;
+   }
+
+   public AjaxDownload setLocation(final Location location) {
+   this.location = Args.notNull(location, "location");
+   return this;
+   }
+
/**
 * Identifying name of this behavior.
 */

http://git-wip-us.apache.org/repos/asf/wicket/blob/ab5675ec/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index a383fa8..b821883 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -27,15 +27,13 @@
 
Wicket.AjaxDownload = {
initiate : function(settings) {
-   
-   var frame = jQuery("").hide().prop("src", 
settings.downloadUrl).appendTo("body");
-   
-   var checkComplete = function() {
+
+   var checkComplete = function (frame) {
   

[5/7] wicket git commit: WICKET-6286 Add Location.NewWindow - downloads the resource in a new browser window/tab

2017-03-21 Thread svenmeier
WICKET-6286 Add Location.NewWindow - downloads the resource in a new browser 
window/tab


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

Branch: refs/heads/master
Commit: 27bb0bbfd888abb6caefaefa63b03e7c02865c22
Parents: ab5675e
Author: Martin Tzvetanov Grigorov 
Authored: Tue Mar 7 22:05:48 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 21 23:23:17 2017 +0100

--
 .../examples/ajax/builtin/AjaxDownloadPage.html |  6 ++
 .../examples/ajax/builtin/AjaxDownloadPage.java | 62 +++-
 .../wicket/extensions/ajax/AjaxDownload.java|  8 ++-
 .../extensions/ajax/wicket-ajaxdownload.js  |  7 ++-
 4 files changed, 77 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/27bb0bbf/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
index 2764b25..670c736 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
@@ -34,6 +34,12 @@ This download fails.
 A resource reference can be used too.
 
 
+
+This example demonstrates a download
+initiated via Ajax and serving the response in a new browser window.
+
+
+
 Preparing download 
...
 
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/27bb0bbf/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
index a23368c..3a7ccb5 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
@@ -51,10 +51,12 @@ public class AjaxDownloadPage extends BasePage
add(downloadingContainer);

initDownload();
-   
+
initDownloadFailure();
-   
+
initDownloadReference();
+
+   initDownloadInNewWindow();
}
 
private void initDownload()
@@ -209,7 +211,61 @@ public class AjaxDownloadPage extends BasePage
}
});
}
-   
+
+   private void initDownloadInNewWindow()
+   {
+   IResource resource = new ResourceStreamResource() {
+   protected IResourceStream getResourceStream() {
+   // simulate delay
+   try
+   {
+   TimeUnit.MILLISECONDS.sleep(5000);
+   }
+   catch (InterruptedException e)
+   {
+   }
+
+   return new StringResourceStream("downloaded via 
ajax in a new browser window");
+   };
+
+   
}.setFileName("File-from-IResource.txt").setContentDisposition(ContentDisposition.INLINE).setCacheDuration(Duration.NONE);
+
+   final AjaxDownload download = new AjaxDownload(resource) {
+
+   @Override
+   protected void onBeforeDownload(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(true);
+   target.add(downloadingContainer);
+   }
+
+   @Override
+   protected void onDownloadSuccess(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
+
+   @Override
+   protected void onDownloadFailed(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
+   };
+   download.setLocation(AjaxDownload.Locatio

[7/7] wicket git commit: WICKET-6286 support failure callback for NewWindow too

2017-03-21 Thread svenmeier
WICKET-6286 support failure callback for NewWindow too


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

Branch: refs/heads/master
Commit: 3990899278e2dc5a2c60eac9acf71af9716d018c
Parents: a7c0109
Author: Sven Meier 
Authored: Tue Mar 21 23:09:53 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 21 23:23:17 2017 +0100

--
 .../examples/ajax/builtin/AjaxDownloadPage.html |  18 +-
 .../examples/ajax/builtin/AjaxDownloadPage.java | 164 +++
 wicket-examples/src/main/webapp/WEB-INF/web.xml |  21 ---
 .../wicket/extensions/ajax/AjaxDownload.java|  42 +++--
 .../extensions/ajax/wicket-ajaxdownload.js  |  54 --
 5 files changed, 163 insertions(+), 136 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/39908992/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
index 670c736..0be7fe2 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.html
@@ -23,23 +23,19 @@
 
 
 
-This example demonstrates a download initiated via 
Ajax.
+   All links below initiate a download of a resource via Ajax (failing 
every third time): 
 
 
-
-This download fails.
-
-
-
-A resource reference can be used too.
-
+
+   via an iframe.
+   in a new browser window.
+   in the same window.
+
 
 
-This example demonstrates a download
-initiated via Ajax and serving the response in a new browser window.
+   Alternatively a resource reference 
can be used too.
 
 
-
 Preparing download 
...
 
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/39908992/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
index b339b64..b589091 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/AjaxDownloadPage.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.examples.ajax.builtin;
 
+import java.util.concurrent.TimeUnit;
+
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.extensions.ajax.AjaxDownload;
@@ -29,8 +31,6 @@ import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.StringResourceStream;
 import org.apache.wicket.util.time.Duration;
 
-import java.util.concurrent.TimeUnit;
-
 /**
  * Ajax download.
  * 
@@ -52,30 +52,26 @@ public class AjaxDownloadPage extends BasePage

initDownload();
 
-   initDownloadFailure();
+   initDownloadInNewWindow();
 
-   initDownloadReference();
+   initDownloadInSameWindow();
 
-   initDownloadInNewWindow();
+   initDownloadReference();
}
 
+   @Override
+   protected void onConfigure()
+   {
+   super.onConfigure();
+
+   // download cannot continue on page refresh
+   downloadingContainer.setVisible(false);
+   }
+   
private void initDownload()
{
-   IResource resource = new ResourceStreamResource() {
-   protected IResourceStream getResourceStream() {
-   // simulate delay
-   try
-   {
-   TimeUnit.MILLISECONDS.sleep(5000);
-   }
-   catch (InterruptedException e)
-   {
-   }
-   
-   return new StringResourceStream("downloaded via 
ajax");
-   };
-   
-   
}.setFileName("File-from-IResource.txt").setContentDisposition(ContentDisposition.ATTACHMENT).setCacheDuration(Duration.NONE);
+   IResource resource = new ExampleResource("down

wicket git commit: WICKET-6340 improve support for XHTML markup

2017-03-17 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 9f2ca1478 -> 1b6ab749a


WICKET-6340 improve support for XHTML markup


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

Branch: refs/heads/wicket-6.x
Commit: 1b6ab749a79e9a921f50c296ab48a06cef43f3f1
Parents: 9f2ca14
Author: Sven Meier 
Authored: Fri Mar 17 21:23:04 2017 +0100
Committer: Sven Meier 
Committed: Fri Mar 17 21:34:47 2017 +0100

--
 .../org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js   | 5 +++--
 .../java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js| 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/1b6ab749/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
index a8dd7bb..89801c1 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
@@ -90,8 +90,9 @@
msg = msg.replace(//g, ">");
msg = msg.replace(/\n/g, "");
-   msg = msg.replace(/ /g, " ");
-   msg = msg.replace(/\t/g, "");
+   // WICKET-6340 do not use nbsp, it may not be defined 
in XHTML markup
+   msg = msg.replace(/ /g, " ");
+   msg = msg.replace(/\t/g, "");
 
if (typeof(label) !== "undefined") {
msg = "" + label + "" + msg;

http://git-wip-us.apache.org/repos/asf/wicket/blob/1b6ab749/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 b2265a8..2f6bf59 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
@@ -68,8 +68,9 @@
 * @param iframeName {String} the value of the iframe's name attribute
 */
createIFrame = function (iframeName) {
+   // WICKET-6340 properly close tag for XHTML markup
var $iframe = jQuery('');
+   '" src="about:blank" style="position: absolute; top: 
-px; left: -px;">');
return $iframe[0];
};
 



wicket git commit: WICKET-6340 improve support for XHTML markup

2017-03-17 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x a71cf5538 -> 94b07c6c1


WICKET-6340 improve support for XHTML markup


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

Branch: refs/heads/wicket-7.x
Commit: 94b07c6c1070ea88bba0c269e2f5fe4d80ebea05
Parents: a71cf55
Author: Sven Meier 
Authored: Fri Mar 17 21:23:04 2017 +0100
Committer: Sven Meier 
Committed: Fri Mar 17 21:23:04 2017 +0100

--
 .../org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js   | 5 +++--
 .../java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js| 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/94b07c6c/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
index 4287410..58425c3 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
@@ -90,8 +90,9 @@
msg = msg.replace(//g, ">");
msg = msg.replace(/\n/g, "");
-   msg = msg.replace(/ /g, " ");
-   msg = msg.replace(/\t/g, "");
+   // WICKET-6340 do not use nbsp, it may not be defined 
in XHTML markup
+   msg = msg.replace(/ /g, " ");
+   msg = msg.replace(/\t/g, "");
 
if (typeof(label) !== "undefined") {
msg = "" + label + "" + msg;

http://git-wip-us.apache.org/repos/asf/wicket/blob/94b07c6c/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 f0c5c12..0f25238 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
@@ -68,8 +68,9 @@
 * @param iframeName {String} the value of the iframe's name attribute
 */
createIFrame = function (iframeName) {
+   // WICKET-6340 properly close tag for XHTML markup
var $iframe = jQuery('');
+   '" src="about:blank" style="position: absolute; top: 
-px; left: -px;">');
return $iframe[0];
};
 



wicket git commit: WICKET-6340 improve support for XHTML markup

2017-03-17 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master fb5a2fa2f -> 1421ea2dc


WICKET-6340 improve support for XHTML markup


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

Branch: refs/heads/master
Commit: 1421ea2dc9207143cdadb735f3c79421674d924d
Parents: fb5a2fa
Author: Sven Meier 
Authored: Fri Mar 17 21:23:04 2017 +0100
Committer: Sven Meier 
Committed: Fri Mar 17 21:24:41 2017 +0100

--
 .../org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js   | 5 +++--
 .../java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js| 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/1421ea2d/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
index 4287410..58425c3 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery-debug.js
@@ -90,8 +90,9 @@
msg = msg.replace(//g, ">");
msg = msg.replace(/\n/g, "");
-   msg = msg.replace(/ /g, " ");
-   msg = msg.replace(/\t/g, "");
+   // WICKET-6340 do not use nbsp, it may not be defined 
in XHTML markup
+   msg = msg.replace(/ /g, " ");
+   msg = msg.replace(/\t/g, "");
 
if (typeof(label) !== "undefined") {
msg = "" + label + "" + msg;

http://git-wip-us.apache.org/repos/asf/wicket/blob/1421ea2d/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 f0c5c12..0f25238 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
@@ -68,8 +68,9 @@
 * @param iframeName {String} the value of the iframe's name attribute
 */
createIFrame = function (iframeName) {
+   // WICKET-6340 properly close tag for XHTML markup
var $iframe = jQuery('');
+   '" src="about:blank" style="position: absolute; top: 
-px; left: -px;">');
return $iframe[0];
};
 



wicket git commit: WICKET-6212 CheckBoxMultipleChoice with getAdditionalAttributesForLabel() as RadioChoice

2017-03-14 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 0eb634809 -> a71cf5538


WICKET-6212 CheckBoxMultipleChoice with getAdditionalAttributesForLabel() as 
RadioChoice


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

Branch: refs/heads/wicket-7.x
Commit: a71cf55380567fea894d3dd31fd5f24d5e83b004
Parents: 0eb6348
Author: Sven Meier 
Authored: Tue Mar 14 10:43:33 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 14 10:45:45 2017 +0100

--
 .../html/form/CheckBoxMultipleChoice.java   | 68 
 .../wicket/markup/html/form/RadioChoice.java| 22 +++
 .../html/form/CheckBoxMultipleChoiceTest.java   | 62 +++---
 3 files changed, 121 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/a71cf553/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
index 35d0905..ff403a1 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
@@ -421,19 +421,43 @@ public class CheckBoxMultipleChoice extends 
ListMultipleChoice
final CharSequence escaped = (getEscapeModelStrings() ? 
Strings.escapeMarkup(display)
: display);
 
+   // Allows user to add attributes to the  tag
+   IValueMap labelAttrs = 
getAdditionalAttributesForLabel(index, choice);
+   StringBuilder extraLabelAttributes = new 
StringBuilder();
+   if (labelAttrs != null)
+   {
+   for (Map.Entry attr : 
labelAttrs.entrySet())
+   {
+   extraLabelAttributes.append(' ')
+   
.append(Strings.escapeMarkup(attr.getKey()))
+   .append("=\"")
+   
.append(Strings.escapeMarkup(attr.getValue().toString()))
+   .append('"');
+   }
+   }
+
switch (labelPosition)
{
case BEFORE:
-   buffer.append("").append(escaped).append("");
-   break;
-   case WRAP_AFTER:
-   buffer.append("");
+   buffer.append("')
+   .append(escaped)
+   .append("");
break;
case WRAP_BEFORE:
-   buffer.append("");
-   buffer.append(escaped).append(' ');
+   buffer.append("')
+   .append(escaped)
+   .append(' ');
+   break;
+   case WRAP_AFTER:
+   buffer.append("');
break;
}
 
@@ -499,12 +523,18 @@ public class CheckBoxMultipleChoice extends 
ListMultipleChoice
buffer.append("");
break;
case WRAP_AFTER:
-   buffer.append(' 
').append(escaped).append("");
+   buffer.append(' ')
+   .append(escaped)
+   .append("");
break;
case AFTER:
-   buffer.append("").append(escaped).append("");
+   buffer.append("')
+   .append(escaped)
+   .append("");
break;
}
 
@@ -

wicket git commit: WICKET-6212 CheckBoxMultipleChoice with getAdditionalAttributesForLabel() as RadioChoice

2017-03-14 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x e2f8fc98b -> 9f2ca1478


WICKET-6212 CheckBoxMultipleChoice with getAdditionalAttributesForLabel() as 
RadioChoice


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

Branch: refs/heads/wicket-6.x
Commit: 9f2ca1478b5fcc63798ca383bae56891b477c4b7
Parents: e2f8fc9
Author: Sven Meier 
Authored: Tue Mar 14 10:43:33 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 14 11:04:11 2017 +0100

--
 .../html/form/CheckBoxMultipleChoice.java   | 68 
 .../wicket/markup/html/form/RadioChoice.java| 22 +++
 .../html/form/CheckBoxMultipleChoiceTest.java   | 62 +++---
 3 files changed, 121 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/9f2ca147/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
index 3563779..435c402 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
@@ -420,19 +420,43 @@ public class CheckBoxMultipleChoice extends 
ListMultipleChoice
final CharSequence escaped = (getEscapeModelStrings() ? 
Strings.escapeMarkup(display)
: display);
 
+   // Allows user to add attributes to the  tag
+   IValueMap labelAttrs = 
getAdditionalAttributesForLabel(index, choice);
+   StringBuilder extraLabelAttributes = new 
StringBuilder();
+   if (labelAttrs != null)
+   {
+   for (Map.Entry attr : 
labelAttrs.entrySet())
+   {
+   extraLabelAttributes.append(' ')
+   
.append(Strings.escapeMarkup(attr.getKey()))
+   .append("=\"")
+   
.append(Strings.escapeMarkup(attr.getValue().toString()))
+   .append('"');
+   }
+   }
+
switch (labelPosition)
{
case BEFORE:
-   buffer.append("").append(escaped).append("");
-   break;
-   case WRAP_AFTER:
-   buffer.append("");
+   buffer.append("')
+   .append(escaped)
+   .append("");
break;
case WRAP_BEFORE:
-   buffer.append("");
-   buffer.append(escaped).append(' ');
+   buffer.append("')
+   .append(escaped)
+   .append(' ');
+   break;
+   case WRAP_AFTER:
+   buffer.append("');
break;
}
 
@@ -491,12 +515,18 @@ public class CheckBoxMultipleChoice extends 
ListMultipleChoice
buffer.append("");
break;
case WRAP_AFTER:
-   buffer.append(' 
').append(escaped).append("");
+   buffer.append(' ')
+   .append(escaped)
+   .append("");
break;
case AFTER:
-   buffer.append("").append(escaped).append("");
+   buffer.append("')
+   .append(escaped)
+   .append("");
break;
}
 
@@ -

wicket git commit: WICKET-6212 CheckBoxMultipleChoice with getAdditionalAttributesForLabel() as RadioChoice

2017-03-14 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master e04e92a75 -> fb5a2fa2f


WICKET-6212 CheckBoxMultipleChoice with getAdditionalAttributesForLabel() as 
RadioChoice


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

Branch: refs/heads/master
Commit: fb5a2fa2f927dd6f6bc774731b591becbbb65121
Parents: e04e92a
Author: Sven Meier 
Authored: Tue Mar 14 10:43:33 2017 +0100
Committer: Sven Meier 
Committed: Tue Mar 14 11:21:06 2017 +0100

--
 .../html/form/CheckBoxMultipleChoice.java   | 68 
 .../wicket/markup/html/form/RadioChoice.java| 22 +++
 .../html/form/CheckBoxMultipleChoiceTest.java   | 62 +++---
 3 files changed, 121 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/fb5a2fa2/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
index 7823b31..f1c3520 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
@@ -421,19 +421,43 @@ public class CheckBoxMultipleChoice extends 
ListMultipleChoice
final CharSequence escaped = (getEscapeModelStrings() ? 
Strings.escapeMarkup(display)
: display);
 
+   // Allows user to add attributes to the  tag
+   IValueMap labelAttrs = 
getAdditionalAttributesForLabel(index, choice);
+   StringBuilder extraLabelAttributes = new 
StringBuilder();
+   if (labelAttrs != null)
+   {
+   for (Map.Entry attr : 
labelAttrs.entrySet())
+   {
+   extraLabelAttributes.append(' ')
+   
.append(Strings.escapeMarkup(attr.getKey()))
+   .append("=\"")
+   
.append(Strings.escapeMarkup(attr.getValue().toString()))
+   .append('"');
+   }
+   }
+
switch (labelPosition)
{
case BEFORE:
-   buffer.append("").append(escaped).append("");
-   break;
-   case WRAP_AFTER:
-   buffer.append("");
+   buffer.append("')
+   .append(escaped)
+   .append("");
break;
case WRAP_BEFORE:
-   buffer.append("");
-   buffer.append(escaped).append(' ');
+   buffer.append("')
+   .append(escaped)
+   .append(' ');
+   break;
+   case WRAP_AFTER:
+   buffer.append("');
break;
}
 
@@ -494,12 +518,18 @@ public class CheckBoxMultipleChoice extends 
ListMultipleChoice
buffer.append("");
break;
case WRAP_AFTER:
-   buffer.append(' 
').append(escaped).append("");
+   buffer.append(' ')
+   .append(escaped)
+   .append("");
break;
case AFTER:
-   buffer.append("").append(escaped).append("");
+   buffer.append("')
+   .append(escaped)
+   .append("");
break;
}
 
@@ -509,6 +5

wicket git commit: WICKET-6335 call factory methods from #onInitialize()

2017-03-12 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master befa7f0f7 -> 247ef2996


WICKET-6335 call factory methods from #onInitialize()

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

Branch: refs/heads/master
Commit: 247ef29967c2d50ccf0925d28edf641610f5c30c
Parents: befa7f0
Author: Sven Meier 
Authored: Sun Mar 12 19:38:00 2017 +0100
Committer: Sven Meier 
Committed: Sun Mar 12 19:38:00 2017 +0100

--
 .../wicket/extensions/markup/html/repeater/tree/Node.java   | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/247ef299/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
index e48a34c..1d9f957 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/Node.java
@@ -72,12 +72,19 @@ public abstract class Node extends Panel
super(id, model);
 
this.tree = tree;
+   }
+   
+   @Override
+   protected void onInitialize()
+   {
+   super.onInitialize();
+   
 
MarkupContainer junction = createJunctionComponent("junction");
junction.add(new StyleBehavior());
add(junction);
 
-   Component content = createContent(CONTENT_ID, model);
+   Component content = createContent(CONTENT_ID, getModel());
if (!content.getId().equals(CONTENT_ID))
{
throw new IllegalArgumentException(



wicket git commit: WICKET-6325 ART is a mandatory parameter now

2017-02-23 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 1d8a9c780 -> 3bb858f96


WICKET-6325 ART is a mandatory parameter now


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

Branch: refs/heads/master
Commit: 3bb858f96b2754f3386055f6b21e30c56d79b9be
Parents: 1d8a9c7
Author: Sven Meier 
Authored: Thu Feb 23 15:35:25 2017 +0100
Committer: Sven Meier 
Committed: Thu Feb 23 15:35:25 2017 +0100

--
 .../content/CheckedSelectableFolderContent.java |  2 +-
 .../tree/content/EditableFolderContent.java |  2 +-
 .../content/MultiSelectableFolderContent.java   |  2 +-
 .../tree/content/SelectableFolderContent.java   |  4 +-
 .../markup/html/repeater/tree/AbstractTree.java | 21 ---
 .../markup/html/repeater/tree/NestedTree.java   | 65 +++-
 .../markup/html/repeater/tree/TableTree.java| 38 ++--
 .../html/repeater/util/TreeModelProvider.java   |  5 +-
 8 files changed, 72 insertions(+), 67 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/3bb858f9/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
index 9ca44d3..6dd1532 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/CheckedSelectableFolderContent.java
@@ -63,7 +63,7 @@ public class CheckedSelectableFolderContent extends 
SelectableFolderContent
foo = foo.getParent();
}
 
-   tree.updateBranch(foo, Optional.of(target));
+   tree.updateBranch(foo, target);
}
 
/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/3bb858f9/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
index 280857b..3792c86 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/EditableFolderContent.java
@@ -84,7 +84,7 @@ public class EditableFolderContent extends Content
/**
 * update whole node in case 
we're located inside TableTree
 */
-   
tree.updateNode(model.getObject(), Optional.of(target));
+   
tree.updateNode(model.getObject(), target);
}
};
}

http://git-wip-us.apache.org/repos/asf/wicket/blob/3bb858f9/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
index 2e70744..9106365 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/MultiSelectableFolderContent.java
@@ -64,7 +64,7 @@ public class MultiSelectableFolderContent extends Content
selected.add(foo);
}
 
-   tree.updateNode(foo, targetOptional);
+   targetOptional.ifPresent(target -> tree.updateNode(foo, 
target));
}
 
@Override

http://git-wip-us.apache.org/repos/asf/wicket/blob/3bb858f9/wicket-examples/src/main/java/org/apache/wicket/examples/tree/content/SelectableFolderContent.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/tree

wicket git commit: WICKET-6324 optional for all callbacks

2017-02-23 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master d71d384a0 -> 1d8a9c780


WICKET-6324 optional for all callbacks


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

Branch: refs/heads/master
Commit: 1d8a9c780756130fad77135aa54717552bdd41c9
Parents: d71d384
Author: Sven Meier 
Authored: Thu Feb 23 12:39:54 2017 +0100
Committer: Sven Meier 
Committed: Thu Feb 23 12:39:54 2017 +0100

--
 .../markup/html/form/AjaxFallbackButton.java| 14 ++--
 .../java/org/apache/wicket/ajax/HomePage.java   |  5 --
 .../wicket/ajax/form/AjaxFormSubmitTest.java| 76 
 .../ajax/form/AjaxFormSubmitTestPage.java   | 50 +
 .../form/AjaxFormSubmitTestPage_expected.html   | 14 ++--
 .../html/form/FormWithMultipleButtonsTest.java  |  5 --
 .../devutils/inspector/EnhancedPageView.java|  7 +-
 7 files changed, 115 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/1d8a9c78/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
 
b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
index 8fd7ad8..f24dd22 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
@@ -73,19 +73,19 @@ public abstract class AjaxFallbackButton extends Button
@Override
protected void onSubmit(AjaxRequestTarget target)
{
-   
AjaxFallbackButton.this.onSubmit(Optional.ofNullable(target));
+   
AjaxFallbackButton.this.onSubmit(Optional.of(target));
}
 
@Override
protected void onAfterSubmit(AjaxRequestTarget target)
{
-   AjaxFallbackButton.this.onAfterSubmit(target);
+   
AjaxFallbackButton.this.onAfterSubmit(Optional.of(target));
}
 
@Override
protected void onError(AjaxRequestTarget target)
{
-   AjaxFallbackButton.this.onError(target);
+   
AjaxFallbackButton.this.onError(Optional.of(target));
}
 
@Override
@@ -119,7 +119,7 @@ public abstract class AjaxFallbackButton extends Button
 * @param target
 * @param form
 */
-   protected void onError(AjaxRequestTarget target)
+   protected void onError(Optional target)
{
}
 
@@ -128,7 +128,7 @@ public abstract class AjaxFallbackButton extends Button
{
if (getRequestCycle().find(AjaxRequestTarget.class).isPresent() 
== false)
{
-   onError(null);
+   onError(Optional.empty());
}
}
 
@@ -152,7 +152,7 @@ public abstract class AjaxFallbackButton extends Button
{
if (getRequestCycle().find(AjaxRequestTarget.class).isPresent() 
== false)
{
-   onAfterSubmit(null);
+   onAfterSubmit(Optional.empty());
}
}
 
@@ -188,7 +188,7 @@ public abstract class AjaxFallbackButton extends Button
 *ajax target if this linked was invoked using ajax, null 
otherwise
 * @param form
 */
-   protected void onAfterSubmit(final AjaxRequestTarget target)
+   protected void onAfterSubmit(final Optional target)
{
}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/1d8a9c78/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
--
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java 
b/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
index d8ed36b..bc0b5cb 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/HomePage.java
@@ -104,11 +104,6 @@ public class HomePage extends WebPage
listView.removeAll();
targetOptional.ifPresent(target -> 
target.add(listViewContainer));
}
-
-   

wicket git commit: WICKET-6322 remove lambda component factories

2017-02-20 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 94759c0ab -> 7a72a623e


WICKET-6322 remove lambda component factories


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

Branch: refs/heads/master
Commit: 7a72a623e420905f963445d74881362252d29993
Parents: 94759c0
Author: Sven Meier 
Authored: Mon Feb 20 18:15:51 2017 +0100
Committer: Sven Meier 
Committed: Mon Feb 20 18:15:51 2017 +0100

--
 .../wicket/ajax/markup/html/AjaxLink.java   |  54 
 .../ajax/markup/html/form/AjaxButton.java   |  64 -
 .../ajax/markup/html/form/AjaxCheckBox.java |  28 
 .../ajax/markup/html/form/AjaxSubmitLink.java   |  64 -
 .../java/org/apache/wicket/lambda/Lambdas.java  | 129 ---
 .../apache/wicket/markup/html/form/Button.java  |  65 +-
 .../apache/wicket/markup/html/link/Link.java|  29 +
 .../wicket/examples/ajax/builtin/LinksPage.java |  28 ++--
 .../examples/ajax/builtin/WorldClockPage.java   |  14 +-
 .../wicket/examples/authorization/Index.java|   6 +-
 .../pages/AnnotationsPanelsPage.java|  24 ++--
 .../examples/captcha/AbstractCaptchaForm.java   |  13 +-
 .../examples/cdi/AutoConversationPage1.java |  16 ++-
 .../wicket/examples/cdi/ConversationPage1.java  |  20 ++-
 .../wicket/examples/cdi/ConversationPage2.java  |   8 +-
 .../wicket/examples/cdi/InjectionPage.java  |   8 +-
 .../wicket/examples/compref/LinkPage.java   |  18 ++-
 .../examples/compref/NonBookmarkablePage.java   |   6 +-
 .../events/DecoupledAjaxUpdatePage.java |  10 +-
 .../wicket/examples/forminput/FormInput.java|  21 +--
 .../apache/wicket/examples/guice/HomePage.java  |   9 +-
 .../apache/wicket/examples/hangman/Lose.java|  13 +-
 .../org/apache/wicket/examples/hangman/Win.java |  13 +-
 .../wicket/examples/kittenCaptcha/HomePage.java |  31 +++--
 .../apache/wicket/examples/linkomatic/Home.java |  86 +
 .../wicket/examples/repeater/OIRPage.java   |  16 ++-
 .../examples/repeater/RefreshingPage.java   |  11 +-
 .../wicket/examples/stateless/StatefulPage.java |  17 ++-
 .../template/border/TemplateBorder.java |  21 +--
 .../template/pageinheritance/TemplatePage.java  |  21 +--
 .../wicket/examples/tree/AdvancedTreePage.java  |  29 -
 .../wicket/examples/upload/UploadPage.java  |  13 +-
 32 files changed, 336 insertions(+), 569 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/7a72a623/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java
index 483c2b4..67c731e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/AjaxLink.java
@@ -24,9 +24,6 @@ import 
org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.lang.Args;
-import org.danekja.java.util.function.serializable.SerializableBiConsumer;
-import org.danekja.java.util.function.serializable.SerializableConsumer;
 
 /**
  * A component that allows a trigger request to be triggered via html anchor 
tag
@@ -143,57 +140,6 @@ public abstract class AjaxLink extends AbstractLink 
implements IAjaxLink, IGe
@Override
public abstract void onClick(final AjaxRequestTarget target);
 
-   /**
-* Creates an {@link AjaxLink} based on lambda expressions
-* 
-* @param id
-*the id of the ajax link
-* @param onClick
-*the {@code SerializableConsumer} which accepts the {@link 
AjaxRequestTarget}
-* @return the {@link AjaxLink}
-*/
-   public static  AjaxLink onClick(String id,
-   SerializableConsumer onClick)
-   {
-   Args.notNull(onClick, "onClick");
-
-   return new AjaxLink(id)
-   {
-   private static final long serialVersionUID = 1L;
-
-   @Override
-   public void onClick(AjaxRequestTarget target)
-   {
-   onClick.accept(target);
-   }
-   };
-   }
-
-   /**
-* Creates an {@link AjaxLink} based on lambda expressions
-* 
-* @param id
- 

[2/2] wicket git commit: Minor guide fixes

2017-02-18 Thread svenmeier
Minor guide fixes

This closes #213


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

Branch: refs/heads/master
Commit: da071f7a6294bbedbb6848f6dd19232eee534e97
Parents: 77602c0
Author: Tim Fleming 
Authored: Sat Feb 18 02:01:48 2017 -0600
Committer: Sven Meier 
Committed: Sat Feb 18 11:10:28 2017 +0100

--
 .../src/main/asciidoc/helloWorld/helloWorld_2.adoc  | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/da071f7a/wicket-user-guide/src/main/asciidoc/helloWorld/helloWorld_2.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/helloWorld/helloWorld_2.adoc 
b/wicket-user-guide/src/main/asciidoc/helloWorld/helloWorld_2.adoc
index 45e5226..ade0c59 100644
--- a/wicket-user-guide/src/main/asciidoc/helloWorld/helloWorld_2.adoc
+++ b/wicket-user-guide/src/main/asciidoc/helloWorld/helloWorld_2.adoc
@@ -1,5 +1,5 @@
 
-In this chapter we will see a classic Hello World! example implemented using a 
Wicket page with a built-in component called _Label_ (the code is from project 
the HelloWorldExample). Since this is the first example of the guide, before 
looking at Java code we will go through the common artifacts needed to build a 
Wicket application from scratch.
+In this chapter we will see a classic Hello World! example implemented using a 
Wicket page with a built-in component called _Label_ (the code is from the 
HelloWorldExample project). Since this is the first example of the guide, 
before looking at Java code we will go through the common artifacts needed to 
build a Wicket application from scratch.
 
 NOTE: All the example projects presented in this document have been generated 
using Maven and the utility page at  
http://wicket.apache.org/start/quickstart.html[http://wicket.apache.org/start/quickstart.html]
 . *Appendix A* contains the instructions needed to use these projects and 
build a quickstart application using Apache Maven. All the artifacts used in 
the next example (files web.xml, HomePage.class and HomePage.html) are 
automatically generated by Maven.
 
@@ -60,7 +60,7 @@ Class _Application_ comes with a set of configuration methods 
that we can overri
 public abstract Class getHomePage()
 
 
-As you may guess from its name, this method specifies which page to use as 
homepage for our application. 
+As you may guess from its name, this method specifies which page to use as a 
homepage for our application.
 Another important method is _init()_:
 
 [source,java]
@@ -68,9 +68,9 @@ Another important method is _init()_:
 protected void init()
 
 
-This method is called when our application is loaded by the web server 
(Tomcat, Jetty, etc...) and is the ideal place to put our configuration code. 
The _Application_ class exposes its settings grouping them into interfaces (you 
can find them in package _org.apache.wicket.settings_). We can access these 
interfaces through getter methods that will be gradually introduced in the next 
chapters when we will cover the related settings.
+This method is called when our application is loaded by the web server 
(Tomcat, Jetty, etc...) and is the ideal place to put our configuration code. 
The _Application_ class exposes its settings grouping them into interfaces (you 
can find them in package _org.apache.wicket.settings_). We can access these 
interfaces through getter methods, which will be gradually introduced in the 
next chapters when covering related settings.
 
-The current application's instance can be retrieved at any time calling static 
method _Application.get()_ in our code. We will give more details about this 
method in 
<>. The content of the application class from project HelloWorldExample is 
the following:
+The current application's instance can be retrieved at any time by calling 
static method _Application.get()_ in our code. We will give more details about 
this method in 
<>. The content of the application class from the HelloWorldExample project 
is the following:
 
 [source,java]
 
@@ -91,8 +91,8 @@ public class WicketApplication extends WebApplication
 }
 
 
-Since this is a very basic example of a Wicket application, we don't need to 
specify anything inside the _init_ method. The home page of the application is 
the _HomePage_ class. In the next paragraph we will see how this page is 
implemented and which conventions we have to follow to create a page in Wicket.
+Since this is a very basic example of a Wicket application, we don't need to 
specify anything inside the _init_ method. The home page of the application is 
the _Hom

[1/2] wicket git commit: Minor fixes to guide documentation

2017-02-18 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 05a174130 -> da071f7a6


Minor fixes to guide documentation


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

Branch: refs/heads/master
Commit: 77602c0deba29966e17beba8451de6046e5e6acc
Parents: 05a1741
Author: Tim Fleming 
Authored: Sat Feb 18 00:15:28 2017 -0600
Committer: Tim Fleming 
Committed: Sat Feb 18 00:15:28 2017 -0600

--
 wicket-user-guide/src/main/asciidoc/contributing.adoc| 4 ++--
 wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_1.adoc | 6 +++---
 wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_2.adoc | 6 +++---
 wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_3.adoc | 4 ++--
 wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_4.adoc | 4 ++--
 5 files changed, 12 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/77602c0d/wicket-user-guide/src/main/asciidoc/contributing.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/contributing.adoc 
b/wicket-user-guide/src/main/asciidoc/contributing.adoc
index 61c220b..fab207f 100644
--- a/wicket-user-guide/src/main/asciidoc/contributing.adoc
+++ b/wicket-user-guide/src/main/asciidoc/contributing.adoc
@@ -13,13 +13,13 @@ git clone https://github.com/apache/wicket.git
 
 * To preview your changes run _mvn clean package -P guide_ in the 
`wicket/wicket-user-guide` folder (in eclipse use a run configuration)
 
-* Navigate to _wicket/wicket-user-guide/target/guide/8.x_ and open one of the 
following files a browser / pdf viewer:
+* Navigate to _wicket/wicket-user-guide/target/guide/8.x_ and open one of the 
following files in a browser / pdf viewer:
 ** _guide/single.html_ (single page version)
 ** _guide/single.pdf_ (single page pdf version)
 
 * Create a ticket in Apache Wicket's 
https://issues.apache.org/jira/browse/WICKET[JIRA]
 
-* *Commit and push the changes* to your forked Apacke Wicket's GIT repository 
and *create a pull request* on github
+* *Commit and push the changes* to your forked Apache Wicket's GIT repository 
and *create a pull request* on github
 
 *Thank you!*
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/77602c0d/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_1.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_1.adoc 
b/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_1.adoc
index 1922670..54f33c9 100644
--- a/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_1.adoc
+++ b/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_1.adoc
@@ -1,10 +1,10 @@
 
 ...but we all hate spaghetti code! That's why in the first half of the 2000s 
we have seen the birth of so many web frameworks. Their mission was to separate 
our business code from presentation layer (like JSP pages).
 
-Some of theme (like Struts, Spring MVC, Velocity, etc...) have become widely 
adopted and they made the MVC pattern very popular among developers.
-However, none of these frameworks offers a real object-oriented (OO) 
abstraction for web pages and we still have to take care of web-related tasks 
such as HTTP request/response handling, URLs mapping, storing data into user 
session and so on.
+Some of them (like Struts, Spring MVC, Velocity, etc...) have become widely 
adopted and they made the MVC pattern very popular among developers.
+However, none of these frameworks offers a real object-oriented (OO) 
abstraction for web pages and we still have to take care of web-related tasks 
such as HTTP request/response handling, URL mapping, storing data into user 
sessions and so on.
 
-The biggest limit of MVC frameworks is that they don't do much to overcome the 
impedance mismatch between the stateless nature of HTTP protocol and the need 
of our web applications of handling a (very complex) state.
+The biggest limit of MVC frameworks is that they don't do much to overcome the 
impedance mismatch between the stateless nature of HTTP protocol and the need 
for our web applications to handle (a very complex) state.
 
 To overcome these limits developers have started to adopt a new generation of 
component oriented web frameworks designed to provide a completely different 
approach to web development.
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/77602c0d/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_2.adoc
--
diff --git a/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_2.adoc 
b/wicket-user-guide/src/main/asciidoc/whyLearn/whyLearn_2.ad

wicket git commit: experimenting with suspension of requestCycle via servlet 3 async

2017-02-17 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/suspend_request_cycle [created] 64f746fba


experimenting with suspension of requestCycle via servlet 3 async

Notes:
- enabled async-supported in web.xml for ComponentReferenceApplication
- LinkPage shows usage of RequestCycle#suspend()
- pageAccessSynchronizer uses the requestCycle instead of the thread
now, since two threads might process a page (PageAccessSynchronizerTest
still fails)
- ServletWebRequest must not call httpServletRequest#getContextPath(),
since it returns null during async processing


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

Branch: refs/heads/suspend_request_cycle
Commit: 64f746fba8bb0235dd870e2a9d2ba1eaa192ada5
Parents: 05a1741
Author: Sven Meier 
Authored: Fri Feb 17 18:30:51 2017 +0100
Committer: Sven Meier 
Committed: Fri Feb 17 19:58:44 2017 +0100

--
 .../wicket/page/PageAccessSynchronizer.java |  45 +++---
 .../http/servlet/ServletWebRequest.java |   2 +-
 .../wicket/request/cycle/RequestCycle.java  | 153 ++-
 .../wicket/examples/compref/LinkPage.java   |  15 ++
 wicket-examples/src/main/webapp/WEB-INF/web.xml |  22 +--
 5 files changed, 191 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/64f746fb/wicket-core/src/main/java/org/apache/wicket/page/PageAccessSynchronizer.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/page/PageAccessSynchronizer.java 
b/wicket-core/src/main/java/org/apache/wicket/page/PageAccessSynchronizer.java
index 86fbb8b..df359e6 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/page/PageAccessSynchronizer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/page/PageAccessSynchronizer.java
@@ -23,6 +23,7 @@ import java.util.concurrent.ConcurrentMap;
 import java.util.function.Supplier;
 
 import org.apache.wicket.Application;
+import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.settings.ExceptionSettings.ThreadDumpStrategy;
 import org.apache.wicket.util.LazyInitializer;
 import org.apache.wicket.util.lang.Threads;
@@ -93,8 +94,8 @@ public class PageAccessSynchronizer implements Serializable
 */
public void lockPage(int pageId) throws CouldNotLockPageException
{
-   final Thread thread = Thread.currentThread();
-   final PageLock lock = new PageLock(pageId, thread);
+   final RequestCycle cycle = RequestCycle.get();
+   final PageLock lock = new PageLock(pageId, cycle);
final Time start = Time.now();
 
boolean locked = false;
@@ -110,12 +111,12 @@ public class PageAccessSynchronizer implements 
Serializable
if (isDebugEnabled)
{
logger.debug("'{}' attempting to acquire lock 
to page with id '{}'",
-   thread.getName(), pageId);
+   cycle.getStartTime(), pageId);
}
 
previous = locks.get().putIfAbsent(pageId, lock);
 
-   if (previous == null || previous.thread == thread)
+   if (previous == null || previous.cycle == cycle)
{
// first thread to acquire lock or lock is 
already owned by this thread
locked = true;
@@ -134,7 +135,7 @@ public class PageAccessSynchronizer implements Serializable
{
if (isDebugEnabled)
{
-   logger.debug("{} acquired lock to page {}", 
thread.getName(), pageId);
+   logger.debug("{} acquired lock to page {}", 
cycle.getStartTime(), pageId);
}
}
else
@@ -144,8 +145,8 @@ public class PageAccessSynchronizer implements Serializable
logger.warn(
"Thread '{}' failed to acquire lock to 
page with id '{}', attempted for {} out of allowed {}." +
" The thread that holds 
the lock has name '{}'.",
-   thread.getName(), pageId, 
start.elapsedSince(), timeout,
-   
previous.thread.getName());
+   cycle.getStartTime(), pageId, 
start.elapsedSince(), timeout,
+ 

[2/2] wicket git commit: WICKET-6137 renamed ..ListenerInterface.. methods to ..Listener..

2017-01-30 Thread svenmeier
WICKET-6137 renamed ..ListenerInterface.. methods to ..Listener..


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

Branch: refs/heads/master
Commit: 5b37aedcb89b3c0a1976f4003ac4779e2f78963a
Parents: 9ec235f
Author: Sven Meier 
Authored: Mon Jan 30 17:52:11 2017 +0100
Committer: Sven Meier 
Committed: Mon Jan 30 17:52:26 2017 +0100

--
 .../main/java/org/apache/wicket/Component.java  | 10 
 .../apache/wicket/RequestListenerInterface.java |  4 ++--
 .../org/apache/wicket/behavior/Behavior.java|  8 +++
 .../request/handler/ListenerRequestHandler.java |  6 ++---
 .../request/handler/logger/ListenerLogData.java |  1 -
 .../mapper/AbstractBookmarkableMapper.java  |  2 +-
 .../core/request/mapper/BookmarkableMapper.java |  2 +-
 .../core/request/mapper/MountedMapper.java  |  2 +-
 .../core/request/mapper/PackageMapper.java  |  2 +-
 .../core/request/mapper/PageInstanceMapper.java |  2 +-
 .../apache/wicket/markup/html/image/Image.java  |  4 ++--
 .../component/IRequestableComponent.java|  2 +-
 .../apache/wicket/settings/PageSettings.java| 18 +++
 .../wicket/settings/RequestCycleSettings.java   |  2 +-
 .../java/org/apache/wicket/ComponentTest.java   |  4 ++--
 .../java/org/apache/wicket/MockComponent.java   |  7 +-
 .../request/mapper/BookmarkableMapperTest.java  | 10 
 .../core/request/mapper/MountedMapperTest.java  | 24 +---
 .../core/request/mapper/PackageMapperTest.java  | 10 
 .../PageExpirationRecoveryTest.java |  8 +++
 ...LazyIsPageStatelessRedirectToBufferTest.java |  2 +-
 21 files changed, 59 insertions(+), 71 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/5b37aedc/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 f732463..5f8b209 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -2085,7 +2085,7 @@ public abstract class Component
 */
public final boolean isStateless()
{
-   if ((isVisibleInHierarchy() && isEnabledInHierarchy()) == false 
&& canCallListenerInterface() == false)
+   if ((isVisibleInHierarchy() && isEnabledInHierarchy()) == false 
&& canCallListener() == false)
{
// the component is either invisible or disabled and it 
can't call listeners
// then pretend the component is stateless
@@ -2233,7 +2233,7 @@ public abstract class Component
{
// only process feedback panel when we are about to be 
rendered.
// setRenderingFlag is false in case prepareForRender 
is called only to build component
-   // hierarchy (i.e. in 
BookmarkableListenerInterfaceRequestHandler).
+   // hierarchy (i.e. in 
BookmarkableListenerRequestHandler).
// prepareForRender(true) is always called before the 
actual rendering is done so
// that's where feedback panels gather the messages
 
@@ -4494,7 +4494,7 @@ public abstract class Component
 * 
 * @return {@literal true} iff the listener method can be invoked on 
this component
 */
-   public boolean canCallListenerInterface()
+   public boolean canCallListener()
{
return isEnabledInHierarchy() && isVisibleInHierarchy();
}
@@ -4582,10 +4582,10 @@ public abstract class Component
}
 
@Override
-   public boolean canCallListenerInterfaceAfterExpiry()
+   public boolean canCallListenerAfterExpiry()
{
return getApplication().getPageSettings()
-   .getCallListenerInterfaceAfterExpiry() || isStateless();
+   .getCallListenerAfterExpiry() || isStateless();
}
/**
 * This method is called whenever a component is re-added to the page's 
component tree, if it

http://git-wip-us.apache.org/repos/asf/wicket/blob/5b37aedc/wicket-core/src/main/java/org/apache/wicket/RequestListenerInterface.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/RequestListenerInterface.java 
b/wicket-core/src/main/java/org/apache/wicket/RequestListenerInterface.java
index fa1e69e..37f04f8 100644
--- a/wicket-core/src/m

[1/2] wicket git commit: WICKET-6137 renamed BookmarkableListenerInterfaceRequestHandler to BookmarkableListenerRequestHandler

2017-01-30 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 8342e4ef9 -> 5b37aedcb


WICKET-6137 renamed BookmarkableListenerInterfaceRequestHandler to 
BookmarkableListenerRequestHandler


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

Branch: refs/heads/master
Commit: 9ec235f9f5c47112528cedcadb4cf5ae19172866
Parents: 8342e4e
Author: Sven Meier 
Authored: Mon Jan 30 17:19:54 2017 +0100
Committer: Sven Meier 
Committed: Mon Jan 30 17:19:54 2017 +0100

--
 .../main/java/org/apache/wicket/Component.java  |   4 +-
 ...markableListenerInterfaceRequestHandler.java | 170 ---
 .../BookmarkableListenerRequestHandler.java | 170 +++
 .../mapper/AbstractBookmarkableMapper.java  |   6 +-
 .../request/mapper/BookmarkableMapperTest.java  |   6 +-
 .../core/request/mapper/CryptoMapperTest.java   |   6 +-
 .../core/request/mapper/MountedMapperTest.java  |   6 +-
 .../core/request/mapper/PackageMapperTest.java  |   6 +-
 8 files changed, 187 insertions(+), 187 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/9ec235f9/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 a6aa54f..f732463 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -31,7 +31,7 @@ import org.apache.wicket.authorization.IAuthorizationStrategy;
 import org.apache.wicket.authorization.UnauthorizedActionException;
 import 
org.apache.wicket.authorization.strategies.page.SimplePageAuthorizationStrategy;
 import org.apache.wicket.behavior.Behavior;
-import 
org.apache.wicket.core.request.handler.BookmarkableListenerInterfaceRequestHandler;
+import 
org.apache.wicket.core.request.handler.BookmarkableListenerRequestHandler;
 import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.core.util.lang.WicketObjects;
@@ -3392,7 +3392,7 @@ public abstract class Component
if (page.isPageStateless()
|| (page.isBookmarkable() && 
page.wasCreatedBookmarkable()))
{
-   return new 
BookmarkableListenerInterfaceRequestHandler(provider, id);
+   return new BookmarkableListenerRequestHandler(provider, 
id);
}
else
{

http://git-wip-us.apache.org/repos/asf/wicket/blob/9ec235f9/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
deleted file mode 100644
index 772e215..000
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
+++ /dev/null
@@ -1,170 +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.core.request.handler;
-
-import org.apache.wicket.IRequestListener;
-import org.apache.wicket.request.IRequestCycle;
-import org.apache.wicket.request.component.IRequestableComponent;
-import org.apache.wicket.request.component.IRequestablePage;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.lang.Args;
-
-/**
- * Request handler for bookmarkable pages with an {@link IRequestListener}. 
This handler is only used to
- * generate URLs. Rendering is always ha

wicket git commit: WICKET-6137 renamed ListenerInterfaceRequestHandler to ListenerRequestHandler

2017-01-30 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 16e44ce98 -> 8342e4ef9


WICKET-6137 renamed ListenerInterfaceRequestHandler to ListenerRequestHandler

there isn't a ..ListenerInterface any more


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

Branch: refs/heads/master
Commit: 8342e4ef9acd442ddfe7ad78d04838d17c1b9fec
Parents: 16e44ce
Author: Sven Meier 
Authored: Mon Jan 30 16:50:26 2017 +0100
Committer: Sven Meier 
Committed: Mon Jan 30 16:50:26 2017 +0100

--
 .../main/java/org/apache/wicket/Component.java  |   4 +-
 ...markableListenerInterfaceRequestHandler.java |   2 +-
 .../ListenerInterfaceRequestHandler.java| 327 ---
 .../request/handler/ListenerRequestHandler.java | 327 +++
 .../logger/ListenerInterfaceLogData.java| 214 
 .../request/handler/logger/ListenerLogData.java | 214 
 .../mapper/AbstractBookmarkableMapper.java  |   4 +-
 .../core/request/mapper/MountedMapper.java  |   6 +-
 .../core/request/mapper/PageInstanceMapper.java |   8 +-
 .../wicket/util/tester/BaseWicketTester.java|   6 +-
 .../org/apache/wicket/BehaviorRequestTest.java  |   4 +-
 .../ComponentWithLazyModelCreationTest.java |   4 +-
 .../ListenerInterfaceRequestHandlerTest.java| 208 
 .../handler/ListenerRequestHandlerTest.java | 208 
 .../request/mapper/BookmarkableMapperTest.java  |  18 +-
 .../core/request/mapper/CryptoMapperTest.java   |  14 +-
 .../core/request/mapper/MountedMapperTest.java  |  26 +-
 .../core/request/mapper/PackageMapperTest.java  |  18 +-
 .../request/mapper/PageInstanceMapperTest.java  |  16 +-
 .../wicket/examples/ajax/prototype/Index.java   |   5 +-
 20 files changed, 816 insertions(+), 817 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/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 97262ed..a6aa54f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -32,7 +32,7 @@ import 
org.apache.wicket.authorization.UnauthorizedActionException;
 import 
org.apache.wicket.authorization.strategies.page.SimplePageAuthorizationStrategy;
 import org.apache.wicket.behavior.Behavior;
 import 
org.apache.wicket.core.request.handler.BookmarkableListenerInterfaceRequestHandler;
-import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.core.util.lang.WicketObjects;
 import org.apache.wicket.core.util.string.ComponentStrings;
@@ -3396,7 +3396,7 @@ public abstract class Component
}
else
{
-   return new ListenerInterfaceRequestHandler(provider, 
id);
+   return new ListenerRequestHandler(provider, id);
}
}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
index b3de191..772e215 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/BookmarkableListenerInterfaceRequestHandler.java
@@ -25,7 +25,7 @@ import org.apache.wicket.util.lang.Args;
 
 /**
  * Request handler for bookmarkable pages with an {@link IRequestListener}. 
This handler is only used to
- * generate URLs. Rendering is always handled by {@link 
ListenerInterfaceRequestHandler}.
+ * generate URLs. Rendering is always handled by {@link 
ListenerRequestHandler}.
  *
  * @author Matej Knopp
  */

http://git-wip-us.apache.org/repos/asf/wicket/blob/8342e4ef/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core

[4/4] wicket git commit: Create SignInPage_pl.html

2017-01-21 Thread svenmeier
Create SignInPage_pl.html

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

Branch: refs/heads/master
Commit: be61299c46780bb0a260f5c4900b2395a3ef9039
Parents: 5e23a2e
Author: jac-czerwinski 
Authored: Sat Jan 21 15:19:44 2017 +0100
Committer: Sven Meier 
Committed: Sat Jan 21 20:25:11 2017 +0100

--
 .../authroles/authentication/pages/SignInPage_pl.html   | 12 
 1 file changed, 12 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/be61299c/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_pl.html
--
diff --git 
a/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_pl.html
 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_pl.html
new file mode 100644
index 000..e20dbb3
--- /dev/null
+++ 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_pl.html
@@ -0,0 +1,12 @@
+
+http://wicket.apache.org";>
+
+Zaloguj siÄ™
+
+
+   Zaloguj siÄ™
+
+
+
+
+



[2/4] wicket git commit: Create SignInPanel_pl.properties

2017-01-21 Thread svenmeier
Create SignInPanel_pl.properties

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

Branch: refs/heads/master
Commit: 5e23a2e793d96f3cd838d0146ab6ae970f975928
Parents: b837403
Author: jac-czerwinski 
Authored: Sat Jan 21 15:19:00 2017 +0100
Committer: Sven Meier 
Committed: Sat Jan 21 20:25:11 2017 +0100

--
 .../authentication/panel/SignInPanel_pl.properties   | 15 +++
 1 file changed, 15 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/5e23a2e7/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.properties
--
diff --git 
a/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.properties
 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.properties
new file mode 100644
index 000..3282a15
--- /dev/null
+++ 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.properties
@@ -0,0 +1,15 @@
+#  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.
+signInFailed = Bl\u0105d podczas logowania



[3/4] wicket git commit: Create SignOutPage_pl.html

2017-01-21 Thread svenmeier
Create SignOutPage_pl.html

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

Branch: refs/heads/master
Commit: 6c4d17d756a458ebdd50085c20e6d38c4f15f078
Parents: be61299
Author: jac-czerwinski 
Authored: Sat Jan 21 15:20:25 2017 +0100
Committer: Sven Meier 
Committed: Sat Jan 21 20:25:11 2017 +0100

--
 .../authentication/pages/SignOutPage_pl.html| 25 
 1 file changed, 25 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/6c4d17d7/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_pl.html
--
diff --git 
a/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_pl.html
 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_pl.html
new file mode 100644
index 000..0876c87
--- /dev/null
+++ 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_pl.html
@@ -0,0 +1,25 @@
+
+
+
+
+Wylogowanie
+
+
+   Do widzenia
+
+



[1/4] wicket git commit: Create SignInPanel_pl.html

2017-01-21 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 7596d9571 -> 6c4d17d75


Create SignInPanel_pl.html

This closes #204


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

Branch: refs/heads/master
Commit: b8374033c8deb193563783c2f8cb9fa29139bedb
Parents: 7596d95
Author: jac-czerwinski 
Authored: Sat Jan 21 15:18:24 2017 +0100
Committer: Sven Meier 
Committed: Sat Jan 21 20:24:51 2017 +0100

--
 .../authentication/panel/SignInPanel_pl.html| 42 
 1 file changed, 42 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/b8374033/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.html
--
diff --git 
a/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.html
 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.html
new file mode 100644
index 000..570aec9
--- /dev/null
+++ 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/panel/SignInPanel_pl.html
@@ -0,0 +1,42 @@
+
+
+http://wicket.apache.org";>
+
+Wicket Examples - signin2
+
+
+
+  
+
+
+   
+   
+   Użytkownik:
+   
+   Hasło:
+   
+Pamiętaj mnie 
+   
+   
+   
+   
+   
+   
+  
+
+



wicket git commit: added german markups

2017-01-21 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 31727f854 -> 7596d9571


added german markups


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

Branch: refs/heads/master
Commit: 7596d9571e4c1c76768e4a7a7cc8293d63927115
Parents: 31727f8
Author: Sven Meier 
Authored: Sat Jan 21 20:21:49 2017 +0100
Committer: Sven Meier 
Committed: Sat Jan 21 20:21:49 2017 +0100

--
 .../authentication/pages/SignInPage_de.html | 12 ++
 .../authentication/pages/SignOutPage_de.html| 25 
 2 files changed, 37 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/7596d957/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_de.html
--
diff --git 
a/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_de.html
 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_de.html
new file mode 100644
index 000..e4e6fca
--- /dev/null
+++ 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignInPage_de.html
@@ -0,0 +1,12 @@
+
+http://wicket.apache.org";>
+
+Anmelden
+
+
+   Anmelden
+
+
+
+
+

http://git-wip-us.apache.org/repos/asf/wicket/blob/7596d957/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_de.html
--
diff --git 
a/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_de.html
 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_de.html
new file mode 100644
index 000..b9d8b2f
--- /dev/null
+++ 
b/wicket-auth-roles/src/main/java/org/apache/wicket/authroles/authentication/pages/SignOutPage_de.html
@@ -0,0 +1,25 @@
+
+
+
+
+Abmeldung
+
+
+   Auf Wiedersehen!   
+
+



wicket git commit: WICKET-6307 test type of onsubmit

2017-01-18 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 5ffde6c66 -> 27c3808d4


WICKET-6307 test type of onsubmit


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

Branch: refs/heads/wicket-6.x
Commit: 27c3808d4c8ecbe440755d1eb3f3598f4db186d4
Parents: 5ffde6c
Author: Sven Meier 
Authored: Wed Jan 18 14:30:47 2017 +0100
Committer: Sven Meier 
Committed: Wed Jan 18 14:34:54 2017 +0100

--
 .../main/java/org/apache/wicket/markup/html/form/SubmitLink.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/27c3808d/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
index f9ec2ad..afc01f8 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
@@ -214,7 +214,7 @@ public class SubmitLink extends AbstractSubmitLink
{
sb.append("var ff=f;");
}
-   sb.append("if (ff.onsubmit != undefined) { if 
(ff.onsubmit()==false) return false; }");
+   sb.append("if (typeof ff.onsubmit === 
'function') { if (ff.onsubmit()==false) return false; }");
}
sb.append("f.submit();e.value='';e.name='';return 
false;");
return sb.toString();



wicket git commit: WICKET-6307 test type of onsubmit

2017-01-18 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 1afbe2cd3 -> 76cfa2672


WICKET-6307 test type of onsubmit


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

Branch: refs/heads/wicket-7.x
Commit: 76cfa2672ff926378637f42fe2767e216e185682
Parents: 1afbe2c
Author: Sven Meier 
Authored: Wed Jan 18 14:30:47 2017 +0100
Committer: Sven Meier 
Committed: Wed Jan 18 14:34:20 2017 +0100

--
 .../main/java/org/apache/wicket/markup/html/form/SubmitLink.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/76cfa267/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
index 82428a4..d5de8be 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
@@ -221,7 +221,7 @@ public class SubmitLink extends AbstractSubmitLink
{
sb.append("var ff=f;");
}
-   sb.append("if (ff.onsubmit != undefined) { if 
(ff.onsubmit()==false) return false; }");
+   sb.append("if (typeof ff.onsubmit === 
'function') { if (ff.onsubmit()==false) return false; }");
}
sb.append("f.submit();e.value='';e.name='';return 
false;");
return sb.toString();



wicket git commit: WICKET-6307 test type of onsubmit

2017-01-18 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 18acedc4c -> 81c65b611


WICKET-6307 test type of onsubmit


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

Branch: refs/heads/master
Commit: 81c65b611e1c7f9533d26a03cf72594cc13afc1b
Parents: 18acedc
Author: Sven Meier 
Authored: Wed Jan 18 14:30:47 2017 +0100
Committer: Sven Meier 
Committed: Wed Jan 18 14:30:47 2017 +0100

--
 .../main/java/org/apache/wicket/markup/html/form/SubmitLink.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/81c65b61/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
index 82428a4..d5de8be 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
@@ -221,7 +221,7 @@ public class SubmitLink extends AbstractSubmitLink
{
sb.append("var ff=f;");
}
-   sb.append("if (ff.onsubmit != undefined) { if 
(ff.onsubmit()==false) return false; }");
+   sb.append("if (typeof ff.onsubmit === 
'function') { if (ff.onsubmit()==false) return false; }");
}
sb.append("f.submit();e.value='';e.name='';return 
false;");
return sb.toString();



wicket git commit: WICKET-6286 renamed url settings; explained cookie path

2017-01-05 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6286-ajax-download 0b7937185 -> e1659c4f7


WICKET-6286 renamed url settings; explained cookie path


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

Branch: refs/heads/WICKET-6286-ajax-download
Commit: e1659c4f75e4819c6599f4e25022f46398cc55d5
Parents: 0b79371
Author: Sven Meier 
Authored: Thu Jan 5 09:12:20 2017 +0100
Committer: Sven Meier 
Committed: Thu Jan 5 09:12:20 2017 +0100

--
 .../java/org/apache/wicket/extensions/ajax/AjaxDownload.java  | 7 ++-
 .../org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js  | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/e1659c4f/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
index a879d5b..11c97d4 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxDownload.java
@@ -193,7 +193,7 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
JSONObject settings = new JSONObject();
settings.put("attributes", new 
JsonFunction(renderAjaxAttributes(getComponent(;
settings.put("name", getName());
-   settings.put("url", url);
+   settings.put("downloadUrl", url);
 

target.appendJavaScript(String.format("Wicket.AjaxDownload.initiate(%s);", 
settings));
 
@@ -289,7 +289,12 @@ public class AjaxDownload extends 
AbstractDefaultAjaxBehavior
private static Cookie cookie(String name)
{
Cookie cookie = new Cookie(name, "complete");
+   
+   // has to be on root, otherwise JavaScript will not be able to 
access the
+   // cookie when it is set from a different path - which is the 
case when a
+   // ResourceReference is used
cookie.setPath("/");
+   
return cookie;
}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/e1659c4f/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
--
diff --git 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
index 52471df..a383fa8 100644
--- 
a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
+++ 
b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/wicket-ajaxdownload.js
@@ -28,7 +28,7 @@
Wicket.AjaxDownload = {
initiate : function(settings) {

-   var frame = jQuery("").hide().prop("src", 
settings.url).appendTo("body");
+   var frame = jQuery("").hide().prop("src", 
settings.downloadUrl).appendTo("body");

var checkComplete = function() {
var result;



wicket git commit: WICKET-6286 ajax download

2017-01-04 Thread svenmeier
es.ajax.builtin;
+
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.extensions.ajax.AjaxDownload;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.request.http.flow.AbortWithHttpErrorCodeException;
+import org.apache.wicket.request.resource.ContentDisposition;
+import org.apache.wicket.request.resource.IResource;
+import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.request.resource.ResourceStreamResource;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.time.Duration;
+
+/**
+ * Ajax download.
+ * 
+ * @author svenmeier
+ */
+public class AjaxDownloadPage extends BasePage
+{
+   private WebMarkupContainer downloadingContainer;
+
+   /**
+* Constructor
+*/
+   public AjaxDownloadPage()
+   {
+   downloadingContainer = new WebMarkupContainer("downloading");
+   downloadingContainer.setOutputMarkupPlaceholderTag(true);
+   downloadingContainer.setVisible(false);
+   add(downloadingContainer);
+   
+   initDownload();
+   
+   initDownloadFailure();
+   
+   initDownloadReference();
+   }
+
+   private void initDownload()
+   {
+   IResource resource = new ResourceStreamResource() {
+   protected IResourceStream getResourceStream() {
+   // simulate delay
+   try
+   {
+   Thread.sleep(5000);
+   }
+   catch (InterruptedException e)
+   {
+   }
+   
+   return new StringResourceStream("downloaded via 
ajax");
+   };
+   
+   
}.setFileName("file").setContentDisposition(ContentDisposition.ATTACHMENT).setCacheDuration(Duration.NONE);
+   
+   final AjaxDownload download = new AjaxDownload(resource) {
+   
+   @Override
+   protected void onBeforeDownload(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(true);
+   target.add(downloadingContainer);
+   }
+
+   @Override
+   protected void onDownloadSuccess(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
+   
+   @Override
+   protected void onDownloadFailed(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(false);
+   target.add(downloadingContainer);
+   }
+   };
+   add(download);
+   
+   add(new AjaxLink("download")
+   {
+   @Override
+   public void onClick(AjaxRequestTarget target)
+   {
+   download.initiate(target);
+   }
+   });
+   }
+   
+   private void initDownloadFailure()
+   {
+   IResource resource = new ResourceStreamResource() {
+   protected IResourceStream getResourceStream() {
+   // simulate delay
+   try
+   {
+   Thread.sleep(2000);
+   }
+   catch (InterruptedException e)
+   {
+   }
+   
+   throw new AbortWithHttpErrorCodeException(500);
+   };
+   
+   
}.setFileName("file").setContentDisposition(ContentDisposition.ATTACHMENT).setCacheDuration(Duration.NONE);
+   
+   final AjaxDownload download = new AjaxDownload(resource) {
+   
+   @Override
+   protected void onBeforeDownload(AjaxRequestTarget 
target)
+   {
+   downloadingContainer.setVisible(true);
+   target.add(downloadingContainer);
+ 

wicket git commit: WICKET-6295 fallback to home page

2016-12-14 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 0519f72b4 -> 5ce4f3e70


WICKET-6295 fallback to home page


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

Branch: refs/heads/wicket-6.x
Commit: 5ce4f3e7051fcbc5039f4cc6ad485e10adde0913
Parents: 0519f72
Author: Sven Meier 
Authored: Wed Dec 14 21:13:36 2016 +0100
Committer: Sven Meier 
Committed: Wed Dec 14 21:13:36 2016 +0100

--
 .../java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java | 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/5ce4f3e7/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
index 3f82bf0..5212a8b 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
@@ -111,6 +111,9 @@ public class BrowserInfoPage extends WebPage
protected void afterSubmit()
{
continueToOriginalDestination();
+
+   // switch to home page if no original 
destination was intercepted
+   setResponsePage(getApplication().getHomePage());
}
};
add(browserInfoForm);



wicket git commit: WICKET-6295 fallback to home page a previous request might have consumed the original destination - this could happen if the meta refresh fires but the user is still able to link on

2016-12-12 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x ae7a0f8b9 -> 0519f72b4


WICKET-6295 fallback to home page
a previous request might have consumed the original destination - this could 
happen if the meta refresh fires but the user is still able to link on the link


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

Branch: refs/heads/wicket-6.x
Commit: 0519f72b4d57e6443b8a8d5805955fd0a516135c
Parents: ae7a0f8
Author: Sven Meier 
Authored: Mon Dec 12 22:31:11 2016 +0100
Committer: Sven Meier 
Committed: Mon Dec 12 22:31:11 2016 +0100

--
 .../markup/html/pages/BrowserInfoPage.java  | 72 ++--
 1 file changed, 37 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/0519f72b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
index 373cbb5..3f82bf0 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
@@ -20,15 +20,13 @@ import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.OnLoadHeaderItem;
 import org.apache.wicket.markup.html.WebComponent;
-import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.WebSession;
 import org.apache.wicket.protocol.http.request.WebClientInfo;
-import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.settings.IRequestCycleSettings;
 
 /**
@@ -53,28 +51,11 @@ public class BrowserInfoPage extends WebPage
private BrowserInfoForm browserInfoForm;
 
/**
-* Bookmarkable constructor. This is not for normal framework client 
use. It will be called
-* whenever JavaScript is not supported, and the browser info page's 
meta refresh fires to this
-* page. Prior to this, the other constructor should already have been 
called.
+* Bookmarkable constructor.
 */
public BrowserInfoPage()
{
initComps();
-   RequestCycle requestCycle = getRequestCycle();
-   WebSession session = (WebSession)getSession();
-   WebClientInfo clientInfo = session.getClientInfo();
-   if (clientInfo == null)
-   {
-   clientInfo = new WebClientInfo(requestCycle);
-   getSession().setClientInfo(clientInfo);
-   }
-   else
-   {
-   ClientProperties properties = 
clientInfo.getProperties();
-   properties.setJavaEnabled(false);
-   }
-
-   continueToOriginalDestination();
}
 
@Override
@@ -97,20 +78,18 @@ public class BrowserInfoPage extends WebPage
 */
private void initComps()
{
-   WebComponent meta = new WebComponent("meta");
-
-   final IModel urlModel = new 
LoadableDetachableModel()
-   {
-   private static final long serialVersionUID = 1L;
-
+   final IModel info = new 
LoadableDetachableModel() {
@Override
-   protected String load()
+   protected WebClientInfo load()
{
-   CharSequence url = 
urlFor(BrowserInfoPage.class, null);
-   return url.toString();
+   return new WebClientInfo(getRequestCycle());
}
};
 
+   final ContinueLink link = new ContinueLink("link", info);
+   add(link);
+
+   WebComponent meta = new WebComponent("meta");
meta.add(AttributeModifier.replace("content", new 
AbstractReadOnlyModel()
{
private static final long serialVersionUID = 1L;
@@ -118,14 +97,11 @@ public class BrowserInfoPage extends WebPage
@Override
 

wicket git commit: Revert "WICKET-6295 fallback to home page"

2016-12-09 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 7b239ca45 -> ae7a0f8b9


Revert "WICKET-6295 fallback to home page"

This reverts commit 7b239ca45a876a9b90da6e90001bcbb36578574b.


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

Branch: refs/heads/wicket-6.x
Commit: ae7a0f8b925d97eec6c7a6a9d71d6cd92035b3b8
Parents: 7b239ca
Author: Sven Meier 
Authored: Fri Dec 9 15:56:50 2016 +0100
Committer: Sven Meier 
Committed: Fri Dec 9 15:56:50 2016 +0100

--
 .../markup/html/pages/BrowserInfoPage.java  | 24 
 1 file changed, 15 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/ae7a0f8b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
index 507cd9e..373cbb5 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
@@ -25,12 +25,14 @@ import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.WebSession;
 import org.apache.wicket.protocol.http.request.WebClientInfo;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.settings.IRequestCycleSettings;
 
 /**
+ * 
  * This page uses a form post right after the page has loaded in the browser, 
using JavaScript or
  * alternative means to detect and pass on settings to the embedded form. The 
form submit method
  * updates this session's {@link org.apache.wicket.core.request.ClientInfo} 
object and then redirects to
@@ -51,24 +53,28 @@ public class BrowserInfoPage extends WebPage
private BrowserInfoForm browserInfoForm;
 
/**
-* This constructor will be called twice, once to display the initial 
page and additionally when JavaScript
-* is not enabled and the meta refresh fires or the user clicks the 
link instead.
+* Bookmarkable constructor. This is not for normal framework client 
use. It will be called
+* whenever JavaScript is not supported, and the browser info page's 
meta refresh fires to this
+* page. Prior to this, the other constructor should already have been 
called.
 */
public BrowserInfoPage()
{
initComps();
RequestCycle requestCycle = getRequestCycle();
WebSession session = (WebSession)getSession();
-
WebClientInfo clientInfo = session.getClientInfo();
-   if (clientInfo != null)
+   if (clientInfo == null)
{
-   // clientInfo is already present so continue
-   continueToOriginalDestination();
-   
-   // switch to home page if no original destination was 
intercepted
-   setResponsePage(getApplication().getHomePage());
+   clientInfo = new WebClientInfo(requestCycle);
+   getSession().setClientInfo(clientInfo);
}
+   else
+   {
+   ClientProperties properties = 
clientInfo.getProperties();
+   properties.setJavaEnabled(false);
+   }
+
+   continueToOriginalDestination();
}
 
@Override



wicket git commit: WICKET-6295 fallback to home page a previous request might have consumed the original destination - this could happen if the meta refresh fires but the user is still able to link on

2016-12-08 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x e493b0435 -> 7b239ca45


WICKET-6295 fallback to home page
a previous request might have consumed the original destination - this could 
happen if the meta refresh fires but the user is still able to link on the link


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

Branch: refs/heads/wicket-6.x
Commit: 7b239ca45a876a9b90da6e90001bcbb36578574b
Parents: e493b04
Author: Sven Meier 
Authored: Thu Dec 8 16:29:29 2016 +0100
Committer: Sven Meier 
Committed: Thu Dec 8 16:29:29 2016 +0100

--
 .../markup/html/pages/BrowserInfoPage.java  | 24 
 1 file changed, 9 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/7b239ca4/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
index 373cbb5..507cd9e 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
@@ -25,14 +25,12 @@ import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.WebSession;
 import org.apache.wicket.protocol.http.request.WebClientInfo;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.settings.IRequestCycleSettings;
 
 /**
- * 
  * This page uses a form post right after the page has loaded in the browser, 
using JavaScript or
  * alternative means to detect and pass on settings to the embedded form. The 
form submit method
  * updates this session's {@link org.apache.wicket.core.request.ClientInfo} 
object and then redirects to
@@ -53,28 +51,24 @@ public class BrowserInfoPage extends WebPage
private BrowserInfoForm browserInfoForm;
 
/**
-* Bookmarkable constructor. This is not for normal framework client 
use. It will be called
-* whenever JavaScript is not supported, and the browser info page's 
meta refresh fires to this
-* page. Prior to this, the other constructor should already have been 
called.
+* This constructor will be called twice, once to display the initial 
page and additionally when JavaScript
+* is not enabled and the meta refresh fires or the user clicks the 
link instead.
 */
public BrowserInfoPage()
{
initComps();
RequestCycle requestCycle = getRequestCycle();
WebSession session = (WebSession)getSession();
+
WebClientInfo clientInfo = session.getClientInfo();
-   if (clientInfo == null)
+   if (clientInfo != null)
{
-   clientInfo = new WebClientInfo(requestCycle);
-   getSession().setClientInfo(clientInfo);
+   // clientInfo is already present so continue
+   continueToOriginalDestination();
+   
+   // switch to home page if no original destination was 
intercepted
+   setResponsePage(getApplication().getHomePage());
}
-   else
-   {
-   ClientProperties properties = 
clientInfo.getProperties();
-   properties.setJavaEnabled(false);
-   }
-
-   continueToOriginalDestination();
}
 
@Override



wicket git commit: WICKET-6056 make it easier to gather more properties

2016-12-06 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 3db582cfe -> 5bfa280b2


WICKET-6056 make it easier to gather more properties


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

Branch: refs/heads/wicket-7.x
Commit: 5bfa280b2b7fb9dc7861d582a9c6e37d106be879
Parents: 3db582c
Author: Sven Meier 
Authored: Thu Nov 24 16:32:22 2016 +0100
Committer: Sven Meier 
Committed: Tue Dec 6 15:09:25 2016 +0100

--
 .../wicket/ajax/AjaxClientInfoBehavior.java | 47 +++-
 .../markup/html/pages/BrowserInfoForm.html  | 16 --
 .../markup/html/pages/BrowserInfoForm.java  | 47 ++--
 .../markup/html/pages/BrowserInfoPage.java  | 44 +++
 .../markup/html/pages/wicket-browser-info.js| 11 +++-
 .../wicket/protocol/http/ClientProperties.java  | 57 +++-
 .../protocol/http/request/WebClientInfo.java| 39 --
 .../ajaxhellobrowser/AjaxHelloBrowser.java  | 27 --
 .../ExtendedClientProperties.java   | 49 +
 9 files changed, 206 insertions(+), 131 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/5bfa280b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
index a2fc41a..16ac6e6 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
@@ -22,7 +22,6 @@ 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.pages.BrowserInfoForm;
-import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.request.WebClientInfo;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -62,50 +61,20 @@ public class AjaxClientInfoBehavior extends 
AbstractAjaxTimerBehavior
stop(target);
 
RequestCycle requestCycle = RequestCycle.get();
-   IRequestParameters requestParameters = 
requestCycle.getRequest().getRequestParameters();
-   String navigatorAppName = 
requestParameters.getParameterValue("navigatorAppName").toString("N/A");
-   String navigatorAppVersion = 
requestParameters.getParameterValue("navigatorAppVersion").toString("N/A");
-   String navigatorAppCodeName = 
requestParameters.getParameterValue("navigatorAppCodeName").toString("N/A");
-   boolean navigatorCookieEnabled = 
requestParameters.getParameterValue("navigatorCookieEnabled").toBoolean(false);
-   Boolean navigatorJavaEnabled = 
requestParameters.getParameterValue("navigatorJavaEnabled").toBoolean(false);
-   String navigatorLanguage = 
requestParameters.getParameterValue("navigatorLanguage").toString("N/A");
-   String navigatorPlatform = 
requestParameters.getParameterValue("navigatorPlatform").toString("N/A");
-   String navigatorUserAgent = 
requestParameters.getParameterValue("navigatorUserAgent").toString("N/A");
-   int screenWidth = 
requestParameters.getParameterValue("screenWidth").toInt(-1);
-   int screenHeight = 
requestParameters.getParameterValue("screenHeight").toInt(-1);
-   int screenColorDepth = 
requestParameters.getParameterValue("screenColorDepth").toInt(-1);
-   String utcOffset = 
requestParameters.getParameterValue("utcOffset").toString("N/A");
-   String utcDSTOffset = 
requestParameters.getParameterValue("utcDSTOffset").toString("N/A");
-   int browserWidth = 
requestParameters.getParameterValue("browserWidth").toInt(-1);
-   int browserHeight = 
requestParameters.getParameterValue("browserHeight").toInt(-1);
-   String hostname = 
requestParameters.getParameterValue("hostname").toString("N/A");
 
-   WebClientInfo clientInfo = new WebClientInfo(requestCycle);
+   IRequestParameters requestParameters = 
requestCycle.getRequest().getRequestParameters();
+   WebClientInfo clientInfo = newWebClientInfo(requestCycle);
+   clientInfo.getProperties().read(requestParameters);
Session.get().setClientInfo(clientInfo);
 
-   ClientPropertie

wicket git commit: WICKET-6292 revert WICKET-6041 - should not access parameters before handling multipart

2016-12-06 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master b8e1d5ce8 -> 3824853be


WICKET-6292 revert WICKET-6041 - should not access parameters before handling 
multipart

This reverts commit ba393ffa2bf6480d4981e4b48c7aa6a19bd5b9c6.
This reverts commit ece7575f5ea74ec27f88618fd287e4348aa9cc35.


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

Branch: refs/heads/master
Commit: 3824853be87af927dcde0b9cc6761f59738051a9
Parents: b8e1d5c
Author: Sven Meier 
Authored: Tue Dec 6 12:46:17 2016 +0100
Committer: Sven Meier 
Committed: Tue Dec 6 14:29:21 2016 +0100

--
 .../apache/wicket/markup/html/form/Form.java| 91 +---
 .../markup/html/form/NestedFormsTest.java   | 79 -
 2 files changed, 41 insertions(+), 129 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/3824853b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
index a197dd8..e8b61e7 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
@@ -24,6 +24,8 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.commons.fileupload.FileUploadBase;
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.wicket.Component;
@@ -70,8 +72,6 @@ import org.apache.wicket.util.visit.Visits;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.servlet.http.HttpServletRequest;
-
 
 /**
  * Container for {@link FormComponent}s (such as {@link CheckBox}es, {@link 
ListChoice}s or
@@ -739,15 +739,10 @@ public class Form extends WebMarkupContainer
 * 
 * @see Form#validate()
 */
-   public final void onFormSubmitted(final IFormSubmitter submitter)
+   public final void onFormSubmitted(IFormSubmitter submitter)
{
-   final IFormSubmitter actualSubmitter =  submitter != null ? 
submitter :
-   findActualSubmitter();
-   //find the actual form to process
-   final Form formToProcess = 
findFormToProcess(actualSubmitter);
-   
-   formToProcess.markFormsSubmitted();
-   
+   markFormsSubmitted();
+
if (handleMultiPart())
{
// Tells FormComponents that a new user input has come
@@ -762,19 +757,49 @@ public class Form extends WebMarkupContainer
}
else
{
+   // First, see if the processing was triggered 
by a Wicket IFormSubmittingComponent
+   if (submitter == null)
+   {
+   submitter = findSubmittingButton();
+
+   if (submitter instanceof 
IFormSubmittingComponent)
+   {
+   IFormSubmittingComponent 
submittingComponent = (IFormSubmittingComponent)submitter;
+   Component component = 
(Component)submitter;
+
+   if 
(!component.isVisibleInHierarchy())
+   {
+   throw new 
WicketRuntimeException("Submit Button " +
+   
submittingComponent.getInputName() + " (path=" +
+   
component.getPageRelativePath() + ") is not visible");
+   }
+
+   if 
(!component.isEnabledInHierarchy())
+   {
+   throw new 
WicketRuntimeException("Submit Button " +
+   
submittingComponent.getInputName() + " (path=" +
+   
component.getPageRelativePath() + ") is not enabled");
+   }
+   }
+   }
+
  

wicket git commit: WICKET-6056 make it easier to gather more properties

2016-12-03 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 0914576ad -> 81684f93d


WICKET-6056 make it easier to gather more properties


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

Branch: refs/heads/master
Commit: 81684f93dde752bed5208353a035a524430d08be
Parents: 0914576
Author: Sven Meier 
Authored: Thu Nov 24 16:32:22 2016 +0100
Committer: Sven Meier 
Committed: Sat Dec 3 20:05:07 2016 +0100

--
 .../wicket/ajax/AjaxClientInfoBehavior.java | 47 +++-
 .../markup/html/pages/BrowserInfoForm.html  | 16 --
 .../markup/html/pages/BrowserInfoForm.java  | 47 ++--
 .../markup/html/pages/BrowserInfoPage.java  | 43 +++
 .../markup/html/pages/wicket-browser-info.js| 11 +++-
 .../wicket/protocol/http/ClientProperties.java  | 57 +++-
 .../protocol/http/request/WebClientInfo.java| 39 --
 .../ajaxhellobrowser/AjaxHelloBrowser.java  | 36 +++--
 .../ExtendedClientProperties.java   | 49 +
 9 files changed, 214 insertions(+), 131 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/81684f93/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
index 164c551..f51f8a4 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
@@ -22,7 +22,6 @@ 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.pages.BrowserInfoForm;
-import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.request.WebClientInfo;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -66,50 +65,20 @@ public class AjaxClientInfoBehavior extends 
AbstractAjaxTimerBehavior
stop(target);
 
RequestCycle requestCycle = RequestCycle.get();
+
IRequestParameters requestParameters = 
requestCycle.getRequest().getRequestParameters();
-   String navigatorAppName = 
requestParameters.getParameterValue("navigatorAppName").toString("N/A");
-   String navigatorAppVersion = 
requestParameters.getParameterValue("navigatorAppVersion").toString("N/A");
-   String navigatorAppCodeName = 
requestParameters.getParameterValue("navigatorAppCodeName").toString("N/A");
-   boolean navigatorCookieEnabled = 
requestParameters.getParameterValue("navigatorCookieEnabled").toBoolean(false);
-   Boolean navigatorJavaEnabled = 
requestParameters.getParameterValue("navigatorJavaEnabled").toBoolean(false);
-   String navigatorLanguage = 
requestParameters.getParameterValue("navigatorLanguage").toString("N/A");
-   String navigatorPlatform = 
requestParameters.getParameterValue("navigatorPlatform").toString("N/A");
-   String navigatorUserAgent = 
requestParameters.getParameterValue("navigatorUserAgent").toString("N/A");
-   int screenWidth = 
requestParameters.getParameterValue("screenWidth").toInt(-1);
-   int screenHeight = 
requestParameters.getParameterValue("screenHeight").toInt(-1);
-   int screenColorDepth = 
requestParameters.getParameterValue("screenColorDepth").toInt(-1);
-   String utcOffset = 
requestParameters.getParameterValue("utcOffset").toString("N/A");
-   String utcDSTOffset = 
requestParameters.getParameterValue("utcDSTOffset").toString("N/A");
-   int browserWidth = 
requestParameters.getParameterValue("browserWidth").toInt(-1);
-   int browserHeight = 
requestParameters.getParameterValue("browserHeight").toInt(-1);
-   String hostname = 
requestParameters.getParameterValue("hostname").toString("N/A");
-
-   WebClientInfo clientInfo = new WebClientInfo(requestCycle);
+   WebClientInfo clientInfo = newWebClientInfo(requestCycle);
+   clientInfo.getProperties().read(requestParameters);
Session.get().setClientInfo(clientInfo);
 
-   ClientProperties properties = clientInfo.getProperties();
-   properties.setJavaScriptEnabled(true);
-
-

wicket git commit: WICKET-6056 constructor argument instead of factory method, requires to subclass ClientProperties only

2016-11-29 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6056-client-properties 44e1e4303 -> a81272f5e


WICKET-6056 constructor argument instead of factory method, requires to 
subclass ClientProperties only


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

Branch: refs/heads/WICKET-6056-client-properties
Commit: a81272f5ea7771e9ef84939e2af91ba055180c15
Parents: 44e1e43
Author: Sven Meier 
Authored: Tue Nov 29 17:03:30 2016 +0100
Committer: Sven Meier 
Committed: Tue Nov 29 17:03:30 2016 +0100

--
 .../protocol/http/request/WebClientInfo.java| 35 ---
 .../ajaxhellobrowser/AjaxHelloBrowser.java  |  2 +-
 .../ajaxhellobrowser/ExtendedClientInfo.java| 61 
 .../ExtendedClientProperties.java   | 49 
 4 files changed, 78 insertions(+), 69 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/a81272f5/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
index 5561226..2b0747c 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java
@@ -62,8 +62,19 @@ public class WebClientInfo extends ClientInfo
 */
public WebClientInfo(RequestCycle requestCycle)
{
+   this(requestCycle, new ClientProperties());
+   }
+
+   /**
+* Construct.
+* 
+* @param requestCycle
+*the request cycle
+*/
+   public WebClientInfo(RequestCycle requestCycle, ClientProperties 
properties)
+   {
this(requestCycle, 
((ServletWebRequest)requestCycle.getRequest()).getContainerRequest()
-   .getHeader("User-Agent"));
+   .getHeader("User-Agent"), properties);
}
 
/**
@@ -76,11 +87,26 @@ public class WebClientInfo extends ClientInfo
 */
public WebClientInfo(final RequestCycle requestCycle, final String 
userAgent)
{
+   this(requestCycle, userAgent, new ClientProperties());
+   }
+
+   /**
+* Construct.
+* 
+* @param requestCycle
+*the request cycle
+* @param userAgent
+*The User-Agent string
+* @param properties
+*properties of client
+*/
+   public WebClientInfo(final RequestCycle requestCycle, final String 
userAgent, final ClientProperties properties)
+   {
super();
 
this.userAgent = userAgent;
 
-   properties = newClientProperties();
+   this.properties = properties;
properties.setRemoteAddress(getRemoteAddr(requestCycle));
 
init();
@@ -96,11 +122,6 @@ public class WebClientInfo extends ClientInfo
return properties;
}
 
-   protected ClientProperties newClientProperties()
-   {
-   return new ClientProperties();
-   }
-
/**
 * returns the user agent string.
 * 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a81272f5/wicket-examples/src/main/java/org/apache/wicket/examples/ajaxhellobrowser/AjaxHelloBrowser.java
--
diff --git 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajaxhellobrowser/AjaxHelloBrowser.java
 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajaxhellobrowser/AjaxHelloBrowser.java
index 258103c..8a44d21 100644
--- 
a/wicket-examples/src/main/java/org/apache/wicket/examples/ajaxhellobrowser/AjaxHelloBrowser.java
+++ 
b/wicket-examples/src/main/java/org/apache/wicket/examples/ajaxhellobrowser/AjaxHelloBrowser.java
@@ -97,7 +97,7 @@ public class AjaxHelloBrowser extends WicketExamplePage
@Override
protected WebClientInfo newWebClientInfo(RequestCycle 
requestCycle)
{
-   return new ExtendedClientInfo(requestCycle);
+   return new WebClientInfo(requestCycle, new 
ExtendedClientProperties());
}
 
@Override

http://git-wip-us.apache.org/repos/asf/wicket/blob/a81272f5/wicket-examples/src/main/java/org/apache/wicket/

wicket git commit: WICKET-6056 delay setting info into session until it is fully read

2016-11-29 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6056-client-properties a7a46269d -> 44e1e4303


WICKET-6056 delay setting info into session until it is fully read


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

Branch: refs/heads/WICKET-6056-client-properties
Commit: 44e1e4303ee184d93f788557a442444c39bc6a46
Parents: a7a4626
Author: Sven Meier 
Authored: Tue Nov 29 16:49:16 2016 +0100
Committer: Sven Meier 
Committed: Tue Nov 29 16:49:16 2016 +0100

--
 .../wicket/ajax/AjaxClientInfoBehavior.java |  8 +---
 .../markup/html/pages/BrowserInfoForm.java  |  1 -
 .../markup/html/pages/BrowserInfoPage.java  | 30 +++-
 .../wicket/protocol/http/ClientProperties.java  | 49 +++-
 .../ajaxhellobrowser/AjaxHelloBrowser.java  |  2 +-
 .../ajaxhellobrowser/ExtendedClientInfo.java| 13 --
 6 files changed, 47 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/44e1e430/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
index e16317a..f51f8a4 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
@@ -22,7 +22,6 @@ 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.pages.BrowserInfoForm;
-import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.request.WebClientInfo;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -66,15 +65,12 @@ public class AjaxClientInfoBehavior extends 
AbstractAjaxTimerBehavior
stop(target);
 
RequestCycle requestCycle = RequestCycle.get();
-   IRequestParameters requestParameters = 
requestCycle.getRequest().getRequestParameters();
 
+   IRequestParameters requestParameters = 
requestCycle.getRequest().getRequestParameters();
WebClientInfo clientInfo = newWebClientInfo(requestCycle);
+   clientInfo.getProperties().read(requestParameters);
Session.get().setClientInfo(clientInfo);
 
-   ClientProperties properties = clientInfo.getProperties();
-
-   properties.read(requestParameters);
-
onClientInfo(target, clientInfo);
}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/44e1e430/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
index d78cb95..51ef702 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
@@ -20,7 +20,6 @@ import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.panel.GenericPanel;
-import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.request.resource.JavaScriptResourceReference;

http://git-wip-us.apache.org/repos/asf/wicket/blob/44e1e430/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
index dc93bce..8d2cdc8 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
@@ -49,7 +49,7 @@ public class BrowserInfoPage extends WebPage
private static final long serialVersionUID = 1L;
 
private BrowserInfoForm browserInfoForm;
-
+   
/**
 * Bo

wicket git commit: WICKET-6056 show extended client properties usage

2016-11-25 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6056-client-properties 954f27754 -> a7a46269d


WICKET-6056 show extended client properties usage


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

Branch: refs/heads/WICKET-6056-client-properties
Commit: a7a46269d58a932e30b04c331d0e7230e58ac198
Parents: 954f277
Author: Sven Meier 
Authored: Fri Nov 25 21:14:20 2016 +0100
Committer: Sven Meier 
Committed: Fri Nov 25 21:14:20 2016 +0100

--
 .../markup/html/pages/wicket-browser-info.js|  5 ++
 .../wicket/protocol/http/ClientProperties.java  | 29 +-
 .../ajaxhellobrowser/AjaxHelloBrowser.java  | 36 +++--
 .../ajaxhellobrowser/ExtendedClientInfo.java| 56 
 4 files changed, 109 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/a7a46269/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
index 5832fa0..cd0da94 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/wicket-browser-info.js
@@ -63,6 +63,11 @@
info.browserWidth =  window.innerWidth || 
document.body.offsetWidth;
info.browserHeight =  window.innerHeight || 
document.body.offsetHeight;
info.hostname =  window.location.hostname;
+
+   if (Wicket.BrowserInfo.collectExtraInfo) {
+   
Wicket.BrowserInfo.collectExtraInfo(info);
+   }
+
return info;
},
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a7a46269/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
index 3d5b54a..109d175 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
@@ -17,6 +17,7 @@
 package org.apache.wicket.protocol.http;
 
 import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 import java.util.Collection;
 import java.util.TimeZone;
 
@@ -78,16 +79,15 @@ public class ClientProperties implements IClusterable
private int screenColorDepth = -1;
private int screenHeight = -1;
private int screenWidth = -1;
-   /** Cached timezone for repeating calls to {@link #getTimeZone()} */
-   private TimeZone timeZone;
private String utcDSTOffset;
-
private String utcOffset;
-
private String hostname;
 
private boolean javaScriptEnabled;
 
+   /** Cached timezone for repeating calls to {@link #getTimeZone()} */
+   private transient TimeZone timeZone;
+
/**
 * @return The browser height at the time it was measured
 */
@@ -731,15 +731,19 @@ public class ClientProperties implements IClusterable
{
StringBuilder b = new StringBuilder();
 
-   Field[] fields = ClientProperties.class.getDeclaredFields();
+   Class clazz = getClass();
+   while (clazz != Object.class) {
+   Field[] fields = clazz.getDeclaredFields();
 
-   for (Field field : fields)
-   {
-   // Ignore these fields
-   if (field.getName().equals("serialVersionUID") == false 
&&
-   field.getName().startsWith("class$") == false &&
-   field.getName().startsWith("timeZone") == false)
+   for (Field field : fields)
{
+   // Ignore these fields
+   if (Modifier.isStatic(field.getModifiers()) ||
+   
Modifier.isTransient(field.getModifiers())  ||
+   field.isSynthetic())
+   {
+   continue;
+   }
 
   

wicket git commit: WICKET-6056 added factory methods for clientInfo

2016-11-25 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6056-client-properties d6235ba55 -> 954f27754


WICKET-6056 added factory methods for clientInfo


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

Branch: refs/heads/WICKET-6056-client-properties
Commit: 954f27754ea3841173871cc56e58966d63c95226
Parents: d6235ba
Author: Sven Meier 
Authored: Thu Nov 24 18:05:40 2016 +0100
Committer: Sven Meier 
Committed: Thu Nov 24 18:05:40 2016 +0100

--
 .../wicket/ajax/AjaxClientInfoBehavior.java |  7 +-
 .../markup/html/pages/BrowserInfoForm.java  |  3 +--
 .../markup/html/pages/BrowserInfoPage.java  | 23 +---
 .../protocol/http/request/WebClientInfo.java| 16 ++
 4 files changed, 39 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/954f2775/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
index ca39644..e16317a 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
@@ -68,7 +68,7 @@ public class AjaxClientInfoBehavior extends 
AbstractAjaxTimerBehavior
RequestCycle requestCycle = RequestCycle.get();
IRequestParameters requestParameters = 
requestCycle.getRequest().getRequestParameters();
 
-   WebClientInfo clientInfo = new WebClientInfo(requestCycle);
+   WebClientInfo clientInfo = newWebClientInfo(requestCycle);
Session.get().setClientInfo(clientInfo);
 
ClientProperties properties = clientInfo.getProperties();
@@ -78,6 +78,11 @@ public class AjaxClientInfoBehavior extends 
AbstractAjaxTimerBehavior
onClientInfo(target, clientInfo);
}
 
+   protected WebClientInfo newWebClientInfo(RequestCycle requestCycle)
+   {
+   return new WebClientInfo(requestCycle);
+   }
+
/**
 * A callback method invoked when the client info is collected.
 * 

http://git-wip-us.apache.org/repos/asf/wicket/blob/954f2775/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
index 5a659e9..d78cb95 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
@@ -64,8 +64,7 @@ public class BrowserInfoForm extends 
GenericPanel
 */
protected Form createForm(String componentId, 
IModel properties)
{
-   Form form = new 
Form(componentId,
-   new 
CompoundPropertyModel(properties))
+   Form form = new 
Form(componentId, properties)
{
private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/954f2775/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
index e7143d7..dc93bce 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
@@ -22,8 +22,11 @@ import org.apache.wicket.markup.head.OnLoadHeaderItem;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.WebSession;
+import org.apache.wicket.protocol.http.request.WebClientInfo;
+import org.apache.wicket.request.cycle.RequestCycle;
 
 /**
  * This page uses a form post right after the page has loaded in the browser, 
using JavaScript or
@@ -70,17 +73,26 @@ public class BrowserInfoPage extends WebPage
return fals

wicket git commit: WICKET-6056 make it easier to gather more properties

2016-11-24 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/WICKET-6056-client-properties [created] d6235ba55


WICKET-6056 make it easier to gather more properties


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

Branch: refs/heads/WICKET-6056-client-properties
Commit: d6235ba555657b44af58fd3bb2a5da67ca5b931f
Parents: ce66c24
Author: Sven Meier 
Authored: Thu Nov 24 16:32:22 2016 +0100
Committer: Sven Meier 
Committed: Thu Nov 24 16:36:02 2016 +0100

--
 .../wicket/ajax/AjaxClientInfoBehavior.java | 36 +---
 .../markup/html/pages/BrowserInfoForm.html  | 16 ---
 .../markup/html/pages/BrowserInfoForm.java  | 43 ++-
 .../markup/html/pages/wicket-browser-info.js|  6 ++-
 .../wicket/protocol/http/ClientProperties.java  | 45 +++-
 5 files changed, 54 insertions(+), 92 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/d6235ba5/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
index 164c551..ca39644 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
@@ -67,45 +67,13 @@ public class AjaxClientInfoBehavior extends 
AbstractAjaxTimerBehavior
 
RequestCycle requestCycle = RequestCycle.get();
IRequestParameters requestParameters = 
requestCycle.getRequest().getRequestParameters();
-   String navigatorAppName = 
requestParameters.getParameterValue("navigatorAppName").toString("N/A");
-   String navigatorAppVersion = 
requestParameters.getParameterValue("navigatorAppVersion").toString("N/A");
-   String navigatorAppCodeName = 
requestParameters.getParameterValue("navigatorAppCodeName").toString("N/A");
-   boolean navigatorCookieEnabled = 
requestParameters.getParameterValue("navigatorCookieEnabled").toBoolean(false);
-   Boolean navigatorJavaEnabled = 
requestParameters.getParameterValue("navigatorJavaEnabled").toBoolean(false);
-   String navigatorLanguage = 
requestParameters.getParameterValue("navigatorLanguage").toString("N/A");
-   String navigatorPlatform = 
requestParameters.getParameterValue("navigatorPlatform").toString("N/A");
-   String navigatorUserAgent = 
requestParameters.getParameterValue("navigatorUserAgent").toString("N/A");
-   int screenWidth = 
requestParameters.getParameterValue("screenWidth").toInt(-1);
-   int screenHeight = 
requestParameters.getParameterValue("screenHeight").toInt(-1);
-   int screenColorDepth = 
requestParameters.getParameterValue("screenColorDepth").toInt(-1);
-   String utcOffset = 
requestParameters.getParameterValue("utcOffset").toString("N/A");
-   String utcDSTOffset = 
requestParameters.getParameterValue("utcDSTOffset").toString("N/A");
-   int browserWidth = 
requestParameters.getParameterValue("browserWidth").toInt(-1);
-   int browserHeight = 
requestParameters.getParameterValue("browserHeight").toInt(-1);
-   String hostname = 
requestParameters.getParameterValue("hostname").toString("N/A");
 
WebClientInfo clientInfo = new WebClientInfo(requestCycle);
Session.get().setClientInfo(clientInfo);
 
ClientProperties properties = clientInfo.getProperties();
-   properties.setJavaScriptEnabled(true);
-
-   properties.setNavigatorAppCodeName(navigatorAppCodeName);
-   properties.setNavigatorAppName(navigatorAppName);
-   properties.setNavigatorAppVersion(navigatorAppVersion);
-   properties.setNavigatorCookieEnabled(navigatorCookieEnabled);
-   properties.setNavigatorJavaEnabled(navigatorJavaEnabled);
-   properties.setNavigatorLanguage(navigatorLanguage);
-   properties.setNavigatorPlatform(navigatorPlatform);
-   properties.setNavigatorUserAgent(navigatorUserAgent);
-   properties.setScreenWidth(screenWidth);
-   properties.setScreenHeight(screenHeight);
-   properties.setScreenColorDepth(screenColorDepth);
-   properties.setUtcOffset(utcOffset);
-   properties.setUtcDSTOffset(utcDSTOffset);
-   properties.setBrowserWidth(bro

wicket git commit: WICKET-6278 no functional change

2016-11-17 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 4b600a200 -> 51b934007


WICKET-6278 no functional change


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

Branch: refs/heads/master
Commit: 51b934007a19a51bcb8e56d3c28101dd5f92e6db
Parents: 4b600a2
Author: Sven Meier 
Authored: Thu Nov 17 16:54:09 2016 +0100
Committer: Sven Meier 
Committed: Thu Nov 17 16:54:09 2016 +0100

--
 .../java/org/apache/wicket/util/tester/TagTester.java   |  2 ++
 .../org/apache/wicket/util/tester/TagTesterTest.java| 12 +++-
 2 files changed, 13 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/51b93400/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
index 610b181..ca851ae 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
@@ -399,6 +399,8 @@ public class TagTester
 *the markup to look for the tag to create the 
TagTester from the value
 *which the attribute must have
 * @return the TagTester which matches the tag by name in 
the markup
+* 
+* @deprecated use {@link #createTagByName(String, String)} instead
 */
@Deprecated
public static TagTester createTagByAttribute(String markup, String 
tagName)

http://git-wip-us.apache.org/repos/asf/wicket/blob/51b93400/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java
--
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java 
b/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java
index f992310..d4fe36e 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java
@@ -39,7 +39,17 @@ public class TagTesterTest extends Assert
"";
 
// WICKET-5874
-   private static final String NON_CLOSED_INPUT = "";
+   private static final String NON_CLOSED_INPUT = "";
+
+   /**
+* WICKET-6278
+*/
+   @Test
+   public void tagNoRequiredClose() {
+   TagTester tester = 
TagTester.createTagByAttribute(NON_CLOSED_INPUT, "wicket:id", "p");
+
+   assertEquals("", 
tester.getValue());
+   }
 
/**
 * https://issues.apache.org/jira/browse/WICKET-5874



wicket git commit: WICKET-6278 improved support for void elements

2016-11-17 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 13e5d202c -> c6f3efb72


WICKET-6278 improved support for void elements


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

Branch: refs/heads/wicket-6.x
Commit: c6f3efb72f830088f4fa22f7d9a27a5a2b1f3136
Parents: 13e5d20
Author: Sven Meier 
Authored: Thu Nov 17 16:53:27 2016 +0100
Committer: Sven Meier 
Committed: Thu Nov 17 17:01:56 2016 +0100

--
 .../apache/wicket/util/tester/TagTester.java| 319 +++
 .../wicket/util/tester/TagTesterTest.java   |  12 +-
 2 files changed, 132 insertions(+), 199 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/c6f3efb7/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
index 3220cae..310530b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
@@ -17,8 +17,9 @@
 package org.apache.wicket.util.tester;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
-import java.util.Map;
+import java.util.Stack;
 import java.util.regex.Pattern;
 
 import org.apache.wicket.WicketRuntimeException;
@@ -359,6 +360,11 @@ public class TagTester
 */
public String getValue()
{
+   if (openTag == closeTag)
+   {
+   return null;
+   }
+   
int openPos = openTag.getPos() + openTag.getLength();
int closePos = closeTag.getPos();
 
@@ -370,85 +376,40 @@ public class TagTester
 * that it will return the first tag which matches the criteria.
 *
 * @param markup
-*the markup to look for the tag to create the 
TagTester from
-*the value which the attribute must have
+*the markup to look for the tag to create the 
TagTester from the value
+*which the attribute must have
 * @return the TagTester which matches the tag by name in 
the markup
 */
-   public static TagTester createTagByAttribute(String markup, String 
tagName)
+   public static TagTester createTagByName(String markup, final String 
tagName)
{
-   TagTester tester = null;
-
-   if (Strings.isEmpty(markup) == false && 
Strings.isEmpty(tagName) == false)
-   {
-   try
-   {
-   // remove the CDATA and
-   // the id attribute of the component because it 
is often the same as the element's id
-   markup = 
AJAX_COMPONENT_CDATA_OPEN.matcher(markup).replaceAll("");
-   markup = 
AJAX_COMPONENT_CDATA_CLOSE.matcher(markup).replaceAll("");
-
-   XmlPullParser parser = new XmlPullParser();
-   parser.parse(markup);
-
-   XmlTag elm;
-   XmlTag openTag = null;
-   XmlTag closeTag = null;
-   int level = 0;
-   while ((elm = parser.nextTag()) != null && 
closeTag == null)
-   {
-   XmlTag xmlTag = elm;
-
-   String xmlTagName = xmlTag.getName();
-   if (openTag == null && 
xmlTagName.equalsIgnoreCase(tagName))
-   {
-   if (xmlTag.isOpen())
-   {
-   openTag = xmlTag;
-   }
-   else if (xmlTag.isOpenClose())
-   {
-   openTag = xmlTag;
-   closeTag = xmlTag;
-   }
-   }
-   else if (openTag != null)
-   {
-   String openTagName = 
openTag.getName();
-   

wicket git commit: WICKET-6278 improved support for void elements

2016-11-17 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x bcd212963 -> e49460fc3


WICKET-6278 improved support for void elements


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

Branch: refs/heads/wicket-7.x
Commit: e49460fc383fafdf719451b1a2f24c2764e1c482
Parents: bcd2129
Author: Sven Meier 
Authored: Thu Nov 17 16:53:27 2016 +0100
Committer: Sven Meier 
Committed: Thu Nov 17 16:53:27 2016 +0100

--
 .../apache/wicket/util/tester/TagTester.java| 319 +++
 .../wicket/util/tester/TagTesterTest.java   |  12 +-
 2 files changed, 132 insertions(+), 199 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/e49460fc/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java 
b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
index c6818f6..f54d820 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java
@@ -17,8 +17,9 @@
 package org.apache.wicket.util.tester;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
-import java.util.Map;
+import java.util.Stack;
 import java.util.regex.Pattern;
 
 import org.apache.wicket.WicketRuntimeException;
@@ -359,6 +360,11 @@ public class TagTester
 */
public String getValue()
{
+   if (openTag == closeTag)
+   {
+   return null;
+   }
+   
int openPos = openTag.getPos() + openTag.getLength();
int closePos = closeTag.getPos();
 
@@ -370,85 +376,40 @@ public class TagTester
 * that it will return the first tag which matches the criteria.
 *
 * @param markup
-*the markup to look for the tag to create the 
TagTester from
-*the value which the attribute must have
+*the markup to look for the tag to create the 
TagTester from the value
+*which the attribute must have
 * @return the TagTester which matches the tag by name in 
the markup
 */
-   public static TagTester createTagByAttribute(String markup, String 
tagName)
+   public static TagTester createTagByName(String markup, final String 
tagName)
{
-   TagTester tester = null;
-
-   if (Strings.isEmpty(markup) == false && 
Strings.isEmpty(tagName) == false)
-   {
-   try
-   {
-   // remove the CDATA and
-   // the id attribute of the component because it 
is often the same as the element's id
-   markup = 
AJAX_COMPONENT_CDATA_OPEN.matcher(markup).replaceAll("");
-   markup = 
AJAX_COMPONENT_CDATA_CLOSE.matcher(markup).replaceAll("");
-
-   XmlPullParser parser = new XmlPullParser();
-   parser.parse(markup);
-
-   XmlTag elm;
-   XmlTag openTag = null;
-   XmlTag closeTag = null;
-   int level = 0;
-   while ((elm = parser.nextTag()) != null && 
closeTag == null)
-   {
-   XmlTag xmlTag = elm;
-
-   String xmlTagName = xmlTag.getName();
-   if (openTag == null && 
xmlTagName.equalsIgnoreCase(tagName))
-   {
-   if (xmlTag.isOpen())
-   {
-   openTag = xmlTag;
-   }
-   else if (xmlTag.isOpenClose())
-   {
-   openTag = xmlTag;
-   closeTag = xmlTag;
-   }
-   }
-   else if (openTag != null)
-   {
-   String openTagName = 
openTag.getName();
-   

wicket git commit: WICKET-6276: simple compilefix with generics parameter

2016-11-15 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 21837bccc -> a42a27b5d


WICKET-6276: simple compilefix with generics parameter


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

Branch: refs/heads/master
Commit: a42a27b5df594678433ce37ff918103d6924946f
Parents: 21837bc
Author: Sven Meier 
Authored: Tue Nov 15 21:59:50 2016 +0100
Committer: Sven Meier 
Committed: Tue Nov 15 22:02:20 2016 +0100

--
 .../src/test/java/org/apache/wicket/model/LambdaModelTest.java  | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/a42a27b5/wicket-core/src/test/java/org/apache/wicket/model/LambdaModelTest.java
--
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/model/LambdaModelTest.java 
b/wicket-core/src/test/java/org/apache/wicket/model/LambdaModelTest.java
index 5533a07..3a51a02 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/LambdaModelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/LambdaModelTest.java
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertThat;
 
 import org.apache.wicket.core.util.lang.WicketObjects;
 import org.apache.wicket.model.lambda.Person;
-import org.danekja.java.util.function.serializable.SerializableConsumer;
 import org.junit.Test;
 
 /**
@@ -44,9 +43,9 @@ public class LambdaModelTest
public void explicitLambdas()
{
Person person = new Person();
-   IModel personNameModel = LambdaModel.of(
+   IModel personNameModel = LambdaModel.of(
() -> person.getName(),
-   (SerializableConsumer) (name) -> 
person.setName(name));
+   (name) -> person.setName(name));
check(personNameModel);
}
 



wicket git commit: WICKET-6270 check name of uploaded file is not empty

2016-11-07 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master b30709dd8 -> 2135f7b7d


WICKET-6270 check name of uploaded file is not empty


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

Branch: refs/heads/master
Commit: 2135f7b7d2e77d1c7a70cb03da744e0f4ef2de29
Parents: b30709d
Author: Sven Meier 
Authored: Mon Nov 7 19:20:07 2016 +0100
Committer: Sven Meier 
Committed: Mon Nov 7 19:20:07 2016 +0100

--
 .../html/form/upload/FileUploadField.java   |  6 ++-
 .../http/mock/MockHttpServletRequest.java   | 51 +++-
 .../apache/wicket/util/tester/FormTester.java   |  2 +-
 .../html/form/upload/FileUploadFieldTest.java   | 41 +---
 4 files changed, 68 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/2135f7b7/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
index e604fae..5a8f288 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
@@ -27,6 +27,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.protocol.http.IMultipartWebRequest;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.util.convert.ConversionException;
+import org.apache.wicket.util.string.Strings;
 
 /**
  * Form component that corresponds to a . 
When a FileInput
@@ -111,7 +112,10 @@ public class FileUploadField extends 
FormComponent>
{
for (FileItem item : fileItems)
{
-   fileUploads.add(new FileUpload(item));
+   // WICKET-6270 detect empty field by 
missing file name
+   if (Strings.isEmpty(item.getName()) == 
false) {
+   fileUploads.add(new 
FileUpload(item));
+   }
}
}
}

http://git-wip-us.apache.org/repos/asf/wicket/blob/2135f7b7/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
index eb13006..44ee8d4 100755
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
@@ -67,7 +67,6 @@ import org.apache.wicket.util.encoding.UrlDecoder;
 import org.apache.wicket.util.encoding.UrlEncoder;
 import org.apache.wicket.util.file.File;
 import org.apache.wicket.util.io.IOUtils;
-import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.value.ValueMap;
@@ -265,19 +264,19 @@ public class MockHttpServletRequest implements 
HttpServletRequest
 */
public void addFile(String fieldName, File file, String contentType)
{
-   Args.notNull(file, "file");
-
-   if (file.exists() == false)
-   {
-   throw new IllegalArgumentException(
-   "File does not exists. You must provide an 
existing file: "
-   + file.getAbsolutePath());
-   }
+   if (file != null) {
+   if (file.exists() == false)
+   {
+   throw new IllegalArgumentException(
+   "File does not exists. You must provide 
an existing file: "
+   + file.getAbsolutePath());
+   }
 
-   if (file.isFile() == false)
-   {
-   throw new IllegalArgumentException(
-   "You can only add a File, which is not a 
directory. Only files can be uploaded.");
+   if (file.isFile() == false)
+

wicket git commit: WICKET-6270 check name of uploaded file is not empty

2016-11-07 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 7d164c618 -> 3a6eb04ca


WICKET-6270 check name of uploaded file is not empty


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

Branch: refs/heads/wicket-6.x
Commit: 3a6eb04ca17789b859e6efea067ea4bfddafa2c8
Parents: 7d164c6
Author: Sven Meier 
Authored: Mon Nov 7 19:20:07 2016 +0100
Committer: Sven Meier 
Committed: Mon Nov 7 19:27:47 2016 +0100

--
 .../html/form/upload/FileUploadField.java   |  6 ++-
 .../http/mock/MockHttpServletRequest.java   | 51 +++-
 .../apache/wicket/util/tester/FormTester.java   |  2 +-
 .../html/form/upload/FileUploadFieldTest.java   | 41 +---
 4 files changed, 68 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/3a6eb04c/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
index 07f81f3..512e472 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
@@ -26,6 +26,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.protocol.http.IMultipartWebRequest;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.util.convert.ConversionException;
+import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.upload.FileItem;
 
 /**
@@ -110,7 +111,10 @@ public class FileUploadField extends 
FormComponent>
{
for (FileItem item : fileItems)
{
-   fileUploads.add(new FileUpload(item));
+   // WICKET-6270 detect empty field by 
missing file name
+   if (Strings.isEmpty(item.getName()) == 
false) {
+   fileUploads.add(new 
FileUpload(item));
+   }
}
}
}

http://git-wip-us.apache.org/repos/asf/wicket/blob/3a6eb04c/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
index bc014f6..989c7f7 100755
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
@@ -56,7 +56,6 @@ import org.apache.wicket.util.encoding.UrlDecoder;
 import org.apache.wicket.util.encoding.UrlEncoder;
 import org.apache.wicket.util.file.File;
 import org.apache.wicket.util.io.IOUtils;
-import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.upload.FileUploadBase;
@@ -245,19 +244,19 @@ public class MockHttpServletRequest implements 
HttpServletRequest
 */
public void addFile(String fieldName, File file, String contentType)
{
-   Args.notNull(file, "file");
-
-   if (file.exists() == false)
-   {
-   throw new IllegalArgumentException(
-   "File does not exists. You must provide an 
existing file: " +
-   file.getAbsolutePath());
-   }
+   if (file != null) {
+   if (file.exists() == false)
+   {
+   throw new IllegalArgumentException(
+   "File does not exists. You must provide 
an existing file: "
+   + file.getAbsolutePath());
+   }
 
-   if (file.isFile() == false)
-   {
-   throw new IllegalArgumentException(
-   "You can only add a File, which is not a 
directory. Only files can be uploaded.");
+   if (file.isFile() == false)
+   {

wicket git commit: WICKET-6270 check name of uploaded file is not empty

2016-11-07 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 423a93f20 -> 34d8ead09


WICKET-6270 check name of uploaded file is not empty


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

Branch: refs/heads/wicket-7.x
Commit: 34d8ead0926269af5392d8d55cc2a001e9c3ecc3
Parents: 423a93f
Author: Sven Meier 
Authored: Mon Nov 7 19:20:07 2016 +0100
Committer: Sven Meier 
Committed: Mon Nov 7 19:21:03 2016 +0100

--
 .../html/form/upload/FileUploadField.java   |  6 ++-
 .../http/mock/MockHttpServletRequest.java   | 51 +++-
 .../apache/wicket/util/tester/FormTester.java   |  2 +-
 .../html/form/upload/FileUploadFieldTest.java   | 41 +---
 4 files changed, 68 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/34d8ead0/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
index e604fae..5a8f288 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
@@ -27,6 +27,7 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.protocol.http.IMultipartWebRequest;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.util.convert.ConversionException;
+import org.apache.wicket.util.string.Strings;
 
 /**
  * Form component that corresponds to a . 
When a FileInput
@@ -111,7 +112,10 @@ public class FileUploadField extends 
FormComponent>
{
for (FileItem item : fileItems)
{
-   fileUploads.add(new FileUpload(item));
+   // WICKET-6270 detect empty field by 
missing file name
+   if (Strings.isEmpty(item.getName()) == 
false) {
+   fileUploads.add(new 
FileUpload(item));
+   }
}
}
}

http://git-wip-us.apache.org/repos/asf/wicket/blob/34d8ead0/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
index a7bd476..05c5c1b 100755
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
@@ -65,7 +65,6 @@ import org.apache.wicket.util.encoding.UrlDecoder;
 import org.apache.wicket.util.encoding.UrlEncoder;
 import org.apache.wicket.util.file.File;
 import org.apache.wicket.util.io.IOUtils;
-import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.value.ValueMap;
@@ -255,19 +254,19 @@ public class MockHttpServletRequest implements 
HttpServletRequest
 */
public void addFile(String fieldName, File file, String contentType)
{
-   Args.notNull(file, "file");
-
-   if (file.exists() == false)
-   {
-   throw new IllegalArgumentException(
-   "File does not exists. You must provide an 
existing file: "
-   + file.getAbsolutePath());
-   }
+   if (file != null) {
+   if (file.exists() == false)
+   {
+   throw new IllegalArgumentException(
+   "File does not exists. You must provide 
an existing file: "
+   + file.getAbsolutePath());
+   }
 
-   if (file.isFile() == false)
-   {
-   throw new IllegalArgumentException(
-   "You can only add a File, which is not a 
directory. Only files can be uploaded.");
+   if (file.isFile() == false)
+

[1/2] wicket git commit: WICKET-6260 let WebRequest detect Ajax request

2016-10-31 Thread svenmeier
Repository: wicket
Updated Branches:
  refs/heads/master 3e765bae3 -> 7a0ee57bb


WICKET-6260 let WebRequest detect Ajax request

WebRequest#isAjax() no longer touches the request body, thus it can safely be 
asked


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

Branch: refs/heads/master
Commit: 4e15acc29fdb3e41f239669a8eafe54115e68263
Parents: 3e765ba
Author: Sven Meier 
Authored: Wed Oct 26 10:19:18 2016 +0200
Committer: Sven Meier 
Committed: Mon Oct 31 14:35:37 2016 +0100

--
 .../wicket/protocol/http/WebApplication.java| 23 
 .../protocol/http/WebApplicationTest.java   | 58 
 2 files changed, 69 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/wicket/blob/4e15acc2/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
--
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
index 56263ed..bc41b12 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
@@ -555,12 +555,21 @@ public abstract class WebApplication extends Application
 */
WebRequest createWebRequest(HttpServletRequest servletRequest, final 
String filterPath)
{
+   if (hasFilterFactoryManager())
+   {
+   for (AbstractRequestWrapperFactory factory : 
getFilterFactoryManager())
+   {
+   servletRequest = 
factory.getWrapper(servletRequest);
+   }
+   }
+
+   WebRequest webRequest = newWebRequest(servletRequest, 
filterPath);
+
if (servletRequest.getCharacterEncoding() == null)
{
try
{
-   String wicketAjaxHeader = 
servletRequest.getHeader(WebRequest.HEADER_AJAX);
-   if (Strings.isTrue(wicketAjaxHeader))
+   if (webRequest.isAjax())
{
// WICKET-3908, WICKET-1816: Forms 
submitted with Ajax are always UTF-8 encoded

servletRequest.setCharacterEncoding(CharEncoding.UTF_8);
@@ -577,16 +586,6 @@ public abstract class WebApplication extends Application
}
}
 
-   if (hasFilterFactoryManager())
-   {
-   for (AbstractRequestWrapperFactory factory : 
getFilterFactoryManager())
-   {
-   servletRequest = 
factory.getWrapper(servletRequest);
-   }
-   }
-
-   WebRequest webRequest = newWebRequest(servletRequest, 
filterPath);
-
return webRequest;
}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/4e15acc2/wicket-core/src/test/java/org/apache/wicket/protocol/http/WebApplicationTest.java
--
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/WebApplicationTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/WebApplicationTest.java
index 0b51703..ba6b175 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/WebApplicationTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/WebApplicationTest.java
@@ -17,9 +17,15 @@
 package org.apache.wicket.protocol.http;
 
 import java.nio.charset.Charset;
+import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.Locale;
+import java.util.Map;
 
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.wicket.mock.MockRequestParameters;
+import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.IRequestMapper;
 import org.apache.wicket.request.Request;
@@ -42,6 +48,58 @@ public class WebApplicationTest extends WicketTestCase
private static final String MOUNT_PATH_4 = "mount/path/4";
 
/**
+* WICKET-6260
+*/
+   @Test
+   public void testBodyNotReadBeforeApplicationSetsCharacterEncoding() 
throws Exception {
+   WebApplication application = tester.getApplication();
+
+   HttpServletRequest request = new 
MockHttpServletRequest(app

<    3   4   5   6   7   8   9   10   11   12   >