Re: [wicketstuff] Can't we get rid of the distinction between JDK-versions on the folder level?

2015-05-06 Thread Martin Grigorov
Hi Joachim,

The reason to use two separate folders is that at deploy time we use [1]:
$ cd jdk-1.6.x; JAVA_HOME=$JAVA_6_HOME mvn deploy 
$ cd ../jdk-7.x; JAVA_HOME=$JAVA_7_HOME mvn deploy 
$ cd ../jdk-8.x; JAVA_HOME=$JAVA_8_HOME mvn deploy 

With your approach we could just use JAVA_8_HOME for all of them.
m-compiler-p's settings will set the appropriate -target for each module.
But this is not enough - we have to use something like
http://mojo.codehaus.org/animal-sniffer-maven-plugin/ to make sure that jdk
1.6/7.x modules do not use feature from a newer JDK, because compiler's
-target won't help.

I think it should work.
Do you want to try it out?


1.
https://github.com/wicketstuff/core/wiki/Wicket-Stuff-Core-Release-Process#steps-to-create-new-version

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, May 6, 2015 at 11:50 PM, Joachim Rohde  wrote:

> Hi,
> As I already mentioned the other day I was porting some changes from
> master branch to the wicket-6.x branch (
> http://apache-wicket.1842946.n4.nabble.com/wicketstuff-Need-help-with-cherry-picking-td4670615.html)
> and had some trouble doing so, since Git was not able to cherry-pick my
> changes due to a different folder structure. Since this was really a pain
> in the neck (and quite erroneous) I would like to know if we cannot get rid
> of the distinction between different JDK versions in the folder structure.
>
> At the moment all projects on the master branch are located in the
> jdk-1.7-parent folder (since no project requires Java 8 yet, the
> jdk-1.8-parent folder is empty). Most of those projects reside in the
> jdk-1.6-parent folder on the wicket-6.x branch, making it impossible to
> simply downport changes via cherry-picking. Only difference between the
> POMs in those folders are the source- and target-level for the Maven
> compiler plugin.
>
> Can't we just put everything in one folder and override source- and
> target-level in the project specific POM if a project needs a higher
> version than the default one? The only drawback I see at the moment is the
> fact, that you cannot recognize at a first glance if a project needs a
> higher Java version. Or do I overlook here something?
>
> To be honest: I don't know if I would downport bigger changes on a project
> when myself only needs those changes on the master branch (since I'm
> already using Wicket 1.7) and downporting is such a hassle.
>
> Joachim
>


[wicketstuff] Can't we get rid of the distinction between JDK-versions on the folder level?

2015-05-06 Thread Joachim Rohde

Hi,
As I already mentioned the other day I was porting some changes from 
master branch to the wicket-6.x branch 
(http://apache-wicket.1842946.n4.nabble.com/wicketstuff-Need-help-with-cherry-picking-td4670615.html) 
and had some trouble doing so, since Git was not able to cherry-pick my 
changes due to a different folder structure. Since this was really a 
pain in the neck (and quite erroneous) I would like to know if we cannot 
get rid of the distinction between different JDK versions in the folder 
structure.


At the moment all projects on the master branch are located in the 
jdk-1.7-parent folder (since no project requires Java 8 yet, the 
jdk-1.8-parent folder is empty). Most of those projects reside in the 
jdk-1.6-parent folder on the wicket-6.x branch, making it impossible to 
simply downport changes via cherry-picking. Only difference between the 
POMs in those folders are the source- and target-level for the Maven 
compiler plugin.


Can't we just put everything in one folder and override source- and 
target-level in the project specific POM if a project needs a higher 
version than the default one? The only drawback I see at the moment is 
the fact, that you cannot recognize at a first glance if a project needs 
a higher Java version. Or do I overlook here something?


To be honest: I don't know if I would downport bigger changes on a 
project when myself only needs those changes on the master branch (since 
I'm already using Wicket 1.7) and downporting is such a hassle.


Joachim


Re: Migration to 7 report

2015-05-06 Thread Guillaume Smet
On Mon, May 4, 2015 at 9:26 PM, Martin Grigorov 
wrote:

> What's wrong with 'instanceof'+casting?
>

Nothing, except it's more verbose. I'll go do that.

I was wondering if it might be worth it to add a way to define the error
keys with a setter of PatternValidator. We usually override the message to
make it understandable by the user (a regexp doesn't qualify as
understandable for most users). Are we the only ones?

If it's of some interest, I can prepare a PR for that.

-- 
Guillaume


Re: Add IFallback marker interface to AjaxFallback* components

2015-05-06 Thread Martin Grigorov
On May 6, 2015 3:10 PM, "Martijn Dashorst" 
wrote:
>
> On Wed, May 6, 2015 at 1:35 PM, Martin Grigorov 
wrote:
> > +1 to introduce IFallback
> >
> > I don't understand how Optional could help for this use case
>
> Change the onClick signature (perhaps only for Ajax fallback components):
>
> public void onClick(Optional target) {
> }
>
> This expresses clearly that target is optional, and hence that a
> fallback scenario is possible.

Yeah, but how this could be exploited in WicketTester?

>
> Martijn
>
> >
> > On Wed, May 6, 2015 at 12:03 PM, Martijn Dashorst <
> > martijn.dasho...@gmail.com> wrote:
> >
> >> The WicketTester has a click method that doesn't detect all AJAX
> >> capable links (e.g. the Ajax links in the AjaxPagingNavigator are not
> >> testable).
> >>
> >> When trying to fix this by adding support for IAjaxLink, I noticed
> >> that we also don't support AjaxFallbackButton, and probably a lot more
> >> components.
> >>
> >> Should we introduce a marker interface for fallback components?
> >>
> >> (or should we wait until Optional support arrives with Java 8 in
Wicket 8)
> >>
> >> Martijn
> >>
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com


Re: Add IFallback marker interface to AjaxFallback* components

2015-05-06 Thread Martijn Dashorst
On Wed, May 6, 2015 at 1:35 PM, Martin Grigorov  wrote:
> +1 to introduce IFallback
>
> I don't understand how Optional could help for this use case

Change the onClick signature (perhaps only for Ajax fallback components):

public void onClick(Optional target) {
}

This expresses clearly that target is optional, and hence that a
fallback scenario is possible.

Martijn

>
> On Wed, May 6, 2015 at 12:03 PM, Martijn Dashorst <
> martijn.dasho...@gmail.com> wrote:
>
>> The WicketTester has a click method that doesn't detect all AJAX
>> capable links (e.g. the Ajax links in the AjaxPagingNavigator are not
>> testable).
>>
>> When trying to fix this by adding support for IAjaxLink, I noticed
>> that we also don't support AjaxFallbackButton, and probably a lot more
>> components.
>>
>> Should we introduce a marker interface for fallback components?
>>
>> (or should we wait until Optional support arrives with Java 8 in Wicket 8)
>>
>> Martijn
>>



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com


Re: Add IFallback marker interface to AjaxFallback* components

2015-05-06 Thread Martin Grigorov
+1 to introduce IFallback

I don't understand how Optional could help for this use case

On Wed, May 6, 2015 at 12:03 PM, Martijn Dashorst <
martijn.dasho...@gmail.com> wrote:

> The WicketTester has a click method that doesn't detect all AJAX
> capable links (e.g. the Ajax links in the AjaxPagingNavigator are not
> testable).
>
> When trying to fix this by adding support for IAjaxLink, I noticed
> that we also don't support AjaxFallbackButton, and probably a lot more
> components.
>
> Should we introduce a marker interface for fallback components?
>
> (or should we wait until Optional support arrives with Java 8 in Wicket 8)
>
> Martijn
>


Re: wicket git commit: Added WicketTester support for IAjaxLink

2015-05-06 Thread Martin Grigorov
Hi,

On Wed, May 6, 2015 at 12:25 PM,  wrote:

> Repository: wicket
> Updated Branches:
>   refs/heads/wicket-6.x e4c1d939f -> 0199bfab7
>
>
> Added WicketTester support for IAjaxLink
>
> WicketTester didn't click direct IAjaxLink implementations using an
> Ajax request but a normal request. Some components implement
> IAjaxLink directly instead of subclassing AjaxLink or other
> components.
>
> Fixes WICKET-5900
>
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/0199bfab
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/0199bfab
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/0199bfab
>
> Branch: refs/heads/wicket-6.x
> Commit: 0199bfab7cc27e14759d634a1b48f92c9e59a9d2
> Parents: e4c1d93
> Author: Martijn Dashorst 
> Authored: Wed May 6 11:22:55 2015 +0200
> Committer: Martijn Dashorst 
> Committed: Wed May 6 11:25:22 2015 +0200
>
> --
>  .../org/apache/wicket/util/tester/BaseWicketTester.java  | 11 +++
>  1 file changed, 11 insertions(+)
> --
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/0199bfab/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 2849c3c..8b230b8 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
> @@ -59,6 +59,7 @@ import org.apache.wicket.ajax.AjaxEventBehavior;
>  import org.apache.wicket.ajax.form.AjaxFormSubmitBehavior;
>  import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
>  import org.apache.wicket.ajax.markup.html.AjaxLink;
> +import org.apache.wicket.ajax.markup.html.IAjaxLink;
>  import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
>  import org.apache.wicket.behavior.AbstractAjaxBehavior;
>  import
> org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler;
> @@ -1881,6 +1882,16 @@ public class BaseWicketTester
> submitAjaxFormSubmitBehavior(link,
>
> (AjaxFormSubmitBehavior)WicketTesterHelper.findAjaxEventBehavior(link,
> "onclick"));
> }
> +   // if the link is an IAjaxLink, use it (do check if AJAX
> is expected)
> +   else if (linkComponent instanceof IAjaxLink && isAjax)
>

I see some inconsistencies now:
1) earlier there is a check for AjaxLink that is also IAjaxLink and it has
the same logic
2) it uses fail() in the case when isAjax is false
IMO AjaxPagingNavigationLink should behave the same way. In the browser it
would not act as a **Fallback link
Maybe the code for AjaxLink and IAjaxLink should be merged?!
Additionally we can introduce IFallback marker interface (as you suggested
at dev@) and fail if isAjax is false && isFallback == false.

