[jira] Updated: (WICKET-2440) ReuseIfModelObjectsEqualStrategy - Reuse Strategy for repeaters based on model objects

2009-08-27 Thread Dmitry Zatselyapin (JIRA)

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

Dmitry Zatselyapin updated WICKET-2440:
---

Attachment: ReuseIfModelObjectsEqualStrategy.java

based on version  3.5

> ReuseIfModelObjectsEqualStrategy - Reuse Strategy for repeaters based on 
> model objects
> --
>
> Key: WICKET-2440
> URL: https://issues.apache.org/jira/browse/WICKET-2440
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
> Environment: generic 
>Reporter: Dmitry Zatselyapin
>Priority: Minor
> Attachments: ReuseIfModelObjectsEqualStrategy.java
>
>
> Add new reuse strategy that allows reuse models if model objects have not 
> changed. The existing ReuseIfModelsEqualStrategy can also be used to 
> accomplish this, you must override the model's equals/hashcode for proper 
> implementation. Using ReuseIfModelObjectsEqualStrategy will require provide 
> equals/hashcode methods only for model objects.  Models themselves do not 
> have to be changed.  There are only tiny changes required to the 
> ReuseIfModelsEqualStrategy to create this new strategy

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (WICKET-2440) ReuseIfModelObjectsEqualStrategy - Reuse Strategy for repeaters based on model objects

2009-08-27 Thread Dmitry Zatselyapin (JIRA)
ReuseIfModelObjectsEqualStrategy - Reuse Strategy for repeaters based on model 
objects
--

 Key: WICKET-2440
 URL: https://issues.apache.org/jira/browse/WICKET-2440
 Project: Wicket
  Issue Type: Improvement
  Components: wicket
 Environment: generic 
Reporter: Dmitry Zatselyapin
Priority: Minor


Add new reuse strategy that allows reuse models if model objects have not 
changed. The existing ReuseIfModelsEqualStrategy can also be used to accomplish 
this, you must override the model's equals/hashcode for proper implementation. 
Using ReuseIfModelObjectsEqualStrategy will require provide equals/hashcode 
methods only for model objects.  Models themselves do not have to be changed.  
There are only tiny changes required to the ReuseIfModelsEqualStrategy to 
create this new strategy

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (WICKET-2416) Exception with EJB Session Bean

2009-08-27 Thread bernard (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-2416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748596#action_12748596
 ] 

bernard commented on WICKET-2416:
-

The test case also fails immediately on a virtual remote Debian Linux server. 
The software on this Linux installation is of different origin, no NetBeans 
environment, pure server.
The GlassFish version is v2.1, as on the Windows computer.

I would not like to restrict the test case fail criterion to failure on 
pressing the browser back button. Please click through the pages. The test case 
fails on pressing the "Continue" button. There are additional failure scenarios 
as Igor pointed out, and I see them too, but this test case does not focus on 
them.


> Exception with EJB Session Bean
> ---
>
> Key: WICKET-2416
> URL: https://issues.apache.org/jira/browse/WICKET-2416
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.4.0
> Environment: Java 1.6.
> Wicket Java EE 1.1
>Reporter: bernard
>Priority: Minor
> Attachments: testcase.zip
>
>
> The attached testcase gets an exception
> java.io.InvalidClassException: test.session.TestSessionLocal; could not 
> resolve class [test.session.TestSessionLocal] when deserializing proxy
> at 
> org.apache.wicket.proxy.LazyInitProxyFactory$ProxyReplacement.readResolve(LazyInitProxyFactory.java:236)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> when the user clicks through it, starting from index.html.
> I can't really make any progress without a fix, or without knowing what I am 
> doing wrong to get this.
> The testcase will work out of the box with NetBeans 6.7.1 and Server: 
> GlassFish V2 which is bundled with it.
> I don't know what really causes this. It is interesting that the tescase runs 
> ok when 
> two lines are removed from Page2.java.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (WICKET-2439) Improve MixedParamUrlCodingStrategy, introduce Hybrid

2009-08-27 Thread Erik van Oosten (JIRA)

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

Erik van Oosten updated WICKET-2439:


Attachment: WICKET-2439.patch

Please apply to 1.4 branch, possible also to 1.5 branch if that is still 
applicable.

> Improve MixedParamUrlCodingStrategy, introduce Hybrid
> -
>
> Key: WICKET-2439
> URL: https://issues.apache.org/jira/browse/WICKET-2439
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
>Affects Versions: 1.4.1
>Reporter: Erik van Oosten
> Fix For: 1.4.2
>
> Attachments: WICKET-2439.patch
>
>
> The MixedParamUrlCodingStrategy can be improved.
> The current form has the following shortcomings:
> - it just fails when something is added to the URL, solution: add the option 
> to ignore the added parts (in fact I made this the default)
> - when something is added to the URL, the message is not very clear, 
> solution: rewrite message and add more information
> - it does not accept non-String parameter values, solution: use 
> String.valueOf(paramValue)
> In addition the patch adds a Hybrid variant.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (WICKET-2439) Improve MixedParamUrlCodingStrategy, introduce Hybrid

