[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Robert Bain (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1740#comment-1740
 ] 

Robert Bain commented on WICKET-6913:
-

"IMHO that's not true if the dependencies change" I suppose a dependency 
upgrade, I.E. a hypothetical cglib Java 17 upgrade falls into this category 
too, so even that potential easy way out is off the cards without a little 
misdirection / config? Or would the intention be that the user application pom 
specifies the newer cglib version? I've been over there asking if they're 
planning anything soon, so hopefully get feedback soon.

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Emond Papegaaij (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399989#comment-17399989
 ] 

Emond Papegaaij commented on WICKET-6913:
-

Or we could copy the new module from master to 9.x under a new name 
(wicket-oic-bytebuddy) and provide both. I don't think we can just change the 
implementation, as minor versions are supposed to be drop-in replacements, and 
IMHO that's not true if the dependencies change. However, you might also argue 
that this is just an implementation detail and the API doesn't change. I do 
agree with Robert, that we should try to support Java 17, the next LTS, for 
Wicket 9.x.

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Sven Meier (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399804#comment-17399804
 ] 

Sven Meier commented on WICKET-6913:


Seems to me we could fit this into Wicket 9.x - isn't the change mainly in 
LazyInitProxyFactory only?

Maybe as an optional feature via toggle-switch.

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Robert Bain (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399764#comment-17399764
 ] 

Robert Bain edited comment on WICKET-6913 at 8/16/21, 3:07 PM:
---

Feels like unless cglib step up to the plate, Wicket is going to block Java 17 
upgrade for a long time. What's the breaking change by moving to ByteBuddy? The 
ASM bump? I don't think it's cricket for a framework to block an LTS version 
over the medium to long term. Could Wicket 10 become Wicket 11 and Wicket 10 is 
Java 17 support?


was (Author: robertandrewbain):
Feels like unless cglib step up to the plate, Wicket is going to block Java 17 
upgrade for a long time. What's the breaking change by moving to ByteBuddy? The 
ASM bump? I don't think it's cricket for a framework to block an LTS version 
over the medium to long term.

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Robert Bain (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399764#comment-17399764
 ] 

Robert Bain edited comment on WICKET-6913 at 8/16/21, 2:34 PM:
---

Feels like unless cglib step up to the plate, Wicket is going to block Java 17 
upgrade for a long time. What's the breaking change by moving to ByteBuddy? The 
ASM bump? I don't think it's cricket for a framework to block an LTS version 
over the medium to long term.


was (Author: robertandrewbain):
Feels like unless cglib step up to the plate, Wicket is going to blocking Java 
17 upgrade for a long time. What's the breaking change by moving to ByteBuddy? 
The ASM bump? I don't think it's cricket for a framework to block an LTS 
version over the medium to long term.

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Robert Bain (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399764#comment-17399764
 ] 

Robert Bain edited comment on WICKET-6913 at 8/16/21, 2:33 PM:
---

Feels like unless cglib step up to the plate, Wicket is going to blocking Java 
17 upgrade for a long time. What's the breaking change by moving to ByteBuddy? 
The ASM bump? I don't think it's cricket for a framework to block an LTS 
version over the medium to long term.


was (Author: robertandrewbain):
Feels like unless cglib step up to the plate, Wicket is going to blocking Java 
17 upgrade for a long time. What's the breaking change by moving to ByteBuddy? 
The ASM bump?

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Robert Bain (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399764#comment-17399764
 ] 

Robert Bain edited comment on WICKET-6913 at 8/16/21, 2:30 PM:
---

Feels like unless cglib step up to the plate, Wicket is going to blocking Java 
17 upgrade for a long time. What's the breaking change by moving to ByteBuddy? 
The ASM bump?


was (Author: robertandrewbain):
Feels like unless cglib step up to the plate, Wicket is going to blocking Java 
17 upgrade for a long time. What's the breaking change by moving to ByteBuddy?

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Robert Bain (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399764#comment-17399764
 ] 

Robert Bain commented on WICKET-6913:
-

Feels like unless cglib step up to the plate, Wicket is going to blocking Java 
17 upgrade for a long time. What's the breaking change by moving to ByteBuddy?

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Martin Tzvetanov Grigorov (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399726#comment-17399726
 ] 

Martin Tzvetanov Grigorov commented on WICKET-6913:
---

There is no date set yet.

Wicket 10.x will use Jakarta EE APIs and several dependencies are still not 
available (e.g. Spring, Commons FileUpload, JBoss Weld (CDI), ...).

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Robert Bain (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399723#comment-17399723
 ] 

Robert Bain commented on WICKET-6913:
-

[~mgrigorov] when is Wicket 10 likely to be released?

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (WICKET-6836) Replace CGLib with ByteBuddy and/or Javassist

2021-08-16 Thread Martin Tzvetanov Grigorov (Jira)


 [ 
https://issues.apache.org/jira/browse/WICKET-6836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Tzvetanov Grigorov resolved WICKET-6836.
---
Fix Version/s: 10.0.0
 Assignee: Martin Tzvetanov Grigorov
   Resolution: Duplicate

> Replace CGLib with ByteBuddy and/or Javassist
> -
>
> Key: WICKET-6836
> URL: https://issues.apache.org/jira/browse/WICKET-6836
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket-ioc
>Affects Versions: 9.0.0
> Environment: Linux
>Reporter: Gert-Jan Schouten
>Assignee: Martin Tzvetanov Grigorov
>Priority: Minor
> Fix For: 10.0.0
>
>
> When trying to run Wicket 9.0.0 under Java 15, it fails with an "Unsupported 
> class file major version 59" error from CGLib.
> [This issue|https://github.com/cglib/cglib/issues/74] suggests that CGLib is 
> not actively maintained anymore. The Maven Central hasn't seen a new version 
> since August 2019.
> To make sure Wicket keeps running on the latest Java version, a migration to 
> ByteBuddy and/or Javassist is recommended.
> This is especially relevant since Oracle now only supports the latest version 
> of OpenJDK, requiring OpenJDK users to switch to the latest version every 6 
> months.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


buildbot success in on wicket-branch-8.x

2021-08-16 Thread buildbot
The Buildbot has detected a restored build on builder wicket-branch-8.x while 
building wicket. Full details are available at:
https://ci.apache.org/builders/wicket-branch-8.x/builds/245

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf945_ubuntu

Build Reason: The SingleBranchScheduler scheduler named 
'on-wicket-branch-8.x-commit' triggered this build
Build Source Stamp: [branch wicket-8.x] 4d7fe80a85a0d6f0cfb2a4459abb6ea4a66f553c
Blamelist: Martin Tzvetanov Grigorov 

Build succeeded!

Sincerely,
 -The Buildbot





[jira] [Resolved] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread Martin Tzvetanov Grigorov (Jira)


 [ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Tzvetanov Grigorov resolved WICKET-6913.
---
Fix Version/s: 10.0.0
 Assignee: Martin Tzvetanov Grigorov
   Resolution: Fixed

Replaced CGLib with ByteBuddy in master branch (Wicket 10.x).

For Wicket 9.x we cannot make such big change so we will have to wait for a new 
CGLib release.

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] branch wicket-9.x updated (f9c9873 -> 86b02b9)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a change to branch wicket-9.x
in repository https://gitbox.apache.org/repos/asf/wicket.git.


from f9c9873  WICKET-6914 Visibility change of "File Upload" via ajax 
causes "missing" form-data
 add 86b02b9  Explicitly install OpenJDK 11 and Maven

No new revisions were added by this update.

Summary of changes:
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399702#comment-17399702
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 8cfffea6441153a2c59700e4db30d71857fd0cbe in wicket's branch 
refs/heads/master from Martin Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8cfffea ]

WICKET-6913 Replace CGLib with ByteBuddy (#476)

* WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory

TODO: Update the Objenesis related classes too and wicket-jmx
(cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419)

* WICKET-6913 Convert Objenesis proxy generator to ByteBuddy

(cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8)

* WICKET-6913 Replace CGLib with ByteBuddy

Replace all occurrences of "cglib" with "byte-buddy".
Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need of 
both. If an application needs special impl of #writeReplace() then it could 
extend ByteBuddyInterceptor and override it.
Improve Maven dependency management related to byte-buddy.

* WICKET-6913 Set the ByteBuddy interceptor after creating an instance

This is needed because otherwise we may get a cached generated class with wrong 
interceptor (i.e. IProxyTargetLocator) for classes with generics

* WICKET-6913 Fix typos in javadoc

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399706#comment-17399706
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 8cfffea6441153a2c59700e4db30d71857fd0cbe in wicket's branch 
refs/heads/master from Martin Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8cfffea ]

WICKET-6913 Replace CGLib with ByteBuddy (#476)

* WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory

TODO: Update the Objenesis related classes too and wicket-jmx
(cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419)

* WICKET-6913 Convert Objenesis proxy generator to ByteBuddy

(cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8)

* WICKET-6913 Replace CGLib with ByteBuddy

Replace all occurrences of "cglib" with "byte-buddy".
Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need of 
both. If an application needs special impl of #writeReplace() then it could 
extend ByteBuddyInterceptor and override it.
Improve Maven dependency management related to byte-buddy.

* WICKET-6913 Set the ByteBuddy interceptor after creating an instance

This is needed because otherwise we may get a cached generated class with wrong 
interceptor (i.e. IProxyTargetLocator) for classes with generics

* WICKET-6913 Fix typos in javadoc

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399705#comment-17399705
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 8cfffea6441153a2c59700e4db30d71857fd0cbe in wicket's branch 
refs/heads/master from Martin Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8cfffea ]

WICKET-6913 Replace CGLib with ByteBuddy (#476)

* WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory

TODO: Update the Objenesis related classes too and wicket-jmx
(cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419)

* WICKET-6913 Convert Objenesis proxy generator to ByteBuddy

(cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8)

* WICKET-6913 Replace CGLib with ByteBuddy

Replace all occurrences of "cglib" with "byte-buddy".
Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need of 
both. If an application needs special impl of #writeReplace() then it could 
extend ByteBuddyInterceptor and override it.
Improve Maven dependency management related to byte-buddy.

* WICKET-6913 Set the ByteBuddy interceptor after creating an instance

This is needed because otherwise we may get a cached generated class with wrong 
interceptor (i.e. IProxyTargetLocator) for classes with generics

* WICKET-6913 Fix typos in javadoc

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399704#comment-17399704
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 8cfffea6441153a2c59700e4db30d71857fd0cbe in wicket's branch 
refs/heads/master from Martin Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8cfffea ]

WICKET-6913 Replace CGLib with ByteBuddy (#476)

* WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory

TODO: Update the Objenesis related classes too and wicket-jmx
(cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419)

* WICKET-6913 Convert Objenesis proxy generator to ByteBuddy

(cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8)

* WICKET-6913 Replace CGLib with ByteBuddy

Replace all occurrences of "cglib" with "byte-buddy".
Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need of 
both. If an application needs special impl of #writeReplace() then it could 
extend ByteBuddyInterceptor and override it.
Improve Maven dependency management related to byte-buddy.

* WICKET-6913 Set the ByteBuddy interceptor after creating an instance

This is needed because otherwise we may get a cached generated class with wrong 
interceptor (i.e. IProxyTargetLocator) for classes with generics

* WICKET-6913 Fix typos in javadoc

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399703#comment-17399703
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 8cfffea6441153a2c59700e4db30d71857fd0cbe in wicket's branch 
refs/heads/master from Martin Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8cfffea ]

WICKET-6913 Replace CGLib with ByteBuddy (#476)

* WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory

TODO: Update the Objenesis related classes too and wicket-jmx
(cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419)

* WICKET-6913 Convert Objenesis proxy generator to ByteBuddy

(cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8)

* WICKET-6913 Replace CGLib with ByteBuddy

Replace all occurrences of "cglib" with "byte-buddy".
Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need of 
both. If an application needs special impl of #writeReplace() then it could 
extend ByteBuddyInterceptor and override it.
Improve Maven dependency management related to byte-buddy.

* WICKET-6913 Set the ByteBuddy interceptor after creating an instance

This is needed because otherwise we may get a cached generated class with wrong 
interceptor (i.e. IProxyTargetLocator) for classes with generics

* WICKET-6913 Fix typos in javadoc

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399701#comment-17399701
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 8cfffea6441153a2c59700e4db30d71857fd0cbe in wicket's branch 
refs/heads/master from Martin Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8cfffea ]

WICKET-6913 Replace CGLib with ByteBuddy (#476)

* WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory

TODO: Update the Objenesis related classes too and wicket-jmx
(cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419)

* WICKET-6913 Convert Objenesis proxy generator to ByteBuddy

(cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8)

* WICKET-6913 Replace CGLib with ByteBuddy

Replace all occurrences of "cglib" with "byte-buddy".
Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need of 
both. If an application needs special impl of #writeReplace() then it could 
extend ByteBuddyInterceptor and override it.
Improve Maven dependency management related to byte-buddy.

* WICKET-6913 Set the ByteBuddy interceptor after creating an instance

This is needed because otherwise we may get a cached generated class with wrong 
interceptor (i.e. IProxyTargetLocator) for classes with generics

* WICKET-6913 Fix typos in javadoc

> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF GitHub Bot (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399708#comment-17399708
 ] 

ASF GitHub Bot commented on WICKET-6913:


martin-g merged pull request #476:
URL: https://github.com/apache/wicket/pull/476


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@wicket.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [wicket] martin-g merged pull request #476: WICKET-6913 Replace CGLib with ByteBuddy

2021-08-16 Thread GitBox


martin-g merged pull request #476:
URL: https://github.com/apache/wicket/pull/476


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@wicket.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[wicket] branch master updated: WICKET-6913 Replace CGLib with ByteBuddy (#476)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
 new 8cfffea  WICKET-6913 Replace CGLib with ByteBuddy (#476)
8cfffea is described below

commit 8cfffea6441153a2c59700e4db30d71857fd0cbe
Author: Martin Grigorov 
AuthorDate: Mon Aug 16 14:47:57 2021 +0300

WICKET-6913 Replace CGLib with ByteBuddy (#476)

* WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory

TODO: Update the Objenesis related classes too and wicket-jmx
(cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419)

* WICKET-6913 Convert Objenesis proxy generator to ByteBuddy

(cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8)

* WICKET-6913 Replace CGLib with ByteBuddy

Replace all occurrences of "cglib" with "byte-buddy".
Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need 
of both. If an application needs special impl of #writeReplace() then it could 
extend ByteBuddyInterceptor and override it.
Improve Maven dependency management related to byte-buddy.

* WICKET-6913 Set the ByteBuddy interceptor after creating an instance

This is needed because otherwise we may get a cached generated class with 
wrong interceptor (i.e. IProxyTargetLocator) for classes with generics

* WICKET-6913 Fix typos in javadoc
---
 NOTICE |   8 +-
 README.md  |   4 +-
 pom.xml|  12 +-
 wicket-examples/src/main/resources/META-INF/NOTICE |  10 +-
 wicket-ioc/pom.xml |   8 +-
 wicket-ioc/src/main/java/module-info.java  |   2 +-
 .../apache/wicket/proxy/LazyInitProxyFactory.java  | 238 ++---
 ...tor.java => ObjenesisByteBuddyInterceptor.java} |   8 +-
 .../proxy/objenesis/ObjenesisProxyFactory.java |  28 +--
 .../proxy/objenesis/ObjenesisProxyReplacement.java |   2 +-
 .../wicket/injection/util/MockDependency.java  |   2 +-
 .../wicket/proxy/LazyInitProxyFactoryTest.java |  51 +++--
 .../wicket/proxy/PackagePrivateConcreteObject.java |   2 +-
 .../apache/wicket/proxy/util/ConcreteObject.java   |   2 +-
 wicket-jmx/pom.xml |   4 +-
 wicket-jmx/src/main/java/module-info.java  |   2 +-
 .../java/org/apache/wicket/jmx/Initializer.java| 130 +++
 .../org/apache/wicket/jmx/wrapper/Application.java |  21 --
 .../wicket/jmx/wrapper/ApplicationSettings.java|   9 -
 .../annot/SpringBeanWithGenericsTest.java  |   2 +-
 20 files changed, 268 insertions(+), 277 deletions(-)

diff --git a/NOTICE b/NOTICE
index 3e462db..b212522 100644
--- a/NOTICE
+++ b/NOTICE
@@ -53,11 +53,11 @@ src/./wicket-examples
This product includes software developed by the Spring Framework Project
(http://www.springframework.org).
 
-   This product includes software developed by the CGLib Project
-   (http://cglib.sourceforge.net).
+   This product includes software developed by the ByteBuddy Project
+   (https://bytebuddy.net/).
 
-   This product includes ASM, released under a BSD style license 
(http://asm.objectweb.org).
-   Copyright (c) 2000-2005 INRIA, France Telecom
+   This product includes ASM, released under a BSD style license 
(https://asm.ow2.io/).
+   Copyright (c) 2000-2011 INRIA, France Telecom
 
This product includes jhighlight (https://jhighlight.dev.java.net/)
which is released under CDDL 1.0 license 
(http://www.opensource.org/licenses/cddl1.php).
diff --git a/README.md b/README.md
index 01e9982..32b9555 100644
--- a/README.md
+++ b/README.md
@@ -158,8 +158,8 @@ the src/ folder.
 
  - wicket-ioc:
 
-cglib 3.1 (http://cglib.sourceforge.net/) and 
-asm-util 5.0.3 (http://asm.objectweb.org/)
+byte-buddy 1.11.12 (https://bytebuddy.net/) and 
+asm-util 9.1 (https://asm.ow2.io/)
 
  - wicket-spring:
 
diff --git a/pom.xml b/pom.xml
index 689a079..5e7a2b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -137,8 +137,8 @@
9.1
1.9.6
3.19.0
+   1.11.12
4.1.0
-   3.3.0
3.2.2
4.4
1.4
@@ -259,11 +259,6 @@
provided


-   cglib
-   cglib
-   ${cglib.version}
-   
-   
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
@@ -323,6 +318,11 @@
true


+   

[wicket] branch master updated (866fefc -> ba21696)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git.


from 866fefc  Explicitly install OpenJDK 11 and Maven
 add ba21696  Bump SLF4J to 2.0.0-alpha4

No new revisions were added by this update.

Summary of changes:
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399694#comment-17399694
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 582e494ce13d6af4ac3e325bc55e37f399811d4d in wicket's branch 
refs/heads/WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x from Martin 
Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=582e494 ]

Merge branch 'master' into WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x


> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399692#comment-17399692
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit 47cf4ff8a44a1b91d2395e4eed639087b6ee2908 in wicket's branch 
refs/heads/WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x from Martin 
Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=47cf4ff ]

WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update test expectations.
FormComponent#isMultipart() is called now by MultipartFormComponentListener in 
Ajax requests

(cherry picked from commit f9c98737fb9ed798c9c8cb25e87c3f7f6e87bfb2)


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0, 9.5.0, 8.14.0
>
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6913) Java 17 compatibility

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399693#comment-17399693
 ] 

ASF subversion and git services commented on WICKET-6913:
-

Commit 3865a881786ab0cfa303b229581c592b91764294 in wicket's branch 
refs/heads/WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x from Martin 
Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=3865a88 ]

Merge branch 'master' into WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x


> Java 17 compatibility
> -
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 9.4.0
>Reporter: Robert Bain
>Priority: Major
>
> Wicket's use of cglib means that as of Java 16, you need to specify 
> --illegal-access=permit. As of Java 17, this is no longer possible, which 
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See 
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>  
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could 
> not initialize class net.sf.cglib.proxy.Enhancer at 
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
>  at 
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
>  at org.apache.wicket.injection.Injector.inject(Injector.java:111) at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
>  at 
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
>  at 
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
>  at 
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
>  at org.apache.wicket.Component.(Component.java:690) at 
> org.apache.wicket.MarkupContainer.(MarkupContainer.java:179) at 
> org.apache.wicket.Page.(Page.java:171) at 
> org.apache.wicket.Page.(Page.java:135) at 
> org.apache.wicket.markup.html.WebPage.(WebPage.java:74)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399691#comment-17399691
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit d22d154ff4d3245df6ecb52cfb00f412b0a25bef in wicket's branch 
refs/heads/WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x from Martin 
Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=d22d154 ]

WICKET-6914  Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update the 's enctype whenever a multipart form component is repainted 
via Ajax

(cherry picked from commit 06e9f53dbe79a11bf6512263351edc9481dd5619)


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0, 9.5.0, 8.14.0
>
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] branch WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x updated (48a12e7 -> 582e494)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a change to branch 
WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x
in repository https://gitbox.apache.org/repos/asf/wicket.git.


from 48a12e7  WICKET-6913 Fix typos in javadoc
 add 8f8ccea  Bump SLF4J to 2.0.0-alpha3
 add d22d154  WICKET-6914  Visibility change of "File Upload" via ajax 
causes "missing" form-data
 add e1930d2  Simplify JUnit assertions
 add 47cf4ff  WICKET-6914 Visibility change of "File Upload" via ajax 
causes "missing" form-data
 add 866fefc  Explicitly install OpenJDK 11 and Maven
 add 3865a88  Merge branch 'master' into 
WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x
 add ba21696  Bump SLF4J to 2.0.0-alpha4
 add 582e494  Merge branch 'master' into 
WICKET-6913-replace-cglib-with-bytebuddy-wicket-10.x

No new revisions were added by this update.

Summary of changes:
 .travis.yml|  2 +-
 pom.xml|  2 +-
 .../http/MultipartFormComponentListener.java   | 52 ++
 .../wicket/protocol/http/WebApplication.java   |  6 +-
 .../wicket/markup/html/form/FormMultiPartTest.java | 20 +++---
 .../wicket/markup/html/form/MultiPartFormPage.java |  4 +-
 .../http/MultipartFormComponentListenerBean.java}  | 63 ++---
 .../http/MultipartFormComponentListenerPage.html   | 17 +
 .../http/MultipartFormComponentListenerPage.java   | 80 ++
 .../http/MultipartFormComponentListenerTest.java   | 51 ++
 10 files changed, 240 insertions(+), 57 deletions(-)
 create mode 100644 
wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
 copy 
wicket-core/src/test/java/org/apache/wicket/{core/util/tester/apps_1/Book.java 
=> protocol/http/MultipartFormComponentListenerBean.java} (58%)
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.html
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.java
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java


[jira] [Resolved] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread Martin Tzvetanov Grigorov (Jira)


 [ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Tzvetanov Grigorov resolved WICKET-6914.
---
Fix Version/s: 8.14
   9.5.0
   10.0.0
   Resolution: Fixed

> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Fix For: 10.0.0, 9.5.0, 8.14
>
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] branch wicket-8.x updated: Fix build for Java 8

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/wicket-8.x by this push:
 new 4d7fe80  Fix build for Java 8
4d7fe80 is described below

commit 4d7fe80a85a0d6f0cfb2a4459abb6ea4a66f553c
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 13:54:10 2021 +0300

Fix build for Java 8
---
 .../test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
index 5891e13..65431ce 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
@@ -49,7 +49,7 @@ public class MultiPartFormPage extends WebPage
form = new Form("form");
add(form.setOutputMarkupId(true));

-   input = new TextField<>("input", Model.of(""))
+   input = new TextField("input", Model.of(""))
{
@Override
public boolean isMultiPart() {


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399679#comment-17399679
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit 47cf4ff8a44a1b91d2395e4eed639087b6ee2908 in wicket's branch 
refs/heads/master from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=47cf4ff ]

WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update test expectations.
FormComponent#isMultipart() is called now by MultipartFormComponentListener in 
Ajax requests

(cherry picked from commit f9c98737fb9ed798c9c8cb25e87c3f7f6e87bfb2)


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399678#comment-17399678
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit d22d154ff4d3245df6ecb52cfb00f412b0a25bef in wicket's branch 
refs/heads/master from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=d22d154 ]

WICKET-6914  Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update the 's enctype whenever a multipart form component is repainted 
via Ajax

(cherry picked from commit 06e9f53dbe79a11bf6512263351edc9481dd5619)


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] 03/04: WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 47cf4ff8a44a1b91d2395e4eed639087b6ee2908
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 12:17:21 2021 +0300

WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update test expectations.
FormComponent#isMultipart() is called now by MultipartFormComponentListener 
in Ajax requests

(cherry picked from commit f9c98737fb9ed798c9c8cb25e87c3f7f6e87bfb2)
---
 .../java/org/apache/wicket/markup/html/form/FormMultiPartTest.java| 4 ++--
 .../java/org/apache/wicket/markup/html/form/MultiPartFormPage.java| 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
index dc6ad3e..85c1419 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
@@ -77,12 +77,12 @@ class FormMultiPartTest extends WicketTestCase
 
page.multiPart = true;
tester.executeAjaxEvent(page.button1, "click");
-   assertEquals(2, page.asked);
+   assertEquals(3, page.asked);
assertTrue(page.form.isMultiPart());
 
page.multiPart = false;
tester.executeAjaxEvent(page.button1, "click");
-   assertEquals(3, page.asked);
+   assertEquals(5, page.asked);
assertFalse(page.form.isMultiPart());
}
 }
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
index 86af382..27de9ae 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
@@ -49,7 +49,7 @@ public class MultiPartFormPage extends WebPage
form = new Form("form");
add(form.setOutputMarkupId(true));

-   input = new TextField("input", Model.of(""))
+   input = new TextField<>("input", Model.of(""))
{
@Override
public boolean isMultiPart() {
@@ -80,4 +80,4 @@ public class MultiPartFormPage extends WebPage
};
form.add(button2);
}
-}
\ No newline at end of file
+}


[wicket] 01/04: WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit d22d154ff4d3245df6ecb52cfb00f412b0a25bef
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 11:43:36 2021 +0300

WICKET-6914  Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update the 's enctype whenever a multipart form component is 
repainted via Ajax

(cherry picked from commit 06e9f53dbe79a11bf6512263351edc9481dd5619)
---
 .../http/MultipartFormComponentListener.java   | 52 ++
 .../wicket/protocol/http/WebApplication.java   |  6 +-
 .../http/MultipartFormComponentListenerBean.java   | 58 
 .../http/MultipartFormComponentListenerPage.html   | 17 +
 .../http/MultipartFormComponentListenerPage.java   | 80 ++
 .../http/MultipartFormComponentListenerTest.java   | 51 ++
 6 files changed, 262 insertions(+), 2 deletions(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
new file mode 100644
index 000..f5572ed
--- /dev/null
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
@@ -0,0 +1,52 @@
+/*
+ * 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.protocol.http;
+
+import java.util.Map;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.util.visit.IVisitor;
+
+/**
+ * This listener updates the {@link Form}'s enctype whenever a 
multipart {@link FormComponent}
+ * is added to the {@code AjaxRequestTarget}.
+ * This is needed because the multipart form component may change its 
visibility/enablement and thus
+ * change the multipart-ness of the whole form.
+ */
+public class MultipartFormComponentListener implements 
AjaxRequestTarget.IListener
+{
+   static final String ENCTYPE_URL_ENCODED = 
"application/x-www-form-urlencoded";
+
+   @Override
+   public void onBeforeRespond(final Map map, final 
AjaxRequestTarget target)
+   {
+   target.getPage().visitChildren(FormComponent.class, 
(IVisitor, Void>) (formComponent, visit) -> {
+   if (formComponent.isMultiPart())
+   {
+   Form form = formComponent.getForm();
+   boolean multiPart = form.isMultiPart();
+   String enctype = multiPart ? 
Form.ENCTYPE_MULTIPART_FORM_DATA : ENCTYPE_URL_ENCODED;
+   
target.appendJavaScript(String.format("Wicket.$('%s').form.enctype='%s'",
+   formComponent.getMarkupId(), 
enctype));
+   visit.stop();
+   }
+   });
+   }
+}
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 1f4df9d..9825038 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
@@ -758,8 +758,10 @@ public abstract class WebApplication extends Application
setSessionStoreProvider(HttpSessionStore::new);
setAjaxRequestTargetProvider(AjaxRequestHandler::new);
 
-   getAjaxRequestTargetListeners().add(new 
AjaxEnclosureListener());
-   
+   AjaxRequestTargetListenerCollection ajaxRequestTargetListeners 
= getAjaxRequestTargetListeners();
+   ajaxRequestTargetListeners.add(new AjaxEnclosureListener());
+   ajaxRequestTargetListeners.add(new 
MultipartFormComponentListener());
+
// Configure the app.
configure();
if (getConfigurationType() == 

[wicket] branch master updated (8f8ccea -> 866fefc)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git.


from 8f8ccea  Bump SLF4J to 2.0.0-alpha3
 new d22d154  WICKET-6914  Visibility change of "File Upload" via ajax 
causes "missing" form-data
 new e1930d2  Simplify JUnit assertions
 new 47cf4ff  WICKET-6914 Visibility change of "File Upload" via ajax 
causes "missing" form-data
 new 866fefc  Explicitly install OpenJDK 11 and Maven

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .travis.yml|  2 +-
 .../http/MultipartFormComponentListener.java   | 52 ++
 .../wicket/protocol/http/WebApplication.java   |  6 +-
 .../wicket/markup/html/form/FormMultiPartTest.java | 20 +++---
 .../wicket/markup/html/form/MultiPartFormPage.java |  4 +-
 .../http/MultipartFormComponentListenerBean.java}  | 63 ++---
 .../http/MultipartFormComponentListenerPage.html   | 17 +
 .../http/MultipartFormComponentListenerPage.java   | 80 ++
 .../http/MultipartFormComponentListenerTest.java   | 51 ++
 9 files changed, 239 insertions(+), 56 deletions(-)
 create mode 100644 
wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
 copy 
wicket-core/src/test/java/org/apache/wicket/{core/util/tester/apps_1/Book.java 
=> protocol/http/MultipartFormComponentListenerBean.java} (58%)
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.html
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.java
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java


[wicket] 04/04: Explicitly install OpenJDK 11 and Maven

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 866fefc7f81f2ac71c9cd52c1b9602af88405965
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 13:51:39 2021 +0300

Explicitly install OpenJDK 11 and Maven
---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 9ba78f6..927a3ff 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -31,7 +31,7 @@ cache:
 
 before_install:
   - lscpu
-  - sudo apt-get install -y chromium-browser fonts-ipafont-gothic 
fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf gconf-service 
libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 
libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 
libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 
libxi6 libxrandr2 libxrender1 libxss1 [...]
+  - sudo apt-get install -y openjdk-11-jdk maven chromium-browser 
fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst 
fonts-freefont-ttf gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 
libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 
libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 
libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr [...]
   - export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-${TRAVIS_CPU_ARCH}"
   - export PATH="$JAVA_HOME/bin:$PATH"
   - java -version


[wicket] 02/04: Simplify JUnit assertions

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit e1930d22df1796990990ce3f27ae4564e13d5d8c
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 12:12:22 2021 +0300

Simplify JUnit assertions

Non-functional change!

(cherry picked from commit 66b35ade4b3999025e58580bc683e7f7c32cafa9)
---
 .../wicket/markup/html/form/FormMultiPartTest.java   | 16 +---
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
index 31a62c3..dc6ad3e 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
@@ -17,6 +17,8 @@
 package org.apache.wicket.markup.html.form;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.wicket.util.tester.WicketTestCase;
 import org.junit.jupiter.api.Disabled;
@@ -39,7 +41,7 @@ class FormMultiPartTest extends WicketTestCase
 
assertEquals(0, page.asked);
 
-   assertEquals(true, page.form.isMultiPart());
+   assertTrue(page.form.isMultiPart());
}
 
@Test
@@ -50,17 +52,17 @@ class FormMultiPartTest extends WicketTestCase
page.multiPart = false;
tester.startPage(page);
assertEquals(1, page.asked);
-   assertEquals(false, page.form.isMultiPart());
+   assertFalse(page.form.isMultiPart());
 
page.multiPart = true;
tester.newFormTester("form").submit(page.button1);
assertEquals(2, page.asked);
-   assertEquals(true, page.form.isMultiPart());
+   assertTrue(page.form.isMultiPart());
 
page.multiPart = false;
tester.newFormTester("form").submit(page.button1);
assertEquals(3, page.asked);
-   assertEquals(false, page.form.isMultiPart());
+   assertFalse(page.form.isMultiPart());
}
 
@Test
@@ -71,16 +73,16 @@ class FormMultiPartTest extends WicketTestCase
page.multiPart = false;
tester.startPage(page);
assertEquals(1, page.asked);
-   assertEquals(false, page.form.isMultiPart());
+   assertFalse(page.form.isMultiPart());
 
page.multiPart = true;
tester.executeAjaxEvent(page.button1, "click");
assertEquals(2, page.asked);
-   assertEquals(true, page.form.isMultiPart());
+   assertTrue(page.form.isMultiPart());
 
page.multiPart = false;
tester.executeAjaxEvent(page.button1, "click");
assertEquals(3, page.asked);
-   assertEquals(false, page.form.isMultiPart());
+   assertFalse(page.form.isMultiPart());
}
 }