+   {
> +   List behaviors =
> WicketTesterHelper.findAjaxEventBehaviors(
> +   linkComponent, "click");
> +   for (AjaxEventBehavior behavior : behaviors)
> +   {
> +   executeBehavior(behavior);
> +   }
> +   }
> /*
>  * If the link is a submitlink then we pretend to have
> clicked it
>  */
>
>


Re: Add IFallback marker interface to AjaxFallback* components

2015-05-06 Thread Tobias Soloschenko
I would prefer the interface because Wicket 6 / 7 users should also see that 
components are not supported.

kind regards

Tobias

> Am 06.05.2015 um 11:03 schrieb Martijn Dashorst :
> 
> The WicketTester has a click method that doesn't detect all AJAX
> capable links (e.g. the Ajax links in the AjaxPagingNavigator are not
> testable).
> 
> When trying to fix this by adding support for IAjaxLink, I noticed
> that we also don't support AjaxFallbackButton, and probably a lot more
> components.
> 
> Should we introduce a marker interface for fallback components?
> 
> (or should we wait until Optional support arrives with Java 8 in Wicket 8)
> 
> Martijn


Add IFallback marker interface to AjaxFallback* components

2015-05-06 Thread Martijn Dashorst
The WicketTester has a click method that doesn't detect all AJAX
capable links (e.g. the Ajax links in the AjaxPagingNavigator are not
testable).

When trying to fix this by adding support for IAjaxLink, I noticed
that we also don't support AjaxFallbackButton, and probably a lot more
components.

Should we introduce a marker interface for fallback components?

(or should we wait until Optional support arrives with Java 8 in Wicket 8)

Martijn