2009-08-27 Thread Erik van Oosten (JIRA)
Improve MixedParamUrlCodingStrategy, introduce Hybrid
-

 Key: WICKET-2439
 URL: https://issues.apache.org/jira/browse/WICKET-2439
 Project: Wicket
  Issue Type: Improvement
  Components: wicket
Affects Versions: 1.4.1
Reporter: Erik van Oosten
 Fix For: 1.4.2


The MixedParamUrlCodingStrategy can be improved.

The current form has the following shortcomings:
- it just fails when something is added to the URL, solution: add the option to 
ignore the added parts (in fact I made this the default)
- when something is added to the URL, the message is not very clear, solution: 
rewrite message and add more information
- it does not accept non-String parameter values, solution: use 
String.valueOf(paramValue)

In addition the patch adds a Hybrid variant.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (WICKET-2416) Exception with EJB Session Bean

2009-08-27 Thread Loren (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-2416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748446#action_12748446
 ] 

Loren commented on WICKET-2416:
---

I have compiled and run this test case using Wicket 1.4.1 and Glassfish V2.1 
without error, using the back button hasn't caused any serialization problems. 
To compile the program I had to remove the libraries Bernard included and add 
the following:

For Test-ejb - just the Glassfish 2.1 library that is added when you associate 
the app with your application server in NetBeans and JDK 1.6.  Nothing else was 
required.

For Test-war -
Test-ejb
cglib-nodep-2.1_3.jar - I forget if this is required by wicket's logging, or 
java-ee-contrib, but it is needed.
wicket-extensions-1.4.1.jar
wicket-ioc-1.4.1.jar
wicket-contrib-javaee-1.1.jar
The Glassfish 2.1 library
JDK 1.6

To run Wicket with Glassfish you do need to add slf4j-jdk14.jar and 
slf4j-api.jar to /opt/glassfish/lib, because of some issue I've half forgotten 
with when the logging modules get loaded.  Igor, perhaps this will resolve your 
classloader issue?

I've been injecting ejb's into webApplications, pages, panels, and models with 
wicket-contrib-javaee 1.1 and Wicket 1.3 without any issues for nearly a year, 
it totally works.  Many thanks to the Wicket team, Filippo Diotalevi, and Maris 
Orbidans for making it go; please please don't discount bugs just because they 
involve EJB3, it's really not half bad, and some of us need to put big 
enterprisey technologies somewhere in our design specs for very silly, but, 
none the less real, reasons.

-
Loren

> Exception with EJB Session Bean
> ---
>
> Key: WICKET-2416
> URL: https://issues.apache.org/jira/browse/WICKET-2416
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.4.0
> Environment: Java 1.6.
> Wicket Java EE 1.1
>Reporter: bernard
>Priority: Minor
> Attachments: testcase.zip
>
>
> The attached testcase gets an exception
> java.io.InvalidClassException: test.session.TestSessionLocal; could not 
> resolve class [test.session.TestSessionLocal] when deserializing proxy
> at 
> org.apache.wicket.proxy.LazyInitProxyFactory$ProxyReplacement.readResolve(LazyInitProxyFactory.java:236)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> when the user clicks through it, starting from index.html.
> I can't really make any progress without a fix, or without knowing what I am 
> doing wrong to get this.
> The testcase will work out of the box with NetBeans 6.7.1 and Server: 
> GlassFish V2 which is bundled with it.
> I don't know what really causes this. It is interesting that the tescase runs 
> ok when 
> two lines are removed from Page2.java.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (WICKET-2437) Ajax requests are called serially using only one channel (Channel busy - postponing...)

2009-08-27 Thread Rodrigo De Castro (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748418#action_12748418
 ] 

Rodrigo De Castro commented on WICKET-2437:
---

So, is there any  plan to make pages thread-safe or does it require an 
architecture change? Otherwise, it seems to defeat the whole purpose of making 
things async with Ajax. I would be interested in trying to fix that, so please 
let me know how I can help.

In the meanwhile, should I turn them into individual pages and use an external 
Ajax library to load them in async way? What would be your suggestion if I have 
an application with multiple AjaxLazyLoadPanel and I need to paralyze the 
requests?