buildbot failure in on wicket-branch-8.x

2021-08-16 Thread buildbot
The Buildbot has detected a new failure on builder wicket-branch-8.x while 
building wicket. Full details are available at:
https://ci.apache.org/builders/wicket-branch-8.x/builds/244

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: asf945_ubuntu

Build Reason: The SingleBranchScheduler scheduler named 
'on-wicket-branch-8.x-commit' triggered this build
Build Source Stamp: [branch wicket-8.x] bb69ae455f5ab9e3213d1f31ef9267b18d97e675
Blamelist: Martin Tzvetanov Grigorov 

BUILD FAILED: failed compile

Sincerely,
 -The Buildbot





[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399670#comment-17399670
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit a0b2f62901985961e8573747ea5771d4f983d6ec in wicket's branch 
refs/heads/wicket-8.x from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=a0b2f62 ]

WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update test expectations.
FormComponent#isMultipart() is called now by MultipartFormComponentListener in 
Ajax requests

(cherry picked from commit f9c98737fb9ed798c9c8cb25e87c3f7f6e87bfb2)


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399671#comment-17399671
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit bb69ae455f5ab9e3213d1f31ef9267b18d97e675 in wicket's branch 
refs/heads/wicket-8.x from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=bb69ae4 ]

WICKET-6914 Update test to JUnit 4.x


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399669#comment-17399669
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit 8bc3614d67bd5b2aad204a4ec06136dc8df3fcf7 in wicket's branch 
refs/heads/wicket-8.x from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8bc3614 ]

WICKET-6914  Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update the 's enctype whenever a multipart form component is repainted 
via Ajax

(cherry picked from commit 06e9f53dbe79a11bf6512263351edc9481dd5619)


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] 02/05: WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 8bc3614d67bd5b2aad204a4ec06136dc8df3fcf7
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 11:43:36 2021 +0300

WICKET-6914  Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update the 's enctype whenever a multipart form component is 
repainted via Ajax

(cherry picked from commit 06e9f53dbe79a11bf6512263351edc9481dd5619)
---
 .../http/MultipartFormComponentListener.java   | 52 ++
 .../wicket/protocol/http/WebApplication.java   |  4 +-
 .../http/MultipartFormComponentListenerBean.java   | 58 
 .../http/MultipartFormComponentListenerPage.html   | 17 +
 .../http/MultipartFormComponentListenerPage.java   | 80 ++
 .../http/MultipartFormComponentListenerTest.java   | 51 ++
 6 files changed, 261 insertions(+), 1 deletion(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
new file mode 100644
index 000..f5572ed
--- /dev/null
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
@@ -0,0 +1,52 @@
+/*
+ * 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.protocol.http;
+
+import java.util.Map;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.FormComponent;
+import org.apache.wicket.util.visit.IVisitor;
+
+/**
+ * This listener updates the {@link Form}'s enctype whenever a 
multipart {@link FormComponent}
+ * is added to the {@code AjaxRequestTarget}.
+ * This is needed because the multipart form component may change its 
visibility/enablement and thus
+ * change the multipart-ness of the whole form.
+ */
+public class MultipartFormComponentListener implements 
AjaxRequestTarget.IListener
+{
+   static final String ENCTYPE_URL_ENCODED = 
"application/x-www-form-urlencoded";
+
+   @Override
+   public void onBeforeRespond(final Map map, final 
AjaxRequestTarget target)
+   {
+   target.getPage().visitChildren(FormComponent.class, 
(IVisitor, Void>) (formComponent, visit) -> {
+   if (formComponent.isMultiPart())
+   {
+   Form form = formComponent.getForm();
+   boolean multiPart = form.isMultiPart();
+   String enctype = multiPart ? 
Form.ENCTYPE_MULTIPART_FORM_DATA : ENCTYPE_URL_ENCODED;
+   
target.appendJavaScript(String.format("Wicket.$('%s').form.enctype='%s'",
+   formComponent.getMarkupId(), 
enctype));
+   visit.stop();
+   }
+   });
+   }
+}
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 503f793..ddaf733 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
@@ -757,7 +757,9 @@ public abstract class WebApplication extends Application
setSessionStoreProvider(HttpSessionStore::new);
setAjaxRequestTargetProvider(AjaxRequestHandler::new);
 
-   getAjaxRequestTargetListeners().add(new 
AjaxEnclosureListener());
+   AjaxRequestTargetListenerCollection ajaxRequestTargetListeners 
= getAjaxRequestTargetListeners();
+   ajaxRequestTargetListeners.add(new AjaxEnclosureListener());
+   ajaxRequestTargetListeners.add(new 
MultipartFormComponentListener());
 
// Configure the app.
configure();
diff --git 

[wicket] 05/05: WICKET-6914 Update test to JUnit 4.x

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit bb69ae455f5ab9e3213d1f31ef9267b18d97e675
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 13:47:20 2021 +0300

WICKET-6914 Update test to JUnit 4.x
---
 .../wicket/protocol/http/MultipartFormComponentListenerTest.java | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java
index b5cbf26..cb75df7 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java
@@ -16,21 +16,18 @@
  */
 package org.apache.wicket.protocol.http;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.util.tester.TagTester;
 import org.apache.wicket.util.tester.WicketTestCase;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
 
 /**
  * https://issues.apache.org/jira/browse/WICKET-6914
  */
-class MultipartFormComponentListenerTest extends WicketTestCase
+public class MultipartFormComponentListenerTest extends WicketTestCase
 {
 @Test
-void updateFormEnctype()
+public void updateFormEnctype()
 {
 tester.startPage(MultipartFormComponentListenerPage.class);
 tester.assertRenderedPage(MultipartFormComponentListenerPage.class);


[wicket] 03/05: Simplify JUnit assertions

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit cc34ecf0118ff2adfec04de53db817859ec7d37b
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 12:12:22 2021 +0300

Simplify JUnit assertions

Non-functional change!

(cherry picked from commit 66b35ade4b3999025e58580bc683e7f7c32cafa9)
---
 .../wicket/markup/html/form/FormMultiPartTest.java | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
index cb8effb..c6aebe4 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
@@ -34,7 +34,7 @@ public class FormMultiPartTest extends WicketTestCase
 
assertEquals(0, page.asked);
 
-   assertEquals(true, page.form.isMultiPart());
+   assertTrue(page.form.isMultiPart());
}
 
@Test
@@ -45,17 +45,17 @@ public class FormMultiPartTest extends WicketTestCase
page.multiPart = false;
tester.startPage(page);
assertEquals(1, page.asked);
-   assertEquals(false, page.form.isMultiPart());
-   
+   assertFalse(page.form.isMultiPart());
+
page.multiPart = true;
tester.newFormTester("form").submit(page.button1);
assertEquals(2, page.asked);
-   assertEquals(true, page.form.isMultiPart());
-   
+   assertTrue(page.form.isMultiPart());
+
page.multiPart = false;
tester.newFormTester("form").submit(page.button1);
assertEquals(3, page.asked);
-   assertEquals(false, page.form.isMultiPart());   
+   assertFalse(page.form.isMultiPart());
}

@Test
@@ -66,16 +66,16 @@ public class FormMultiPartTest extends WicketTestCase
page.multiPart = false;
tester.startPage(page);
assertEquals(1, page.asked);
-   assertEquals(false, page.form.isMultiPart());
-   
+   assertFalse(page.form.isMultiPart());
+
page.multiPart = true;
tester.executeAjaxEvent(page.button1, "click");
assertEquals(2, page.asked);
-   assertEquals(true, page.form.isMultiPart());
-   
+   assertTrue(page.form.isMultiPart());
+
page.multiPart = false;
tester.executeAjaxEvent(page.button1, "click");
assertEquals(3, page.asked);
-   assertEquals(false, page.form.isMultiPart());   
+   assertFalse(page.form.isMultiPart());
}
 }