> Ajax requests are called serially using only one channel (Channel busy - 
> postponing...)
> ---
>
> Key: WICKET-2437
> URL: https://issues.apache.org/jira/browse/WICKET-2437
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket, wicket-extensions
>Affects Versions: 1.4.0
>Reporter: Rodrigo De Castro
>Assignee: Matej Knopp
>
> I have several lazy load panel that load DynamicImageResource objects. They 
> are always loaded in serial mode. These are the debug messages:
> INFO: Initiating Ajax GET request on 
> ../?wicket:interface=:3:tabpanel:panel:app_graph_panel:1:graph::IBehaviorListener:0:1&random=0.7774967316771
> INFO: Invoking pre-call handler(s)...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Received ajax response (2665 characters)
> After checking the code, it seems that every Ajax code in Wicket does not 
> specify the channel when calling wicketAjaxGet. By doing that, all the 
> requests end up in the default queue, being executed serially.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (WICKET-2437) Ajax requests are called serially using only one channel (Channel busy - postponing...)

2009-08-27 Thread Matej Knopp (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748408#action_12748408
 ] 

Matej Knopp commented on WICKET-2437:
-

There is no way to process parallel requests for a single page without locking. 
Pages are not thread safe.

> Ajax requests are called serially using only one channel (Channel busy - 
> postponing...)
> ---
>
> Key: WICKET-2437
> URL: https://issues.apache.org/jira/browse/WICKET-2437
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket, wicket-extensions
>Affects Versions: 1.4.0
>Reporter: Rodrigo De Castro
>Assignee: Matej Knopp
>
> I have several lazy load panel that load DynamicImageResource objects. They 
> are always loaded in serial mode. These are the debug messages:
> INFO: Initiating Ajax GET request on 
> ../?wicket:interface=:3:tabpanel:panel:app_graph_panel:1:graph::IBehaviorListener:0:1&random=0.7774967316771
> INFO: Invoking pre-call handler(s)...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Received ajax response (2665 characters)
> After checking the code, it seems that every Ajax code in Wicket does not 
> specify the channel when calling wicketAjaxGet. By doing that, all the 
> requests end up in the default queue, being executed serially.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (WICKET-2437) Ajax requests are called serially using only one channel (Channel busy - postponing...)

2009-08-27 Thread Rodrigo De Castro (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748393#action_12748393
 ] 

Rodrigo De Castro commented on WICKET-2437:
---

Yesterday I played a bit with the client side specifying the channel name in 
the AjaxLazyLoadPanel class and saw that using multiple channel does not even 
work. Some panels are loaded, but others never load, eventually leading to an 
exception. For this reason I thought there may be something else that needed to 
be changed.

Do they have to be serialized on the server? Is that because of the current 
implementation? I guess this may be a deal-breaker if Wicket does not have any 
plans to allow concurrent Ajax requests. If you have any suggestion where to 
begin, I can try to take a look.

> Ajax requests are called serially using only one channel (Channel busy - 
> postponing...)
> ---
>
> Key: WICKET-2437
> URL: https://issues.apache.org/jira/browse/WICKET-2437
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket, wicket-extensions
>Affects Versions: 1.4.0
>Reporter: Rodrigo De Castro
>Assignee: Matej Knopp
>
> I have several lazy load panel that load DynamicImageResource objects. They 
> are always loaded in serial mode. These are the debug messages:
> INFO: Initiating Ajax GET request on 
> ../?wicket:interface=:3:tabpanel:panel:app_graph_panel:1:graph::IBehaviorListener:0:1&random=0.7774967316771
> INFO: Invoking pre-call handler(s)...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Received ajax response (2665 characters)
> After checking the code, it seems that every Ajax code in Wicket does not 
> specify the channel when calling wicketAjaxGet. By doing that, all the 
> requests end up in the default queue, being executed serially.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (WICKET-2437) Ajax requests are called serially using only one channel (Channel busy - postponing...)

2009-08-27 Thread Matej Knopp (JIRA)

[ 
https://issues.apache.org/jira/browse/WICKET-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748293#action_12748293
 ] 

Matej Knopp commented on WICKET-2437:
-

It does not matter if the requests on client are fired in parallel because we 
are locking on the pagemap so they will be serialized on server. They have to 
be. So the only "benefit" of parallel request is that the execution order will 
be non-deterministic.  

> Ajax requests are called serially using only one channel (Channel busy - 
> postponing...)
> ---
>
> Key: WICKET-2437
> URL: https://issues.apache.org/jira/browse/WICKET-2437
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket, wicket-extensions
>Affects Versions: 1.4.0
>Reporter: Rodrigo De Castro
>Assignee: Matej Knopp
>
> I have several lazy load panel that load DynamicImageResource objects. They 
> are always loaded in serial mode. These are the debug messages:
> INFO: Initiating Ajax GET request on 
> ../?wicket:interface=:3:tabpanel:panel:app_graph_panel:1:graph::IBehaviorListener:0:1&random=0.7774967316771
> INFO: Invoking pre-call handler(s)...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Received ajax response (2665 characters)
> After checking the code, it seems that every Ajax code in Wicket does not 
> specify the channel when calling wicketAjaxGet. By doing that, all the 
> requests end up in the default queue, being executed serially.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.