[wicket] branch wicket-8.x updated (db80c7e -> bb69ae4)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a change to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git.


from db80c7e  WICKET-6908 adjusted test to junit 4
 new 3b7dd47  INFRA-22136 Replace bintray.io with apache.jfrog.io
 new 8bc3614  WICKET-6914  Visibility change of "File Upload" via ajax 
causes "missing" form-data
 new cc34ecf  Simplify JUnit assertions
 new a0b2f62  WICKET-6914 Visibility change of "File Upload" via ajax 
causes "missing" form-data
 new bb69ae4  WICKET-6914 Update test to JUnit 4.x

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../http/MultipartFormComponentListener.java   | 52 ++
 .../wicket/protocol/http/WebApplication.java   |  4 +-
 .../wicket/markup/html/form/FormMultiPartTest.java | 26 +++
 .../wicket/markup/html/form/MultiPartFormPage.java |  4 +-
 .../http/MultipartFormComponentListenerBean.java}  | 63 ++---
 .../http/MultipartFormComponentListenerPage.html   | 17 +
 .../http/MultipartFormComponentListenerPage.java   | 80 ++
 .../http/MultipartFormComponentListenerTest.java   | 48 +
 wicket-examples/pom.xml|  2 +-
 9 files changed, 237 insertions(+), 59 deletions(-)
 create mode 100644 
wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
 copy wicket-core/src/test/java/org/apache/wicket/{util/tester/apps_1/Book.java 
=> protocol/http/MultipartFormComponentListenerBean.java} (58%)
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.html
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.java
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java


[wicket] 01/05: INFRA-22136 Replace bintray.io with apache.jfrog.io

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 3b7dd47d6419e6c06735dac7b6e94fea74987297
Author: Martin Tzvetanov Grigorov 
AuthorDate: Fri Jul 23 09:20:54 2021 +0300

INFRA-22136 Replace bintray.io with apache.jfrog.io

(cherry picked from commit e3958b25642b90dbe011419a5aa0e489ce7774b3)
---
 wicket-examples/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wicket-examples/pom.xml b/wicket-examples/pom.xml
index 1af1378..b44d224 100644
--- a/wicket-examples/pom.xml
+++ b/wicket-examples/pom.xml
@@ -324,7 +324,7 @@

dockerfile-maven-plugin

${dockerfile-maven-plugin.version}

-   
apache-docker-wicket-docker.bintray.io/wicket-examples
+   
apache.jfrog.io/wicket-docker/wicket-examples
LATEST-8




[wicket] 04/05: WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit a0b2f62901985961e8573747ea5771d4f983d6ec
Author: Martin Tzvetanov Grigorov 
AuthorDate: Mon Aug 16 12:17:21 2021 +0300

WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update test expectations.
FormComponent#isMultipart() is called now by MultipartFormComponentListener 
in Ajax requests

(cherry picked from commit f9c98737fb9ed798c9c8cb25e87c3f7f6e87bfb2)
---
 .../java/org/apache/wicket/markup/html/form/FormMultiPartTest.java| 4 ++--
 .../java/org/apache/wicket/markup/html/form/MultiPartFormPage.java| 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
index c6aebe4..c7cdb8e 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormMultiPartTest.java
@@ -70,12 +70,12 @@ public class FormMultiPartTest extends WicketTestCase
 
page.multiPart = true;
tester.executeAjaxEvent(page.button1, "click");
-   assertEquals(2, page.asked);
+   assertEquals(3, page.asked);
assertTrue(page.form.isMultiPart());
 
page.multiPart = false;
tester.executeAjaxEvent(page.button1, "click");
-   assertEquals(3, page.asked);
+   assertEquals(5, page.asked);
assertFalse(page.form.isMultiPart());
}
 }
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
index e354ff9..5891e13 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/MultiPartFormPage.java
@@ -49,7 +49,7 @@ public class MultiPartFormPage extends WebPage
form = new Form("form");
add(form.setOutputMarkupId(true));

-   input = new TextField("input", Model.of(""))
+   input = new TextField<>("input", Model.of(""))
{
@Override
public boolean isMultiPart() {
@@ -80,4 +80,4 @@ public class MultiPartFormPage extends WebPage
};
form.add(button2);
}
-}
\ No newline at end of file
+}


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399624#comment-17399624
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit f9c98737fb9ed798c9c8cb25e87c3f7f6e87bfb2 in wicket's branch 
refs/heads/wicket-9.x from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=f9c9873 ]

WICKET-6914 Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update test expectations.
FormComponent#isMultipart() is called now by MultipartFormComponentListener in 
Ajax requests


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] branch wicket-9.x updated (06e9f53 -> f9c9873)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a change to branch wicket-9.x
in repository https://gitbox.apache.org/repos/asf/wicket.git.


from 06e9f53  WICKET-6914  Visibility change of "File Upload" via ajax 
causes "missing" form-data
 add 66b35ad  Simplify JUnit assertions
 add f9c9873  WICKET-6914 Visibility change of "File Upload" via ajax 
causes "missing" form-data

No new revisions were added by this update.

Summary of changes:
 .../wicket/markup/html/form/FormMultiPartTest.java   | 20 +++-
 .../wicket/markup/html/form/MultiPartFormPage.java   |  4 ++--
 2 files changed, 13 insertions(+), 11 deletions(-)


[jira] [Commented] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17399606#comment-17399606
 ] 

ASF subversion and git services commented on WICKET-6914:
-

Commit 06e9f53dbe79a11bf6512263351edc9481dd5619 in wicket's branch 
refs/heads/wicket-9.x from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=06e9f53 ]

WICKET-6914  Visibility change of "File Upload" via ajax causes "missing" 
form-data

Update the 's enctype whenever a multipart form component is repainted 
via Ajax


> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[wicket] branch wicket-9.x updated (b1460b7 -> 06e9f53)

2021-08-16 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a change to branch wicket-9.x
in repository https://gitbox.apache.org/repos/asf/wicket.git.


from b1460b7  Fix a typo in javadoc
 add 06e9f53  WICKET-6914  Visibility change of "File Upload" via ajax 
causes "missing" form-data

No new revisions were added by this update.

Summary of changes:
 .../http/MultipartFormComponentListener.java   | 52 ++
 .../wicket/protocol/http/WebApplication.java   |  6 +-
 .../http/MultipartFormComponentListenerBean.java}  | 63 ++---
 .../http/MultipartFormComponentListenerPage.html   | 17 +
 .../http/MultipartFormComponentListenerPage.java   | 80 ++
 .../http/MultipartFormComponentListenerTest.java   | 51 ++
 6 files changed, 225 insertions(+), 44 deletions(-)
 create mode 100644 
wicket-core/src/main/java/org/apache/wicket/protocol/http/MultipartFormComponentListener.java
 copy 
wicket-core/src/test/java/org/apache/wicket/{core/util/tester/apps_1/Book.java 
=> protocol/http/MultipartFormComponentListenerBean.java} (58%)
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.html
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerPage.java
 create mode 100644 
wicket-core/src/test/java/org/apache/wicket/protocol/http/MultipartFormComponentListenerTest.java


[jira] [Assigned] (WICKET-6914) Visibility change of "File Upload" via ajax causes "missing" form-data

2021-08-16 Thread Martin Tzvetanov Grigorov (Jira)


 [ 
https://issues.apache.org/jira/browse/WICKET-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Tzvetanov Grigorov reassigned WICKET-6914:
-

Assignee: Martin Tzvetanov Grigorov

> Visibility change of "File Upload" via ajax causes "missing" form-data
> --
>
> Key: WICKET-6914
> URL: https://issues.apache.org/jira/browse/WICKET-6914
> Project: Wicket
>  Issue Type: Bug
>Affects Versions: 9.4.0
> Environment: Tested with Tomcat 8.5 and Firefox 90.0.2
>Reporter: Sebastian Frömel
>Assignee: Martin Tzvetanov Grigorov
>Priority: Major
> Attachments: WICKET-6914.zip
>
>
> I am not 100% sure this could be counted towards a bug.
>  
> Hello reader :)
> We have have a file upload component within a Form. Via OnChangeAjaxBehavior 
> we set the visibility for this file upload to false and put the file upload 
> component into the target.add();
> This of course removes the file upload form the UI, as expected. But after 
> pressing the submit button (no ajax), it will complain that our required text 
> fields are not filled. But they were. They are "nulled" after the request.
> Side note: TextField has no value on the UI after submit. TextArea seems to 
> keep its value, but both are processed/validate "empty", during their 
> required-validation.
>  
> We think we found the possible issue.
> form + file upload = multipart form
> form - file upload = "normal form".
> It looks like that removing the file upload component via ajax, the form in 
> the browser stays multipart, but wicket (probably) expects a "normal" form.
> Since we do not want to repaint the whole form at this point, since we do not 
> send the data via ajax to the backend, we simply keep now the file upload 
> visible, until it makes are workflow problem big enough to be solved another 
> way.
> Do you think this is a bug, or just "us" using wicket the wrong way?
>  
> Best,
> Sebastian
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)