[jira] Commented: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.

2008-06-19 Thread Bartosz Owczarek (JIRA)

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

Bartosz Owczarek commented on WICKET-1707:
--

I've tried replacing entire table event its wrapping container (div) and 
nothing helps :(.

> Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.
> --
>
> Key: WICKET-1707
> URL: https://issues.apache.org/jira/browse/WICKET-1707
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
> Environment: IE 7.0
>Reporter: Bartosz Owczarek
>Assignee: Matej Knopp
>
> Hi.
> Firstly I'd like to say that I'm using wicket framework in my company in 
> 'e-commerce' system for Business Users. Its main functionality is ordering 
> items available in stores by business users. Items are displayed in a 
> customized table (we're using DataView component for it). This table is a 
> little bit complicated from DOM point of view. Some columns contain images, 
> input components, and different css styles for each row or even column (that 
> are added dynamically in javacode using AttributeModifier). There's about 22 
> columns in table.
> Moreover table is paginable and number of items per page can be change by 
> filter on the web page (default is 50). Paging table is done by our 
> customized paging navigator that uses AjaxEventBeahvior. In other words table 
> is refreshed using build-in ajax provided with wicket. Whati is more only 
>  tag with its content is refreshed by ajax request (not whole ).
> After implementation I've done some testing so here are results...
> Table is refreshed very quickly in FireFox 3 by wicket-ajax.js after 
> receiving response but there is a huge performance bottleneck with refreshing 
> it in IE 7.0.I profiled whole wicket-ajax.js in order to find this 
> bottleneck. It appears that replacing outer html in IE takes about 4 seconds 
> (druing which IE freezes). It's not acceptable. I found that 
> Wicket.replaceOuterHtmlIE() method takes around 3.7seconds! That's when only 
> 50 items in table are displayed!. If we change items per page to greater 
> number then it takes much more time. When I commented body of this function, 
> IE doesn't freeze and performance is very good, but content that comes with 
> ajax response is not refreshed in browser, which is obvious. 
> Then I tried to use jQuery(..).replaceWith() function in 
> Wicket.replaceOuterHtmlIE() whereas rest of its body was commented. It is 
> faster than default Wicket.replaceOuterHtmlIE() implementation. It takes 
> about 1.7 second to render response in browser but of course it doesn't do 
> all things as default Wicket.replaceOuterHtmlIE() implementation does (i.e. 
> default implementation runs embedded javascripts in 

[jira] Issue Comment Edited: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.

2008-06-19 Thread Bartosz Owczarek (JIRA)

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

ojejku edited comment on WICKET-1707 at 6/19/08 11:13 PM:


I've tried replacing entire table even its wrapping container (div) and nothing 
helps :(.

  was (Author: ojejku):
I've tried replacing entire table event its wrapping container (div) and 
nothing helps :(.
  
> Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.
> --
>
> Key: WICKET-1707
> URL: https://issues.apache.org/jira/browse/WICKET-1707
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
> Environment: IE 7.0
>Reporter: Bartosz Owczarek
>Assignee: Matej Knopp
>
> Hi.
> Firstly I'd like to say that I'm using wicket framework in my company in 
> 'e-commerce' system for Business Users. Its main functionality is ordering 
> items available in stores by business users. Items are displayed in a 
> customized table (we're using DataView component for it). This table is a 
> little bit complicated from DOM point of view. Some columns contain images, 
> input components, and different css styles for each row or even column (that 
> are added dynamically in javacode using AttributeModifier). There's about 22 
> columns in table.
> Moreover table is paginable and number of items per page can be change by 
> filter on the web page (default is 50). Paging table is done by our 
> customized paging navigator that uses AjaxEventBeahvior. In other words table 
> is refreshed using build-in ajax provided with wicket. Whati is more only 
>  tag with its content is refreshed by ajax request (not whole ).
> After implementation I've done some testing so here are results...
> Table is refreshed very quickly in FireFox 3 by wicket-ajax.js after 
> receiving response but there is a huge performance bottleneck with refreshing 
> it in IE 7.0.I profiled whole wicket-ajax.js in order to find this 
> bottleneck. It appears that replacing outer html in IE takes about 4 seconds 
> (druing which IE freezes). It's not acceptable. I found that 
> Wicket.replaceOuterHtmlIE() method takes around 3.7seconds! That's when only 
> 50 items in table are displayed!. If we change items per page to greater 
> number then it takes much more time. When I commented body of this function, 
> IE doesn't freeze and performance is very good, but content that comes with 
> ajax response is not refreshed in browser, which is obvious. 
> Then I tried to use jQuery(..).replaceWith() function in 
> Wicket.replaceOuterHtmlIE() whereas rest of its body was commented. It is 
> faster than default Wicket.replaceOuterHtmlIE() implementation. It takes 
> about 1.7 second to render response in browser but of course it doesn't do 
> all things as default Wicket.replaceOuterHtmlIE() implementation does (i.e. 
> default implementation runs embedded javascripts in 

svn commit: r669610 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 11:15:14 2008
New Revision: 669610

URL: http://svn.apache.org/viewvc?rev=669610&view=rev
Log:
clean up for WICKET-1706

Modified:

wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java?rev=669610&r1=669609&r2=669610&view=diff
==
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
 Thu Jun 19 11:15:14 2008
@@ -96,9 +96,16 @@
 
try
{
-   // FIXME figure out what to do here. if the 
object cannot be converted to the type
-   // then either it becomes null or 
classcastexception. see WICKET-1706. */
-   return (X)Objects.convertValue(value, theType);
+   Object converted = Objects.convertValue(value, 
theType);
+   if 
(theType.isAssignableFrom(converted.getClass()))
+   {
+   return theType.cast(converted);
+   }
+   else
+   {
+   throw new ConversionException("Could 
not convert value: " + value +
+   " to type: " + 
theType.getName() + "(Could not find compatible 
converter).").setSourceValue(value);
+   }
}
catch (Exception e)
{




[jira] Resolved: (WICKET-1706) org.apache.wicket.util.lang.Objects.convertValue returns null if it cannot convert the value

2008-06-19 Thread Igor Vaynberg (JIRA)

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

Igor Vaynberg resolved WICKET-1706.
---

   Resolution: Fixed
Fix Version/s: 1.4-M3
   1.3.4

> org.apache.wicket.util.lang.Objects.convertValue returns null if it cannot 
> convert the value
> 
>
> Key: WICKET-1706
> URL: https://issues.apache.org/jira/browse/WICKET-1706
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.3.3, 1.4-M2
> Environment: any
>Reporter: Mika Salminen
>Assignee: Igor Vaynberg
>Priority: Minor
> Fix For: 1.3.4, 1.4-M3
>
>
> In the javadoc comment of the method it says that this method should return 
> the value given as parameter if the value cannot be converted to the given 
> type, but actually it returns null if  it cannot convert the  value. 
> I had a problem with a TextField which had a model value of type 
> java.io.Serializable and I had unfortunately not defined a special converter 
> for the text field so it used 
> org.apache.wicket.util.convert.ConverterLocator.DefaultConverter.convertToObject
>  to convert to the object type. convertToObject uses Objects.convertValue so 
> whenever model object was updated it was set to null. When retrieved from the 
> model, model object was properly shown in the TextField so I had no idea why 
> the value could not be properly setted but only getted.
> In many cases it would probably help if the Objects.convertValue did what it 
> promises in javadoc (returns the value unconverted), but how about throwing 
> exception (at some method) if the converter does not know how to convert some 
> kind of objects? This would make it a lot easier to spot the kind of mistakes 
> I had made.

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



svn commit: r669582 - in /wicket/trunk/wicket/src/main/java/org/apache/wicket/util: convert/ConverterLocator.java lang/Objects.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 10:29:25 2008
New Revision: 669582

URL: http://svn.apache.org/viewvc?rev=669582&view=rev
Log:
WICKET-1706

Modified:

wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java?rev=669582&r1=669581&r2=669582&view=diff
==
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/ConverterLocator.java
 Thu Jun 19 10:29:25 2008
@@ -96,7 +96,9 @@
 
try
{
-   return Objects.convertValue(value, theType);
+   // FIXME figure out what to do here. if the 
object cannot be converted to the type
+   // then either it becomes null or 
classcastexception. see WICKET-1706. */
+   return (X)Objects.convertValue(value, theType);
}
catch (Exception e)
{
@@ -115,7 +117,7 @@
return "";
}
 
-   return Objects.convertValue(value, String.class);
+   return (String)Objects.convertValue(value, 
String.class);
}
}
 

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java?rev=669582&r1=669581&r2=669582&view=diff
==
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java 
Thu Jun 19 10:29:25 2008
@@ -621,9 +621,6 @@
 * This method also detects when arrays are being converted and 
converts the components of one
 * array to the type of the other.
 * 
-* @param 
-*type to convert to
-* 
 * @param value
 *an object to be converted to the given type
 * @param toType
@@ -631,7 +628,7 @@
 * @return converted value of the type given, or value if the value 
cannot be converted to the
 * given type.
 */
-   public static  T convertValue(Object value, Class toType)
+   public static Object convertValue(final Object value, final Class 
toType)
{
Object result = null;
 
@@ -703,7 +700,7 @@
result = primitiveDefaults.get(toType);
}
}
-   return toType.cast(result);
+   return (result != null) ? result : value;
}
 
/**




svn commit: r669577 - /wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 10:23:48 2008
New Revision: 669577

URL: http://svn.apache.org/viewvc?rev=669577&view=rev
Log:
WICKET-1706: org.apache.wicket.util.lang.Objects.convertValue returns null if 
it cannot convert the value

Modified:

wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java

Modified: 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java?rev=669577&r1=669576&r2=669577&view=diff
==
--- 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java
 (original)
+++ 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java
 Thu Jun 19 10:23:48 2008
@@ -621,7 +621,7 @@
 * @return converted value of the type given, or value if the value 
cannot be converted to the
 * given type.
 */
-   public static Object convertValue(Object value, Class toType)
+   public static Object convertValue(final Object value, final Class 
toType)
{
Object result = null;
 
@@ -693,7 +693,8 @@
result = primitiveDefaults.get(toType);
}
}
-   return result;
+
+   return (result != null) ? result : value;
}
 
/**




[jira] Issue Comment Edited: (WICKET-1709) Allow configuration of the guice Stage for GuiceWebApplicationFactory

2008-06-19 Thread Geoff Reedy (JIRA)

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

gereedy edited comment on WICKET-1709 at 6/19/08 10:19 AM:
---

Patch implementing enhancement for WICKET-1709 and WICKET-1708. This patch is 
against the 1.3.x branch.

  was (Author: gereedy):
Patch implementing enhancement for WICKET-1709 and WICKET-1708
  
> Allow configuration of the guice Stage for GuiceWebApplicationFactory
> -
>
> Key: WICKET-1709
> URL: https://issues.apache.org/jira/browse/WICKET-1709
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket-guice
>Affects Versions: 1.3.3
>Reporter: Geoff Reedy
>Assignee: Alastair Maw
> Attachments: guice-enh.patch
>
>
> I would like to be able to use a init parameter to configure what Stage guice 
> will use simillar to the way that WebApplication get it's configuration type 
> from the wicket.configuration parameter. The parameter name could be 
> wicket-guice.stage to keep with the pattern used by wicket core. 

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



svn commit: r669575 - in /wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection: annot/AnnotProxyFieldValueFactoryTest.java util/Bean.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 10:20:13 2008
New Revision: 669575

URL: http://svn.apache.org/viewvc?rev=669575&view=rev
Log:
fix test

Modified:

wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java

wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/util/Bean.java

Modified: 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java?rev=669575&r1=669574&r2=669575&view=diff
==
--- 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java
 (original)
+++ 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java
 Thu Jun 19 10:20:13 2008
@@ -124,7 +124,13 @@
Field field = obj.getClass().getDeclaredField("nonExisting");
try
{
-   factory.getFieldValue(field, obj);
+   final Bean bean = (Bean)factory.getFieldValue(field, 
obj);
+   /*
+* returned bean will not be null even though the bean 
is not found. what we get instead
+* is a proxy. we invoke a method on the proxy in order 
to cause it to try to locate the
+* bean and that is when it will fail
+*/
+   bean.method();
fail();
}
catch (RuntimeException e)

Modified: 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/util/Bean.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/util/Bean.java?rev=669575&r1=669574&r2=669575&view=diff
==
--- 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/util/Bean.java
 (original)
+++ 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/util/Bean.java
 Thu Jun 19 10:20:13 2008
@@ -23,5 +23,11 @@
  */
 public class Bean
 {
+   /**
+* method
+*/
+   public void method()
+   {
 
+   }
 }




svn commit: r669573 - /wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/util/Bean.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 10:19:03 2008
New Revision: 669573

URL: http://svn.apache.org/viewvc?rev=669573&view=rev
Log:
fix test

Modified:

wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/util/Bean.java

Modified: 
wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/util/Bean.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/util/Bean.java?rev=669573&r1=669572&r2=669573&view=diff
==
--- 
wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/util/Bean.java
 (original)
+++ 
wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/util/Bean.java
 Thu Jun 19 10:19:03 2008
@@ -23,5 +23,11 @@
  */
 public class Bean
 {
+   /**
+* Test method
+*/
+   public void method()
+   {
 
+   }
 }




svn commit: r669571 - /wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 10:17:44 2008
New Revision: 669571

URL: http://svn.apache.org/viewvc?rev=669571&view=rev
Log:
fix test

Modified:

wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java

Modified: 
wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java?rev=669571&r1=669570&r2=669571&view=diff
==
--- 
wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java
 (original)
+++ 
wicket/trunk/wicket-spring/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java
 Thu Jun 19 10:17:44 2008
@@ -127,7 +127,13 @@
Field field = obj.getClass().getDeclaredField("nonExisting");
try
{
-   factory.getFieldValue(field, obj);
+   final Bean bean = (Bean)factory.getFieldValue(field, 
obj);
+   /*
+* returned bean will not be null even though the bean 
is not found. what we get instead
+* is a proxy. we invoke a method on the proxy in order 
to cause it to try to locate the
+* bean and that is when it will fail
+*/
+   bean.method();
fail();
}
catch (RuntimeException e)




[jira] Resolved: (WICKET-613) Prototype scoped Spring beans

2008-06-19 Thread Igor Vaynberg (JIRA)

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

Igor Vaynberg resolved WICKET-613.
--

   Resolution: Fixed
Fix Version/s: (was: 1.3.0-beta2)
   1.4-M3
   1.3.4

> Prototype scoped Spring beans
> -
>
> Key: WICKET-613
> URL: https://issues.apache.org/jira/browse/WICKET-613
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket-spring
>Affects Versions: 1.3.0-beta1
> Environment: JDK 6, Jetty
>Reporter: RĂ¼diger Schulz
>Assignee: Igor Vaynberg
>Priority: Critical
> Fix For: 1.3.4, 1.4-M3
>
>
> I copied the following text from my discussion on wicket-user, and was asked 
> to open an issue, so here it is:
> http://www.nabble.com/Prototype-scoped-Spring-beans-tf3849285.html
> For a more complex form I wanted to use a "stateful" Springbean, to which I 
> applied scope="prototype". The idea is to have one bean instance for every 
> Form instance. I would access the bean with PropertyModels and direct method 
> calls during construction (i.e. setting initial state from input parameters) 
> and during events, which would alter the state. I inject the bean into the 
> Form with @SpringBean annotation.
> This works somehow, but sometimes, especially after using the backbutton, I 
> had the problem that the internal state was reset. So I analyzed the stack in 
>  the constructor of the bean implementation, and found out that it was called 
> twice during construction of the Form. First, during the super() call, and 
> then again in the next line during a method call on that bean. I appended 
> both stacktraces below. The  proxy itself does not change.
> This happens again after going back and e.g. submitting again. This results 
> in a NPE, because the internal state is reset.
> I understand from reading the mailing list that the Wicket-Proxy does nothing 
> but a lookup in the Application context, and does not know or care about 
> spring scope.
> And here I'm a little stuck. I am already considering to put the state into 
> the Form, and make the Bean a singleton without any internal state. As that 
> would mean some heavy refactoring, I would prefer a way where the Spring 
> acces would work as I want. Or is this a wrong way altogether?

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



svn commit: r669569 - /wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 10:00:16 2008
New Revision: 669569

URL: http://svn.apache.org/viewvc?rev=669569&view=rev
Log:
WICKET-613

Modified:

wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java

Modified: 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java?rev=669569&r1=669568&r2=669569&view=diff
==
--- 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 (original)
+++ 
wicket/branches/wicket-1.3.x/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 Thu Jun 19 10:00:16 2008
@@ -56,8 +56,7 @@
  */
 public class AnnotProxyFieldValueFactory implements IFieldValueFactory
 {
-   private ISpringContextLocator contextLocator;
-   private boolean failFast = true;
+   private final ISpringContextLocator contextLocator;
 
private final ConcurrentHashMap cache = new 
ConcurrentHashMap();
 
@@ -93,11 +92,6 @@
return cache.get(locator);
}
 
-   if (failFast)
-   {
-   testLocator(locator, fieldOwner, field);
-   }
-
Object proxy = 
LazyInitProxyFactory.createProxy(field.getType(), locator);
// only put the proxy into the cache if the bean is a 
singleton
if (locator.isSingletonBean())
@@ -113,39 +107,13 @@
}
 
/**
-* Tests if the locator can retrieve the bean it is responsible for.
-* 
-* @param locator
-* @param fieldOwner
-* @param field
-*/
-   private void testLocator(SpringBeanLocator locator, Object fieldOwner, 
Field field)
-   {
-   try
-   {
-   locator.locateProxyTarget();
-   }
-   catch (Throwable e)
-   {
-   String errorMessage = "Could not locate spring bean of 
class [[" +
-   locator.getBeanType().getName() + "]] ";
-   if (locator.getBeanName() != null && 
locator.getBeanName().length() > 0)
-   {
-   errorMessage += "and id [[" + 
locator.getBeanName() + "]] ";
-   }
-   errorMessage += "needed in class [[" + 
fieldOwner.getClass().getName() + "]] field [[" +
-   field.getName() + "]]";
-   throw new RuntimeException(errorMessage, e);
-   }
-   }
-
-   /**
 * @param failFast
 *true if the locator fails if a bean can't be located
 */
public void setFailFast(boolean failFast)
{
-   this.failFast = failFast;
+   throw new UnsupportedOperationException(
+   "This feature is no longer supported because it 
interferes with prototype beans. see WICKET-613.");
}
 
/**




[jira] Updated: (WICKET-1709) Allow configuration of the guice Stage for GuiceWebApplicationFactory

2008-06-19 Thread Geoff Reedy (JIRA)

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

Geoff Reedy updated WICKET-1709:


Attachment: guice-enh.patch

Patch implementing enhancement for WICKET-1709 and WICKET-1708

> Allow configuration of the guice Stage for GuiceWebApplicationFactory
> -
>
> Key: WICKET-1709
> URL: https://issues.apache.org/jira/browse/WICKET-1709
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket-guice
>Affects Versions: 1.3.3
>Reporter: Geoff Reedy
>Assignee: Alastair Maw
> Attachments: guice-enh.patch
>
>
> I would like to be able to use a init parameter to configure what Stage guice 
> will use simillar to the way that WebApplication get it's configuration type 
> from the wicket.configuration parameter. The parameter name could be 
> wicket-guice.stage to keep with the pattern used by wicket core. 

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



[jira] Commented: (WICKET-1708) Allow the module init parameter to contain multiple class names

2008-06-19 Thread Geoff Reedy (JIRA)

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

Geoff Reedy commented on WICKET-1708:
-

See patch attached to WICKET-1709

> Allow the module init parameter to contain multiple class names
> ---
>
> Key: WICKET-1708
> URL: https://issues.apache.org/jira/browse/WICKET-1708
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket-guice
>Affects Versions: 1.3.3
>Reporter: Geoff Reedy
>Assignee: Alastair Maw
>
> It would be helpful if the module init parameter that is used by 
> GuiceWebApplicationFactory could contain multiple class names separated by 
> whitespace. As it is your main module has to know about all the other modules 
> that need to be installed. It would be better if assembly was done outside of 
> the code. This would be a pretty easy change and not affect any existing 
> setups.

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



svn commit: r669567 - /wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java

2008-06-19 Thread ivaynberg
Author: ivaynberg
Date: Thu Jun 19 09:58:49 2008
New Revision: 669567

URL: http://svn.apache.org/viewvc?rev=669567&view=rev
Log:
WICKET-613

Modified:

wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java

Modified: 
wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java?rev=669567&r1=669566&r2=669567&view=diff
==
--- 
wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 (original)
+++ 
wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 Thu Jun 19 09:58:49 2008
@@ -58,14 +58,13 @@
  */
 public class AnnotProxyFieldValueFactory implements IFieldValueFactory
 {
-   private ISpringContextLocator contextLocator;
-   private boolean failFast = true;
+   private final ISpringContextLocator contextLocator;
 
private final ConcurrentHashMap cache = new 
ConcurrentHashMap();
 
/**
 * @param contextLocator
-*  spring context locator
+*spring context locator
 */
public AnnotProxyFieldValueFactory(ISpringContextLocator contextLocator)
{
@@ -78,7 +77,7 @@
 
/**
 * @see 
org.apache.wicket.injection.IFieldValueFactory#getFieldValue(java.lang.reflect.Field,
-*  java.lang.Object)
+*  java.lang.Object)
 */
public Object getFieldValue(Field field, Object fieldOwner)
{
@@ -95,11 +94,6 @@
return cache.get(locator);
}
 
-   if (failFast)
-   {
-   testLocator(locator, fieldOwner, field);
-   }
-
Object proxy = 
LazyInitProxyFactory.createProxy(field.getType(), locator);
// only put the proxy into the cache if the bean is a 
singleton
if (locator.isSingletonBean())
@@ -115,42 +109,6 @@
}
 
/**
-* Tests if the locator can retrieve the bean it is responsible for.
-* 
-* @param locator
-* @param fieldOwner
-* @param field
-*/
-   private void testLocator(SpringBeanLocator locator, Object fieldOwner, 
Field field)
-   {
-   try
-   {
-   locator.locateProxyTarget();
-   }
-   catch (Throwable e)
-   {
-   String errorMessage = "Could not locate spring bean of 
class [[" +
-   locator.getBeanType().getName() + "]] ";
-   if (locator.getBeanName() != null && 
locator.getBeanName().length() > 0)
-   {
-   errorMessage += "and id [[" + 
locator.getBeanName() + "]] ";
-   }
-   errorMessage += "needed in class [[" + 
fieldOwner.getClass().getName() + "]] field [[" +
-   field.getName() + "]]";
-   throw new RuntimeException(errorMessage, e);
-   }
-   }
-
-   /**
-* @param failFast
-*  true if the locator fails if a bean can't be located
-*/
-   public void setFailFast(boolean failFast)
-   {
-   this.failFast = failFast;
-   }
-
-   /**
 * @see 
org.apache.wicket.injection.IFieldValueFactory#supportsField(java.lang.reflect.Field)
 */
public boolean supportsField(Field field)




[jira] Assigned: (WICKET-1706) org.apache.wicket.util.lang.Objects.convertValue returns null if it cannot convert the value

2008-06-19 Thread Igor Vaynberg (JIRA)

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

Igor Vaynberg reassigned WICKET-1706:
-

Assignee: Igor Vaynberg

> org.apache.wicket.util.lang.Objects.convertValue returns null if it cannot 
> convert the value
> 
>
> Key: WICKET-1706
> URL: https://issues.apache.org/jira/browse/WICKET-1706
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.3.3, 1.4-M2
> Environment: any
>Reporter: Mika Salminen
>Assignee: Igor Vaynberg
>Priority: Minor
>
> In the javadoc comment of the method it says that this method should return 
> the value given as parameter if the value cannot be converted to the given 
> type, but actually it returns null if  it cannot convert the  value. 
> I had a problem with a TextField which had a model value of type 
> java.io.Serializable and I had unfortunately not defined a special converter 
> for the text field so it used 
> org.apache.wicket.util.convert.ConverterLocator.DefaultConverter.convertToObject
>  to convert to the object type. convertToObject uses Objects.convertValue so 
> whenever model object was updated it was set to null. When retrieved from the 
> model, model object was properly shown in the TextField so I had no idea why 
> the value could not be properly setted but only getted.
> In many cases it would probably help if the Objects.convertValue did what it 
> promises in javadoc (returns the value unconverted), but how about throwing 
> exception (at some method) if the converter does not know how to convert some 
> kind of objects? This would make it a lot easier to spot the kind of mistakes 
> I had made.

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



svn commit: r669560 [8/8] - in /wicket/sandbox/ivaynberg/generics: testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/ testing/wicket-threadtest/src/main/java/org/apache/wi

2008-06-19 Thread ivaynberg
Modified: 
wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/Remove.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/Remove.java?rev=669560&r1=669559&r2=669560&view=diff
==
--- 
wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/Remove.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/Remove.java
 Thu Jun 19 09:52:58 2008
@@ -37,10 +37,10 @@
private static final Logger log = LoggerFactory.getLogger(Remove.class);
 
/** the subject Component */
-   private final Component component;
+   private final Component component;
 
/** the parent MarkupContainer */
-   private final MarkupContainer container;
+   private final MarkupContainer container;
 
/**
 * Constructor.
@@ -48,7 +48,7 @@
 * @param component
 *the subject Component
 */
-   Remove(final Component component)
+   Remove(final Component component)
{
if (component == null)
{

Modified: 
wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/UndoPageVersionManager.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/UndoPageVersionManager.java?rev=669560&r1=669559&r2=669560&view=diff
==
--- 
wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/UndoPageVersionManager.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/version/undo/UndoPageVersionManager.java
 Thu Jun 19 09:52:58 2008
@@ -57,7 +57,7 @@
private final int maxVersions;
 
/** the Page being managed */
-   private final Page page;
+   private final Page page;
 
/**
 * If this is true, the version that was created is not merged with the 
previous one.
@@ -72,7 +72,7 @@
 * @param maxVersions
 *the maximum number of versions to maintain before 
expiring old versions
 */
-   public UndoPageVersionManager(final Page page, final int maxVersions)
+   public UndoPageVersionManager(final Page page, final int maxVersions)
{
this.page = page;
this.maxVersions = maxVersions;
@@ -112,7 +112,7 @@
/**
 * @see IPageVersionManager#componentAdded(Component)
 */
-   public void componentAdded(Component component)
+   public void componentAdded(Component component)
{
changeList.componentAdded(component);
}
@@ -120,7 +120,7 @@
/**
 * @see IPageVersionManager#componentModelChanging(Component)
 */
-   public void componentModelChanging(Component component)
+   public void componentModelChanging(Component component)
{
changeList.componentModelChanging(component);
}
@@ -128,7 +128,7 @@
/**
 * @see IPageVersionManager#componentRemoved(Component)
 */
-   public void componentRemoved(Component component)
+   public void componentRemoved(Component component)
{
changeList.componentRemoved(component);
}
@@ -204,7 +204,7 @@
/**
 * @see IPageVersionManager#getVersion(int)
 */
-   public Page getVersion(final int versionNumber)
+   public Page getVersion(final int versionNumber)
{
// If the requested version is at or before the current version,
if (versionNumber <= getCurrentVersionNumber())
@@ -232,7 +232,7 @@
/**
 * @see IPageVersionManager#rollbackPage(int)
 */
-   public Page rollbackPage(int numberOfVersions)
+   public Page rollbackPage(int numberOfVersions)
{
// TODO NEEDS IMPL! See SecondLevelCache PageMap impl
return null;

Modified: 
wicket/sandbox/ivaynberg/generics/wicket/src/test/java/org/apache/wicket/WicketTestCase.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/test/java/org/apache/wicket/WicketTestCase.java?rev=669560&r1=669559&r2=669560&view=diff
==
--- 
wicket/sandbox/ivaynberg/generics/wicket/src/test/java/org/apache/wicket/WicketTestCase.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket/src/test/java/org/apache/wicket/WicketTestCase.java
 Thu Jun 19 09:52:58 2008
@@ -79,7 +79,7 @@
 * @param filename
 * @throws Exception
 */
-   protected > void executeTest(final Class 
pageClass, final String filename)
+   protected  void executeTest

[jira] Commented: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.

2008-06-19 Thread Matej Knopp (JIRA)

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

Matej Knopp commented on WICKET-1707:
-

I'm affraid there is not much room for performance improvements in the 
replaceOuterHTML method. Anyway, the method is regularly used to replace big 
chunks of html and I have never encountered any significant performance issue 
with it. Can you try replacing entire table (not just tbody)? That *might* be 
cause of the problems.

> Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.
> --
>
> Key: WICKET-1707
> URL: https://issues.apache.org/jira/browse/WICKET-1707
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
> Environment: IE 7.0
>Reporter: Bartosz Owczarek
>Assignee: Matej Knopp
>
> Hi.
> Firstly I'd like to say that I'm using wicket framework in my company in 
> 'e-commerce' system for Business Users. Its main functionality is ordering 
> items available in stores by business users. Items are displayed in a 
> customized table (we're using DataView component for it). This table is a 
> little bit complicated from DOM point of view. Some columns contain images, 
> input components, and different css styles for each row or even column (that 
> are added dynamically in javacode using AttributeModifier). There's about 22 
> columns in table.
> Moreover table is paginable and number of items per page can be change by 
> filter on the web page (default is 50). Paging table is done by our 
> customized paging navigator that uses AjaxEventBeahvior. In other words table 
> is refreshed using build-in ajax provided with wicket. Whati is more only 
>  tag with its content is refreshed by ajax request (not whole ).
> After implementation I've done some testing so here are results...
> Table is refreshed very quickly in FireFox 3 by wicket-ajax.js after 
> receiving response but there is a huge performance bottleneck with refreshing 
> it in IE 7.0.I profiled whole wicket-ajax.js in order to find this 
> bottleneck. It appears that replacing outer html in IE takes about 4 seconds 
> (druing which IE freezes). It's not acceptable. I found that 
> Wicket.replaceOuterHtmlIE() method takes around 3.7seconds! That's when only 
> 50 items in table are displayed!. If we change items per page to greater 
> number then it takes much more time. When I commented body of this function, 
> IE doesn't freeze and performance is very good, but content that comes with 
> ajax response is not refreshed in browser, which is obvious. 
> Then I tried to use jQuery(..).replaceWith() function in 
> Wicket.replaceOuterHtmlIE() whereas rest of its body was commented. It is 
> faster than default Wicket.replaceOuterHtmlIE() implementation. It takes 
> about 1.7 second to render response in browser but of course it doesn't do 
> all things as default Wicket.replaceOuterHtmlIE() implementation does (i.e. 
> default implementation runs embedded javascripts in 

[jira] Assigned: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.

2008-06-19 Thread Igor Vaynberg (JIRA)

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

Igor Vaynberg reassigned WICKET-1707:
-

Assignee: Matej Knopp

> Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.
> --
>
> Key: WICKET-1707
> URL: https://issues.apache.org/jira/browse/WICKET-1707
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket
> Environment: IE 7.0
>Reporter: Bartosz Owczarek
>Assignee: Matej Knopp
>
> Hi.
> Firstly I'd like to say that I'm using wicket framework in my company in 
> 'e-commerce' system for Business Users. Its main functionality is ordering 
> items available in stores by business users. Items are displayed in a 
> customized table (we're using DataView component for it). This table is a 
> little bit complicated from DOM point of view. Some columns contain images, 
> input components, and different css styles for each row or even column (that 
> are added dynamically in javacode using AttributeModifier). There's about 22 
> columns in table.
> Moreover table is paginable and number of items per page can be change by 
> filter on the web page (default is 50). Paging table is done by our 
> customized paging navigator that uses AjaxEventBeahvior. In other words table 
> is refreshed using build-in ajax provided with wicket. Whati is more only 
>  tag with its content is refreshed by ajax request (not whole ).
> After implementation I've done some testing so here are results...
> Table is refreshed very quickly in FireFox 3 by wicket-ajax.js after 
> receiving response but there is a huge performance bottleneck with refreshing 
> it in IE 7.0.I profiled whole wicket-ajax.js in order to find this 
> bottleneck. It appears that replacing outer html in IE takes about 4 seconds 
> (druing which IE freezes). It's not acceptable. I found that 
> Wicket.replaceOuterHtmlIE() method takes around 3.7seconds! That's when only 
> 50 items in table are displayed!. If we change items per page to greater 
> number then it takes much more time. When I commented body of this function, 
> IE doesn't freeze and performance is very good, but content that comes with 
> ajax response is not refreshed in browser, which is obvious. 
> Then I tried to use jQuery(..).replaceWith() function in 
> Wicket.replaceOuterHtmlIE() whereas rest of its body was commented. It is 
> faster than default Wicket.replaceOuterHtmlIE() implementation. It takes 
> about 1.7 second to render response in browser but of course it doesn't do 
> all things as default Wicket.replaceOuterHtmlIE() implementation does (i.e. 
> default implementation runs embedded javascripts in 

[jira] Assigned: (WICKET-1709) Allow configuration of the guice Stage for GuiceWebApplicationFactory

2008-06-19 Thread Igor Vaynberg (JIRA)

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

Igor Vaynberg reassigned WICKET-1709:
-

Assignee: Alastair Maw

> Allow configuration of the guice Stage for GuiceWebApplicationFactory
> -
>
> Key: WICKET-1709
> URL: https://issues.apache.org/jira/browse/WICKET-1709
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket-guice
>Affects Versions: 1.3.3
>Reporter: Geoff Reedy
>Assignee: Alastair Maw
>
> I would like to be able to use a init parameter to configure what Stage guice 
> will use simillar to the way that WebApplication get it's configuration type 
> from the wicket.configuration parameter. The parameter name could be 
> wicket-guice.stage to keep with the pattern used by wicket core. 

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



[jira] Assigned: (WICKET-1708) Allow the module init parameter to contain multiple class names

2008-06-19 Thread Igor Vaynberg (JIRA)

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

Igor Vaynberg reassigned WICKET-1708:
-

Assignee: Alastair Maw

> Allow the module init parameter to contain multiple class names
> ---
>
> Key: WICKET-1708
> URL: https://issues.apache.org/jira/browse/WICKET-1708
> Project: Wicket
>  Issue Type: Improvement
>  Components: wicket-guice
>Affects Versions: 1.3.3
>Reporter: Geoff Reedy
>Assignee: Alastair Maw
>
> It would be helpful if the module init parameter that is used by 
> GuiceWebApplicationFactory could contain multiple class names separated by 
> whitespace. As it is your main module has to know about all the other modules 
> that need to be installed. It would be better if assembly was done outside of 
> the code. This would be a pretty easy change and not affect any existing 
> setups.

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



[jira] Assigned: (WICKET-1710) Modalwindow somehow does not update backing model.

2008-06-19 Thread Igor Vaynberg (JIRA)

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

Igor Vaynberg reassigned WICKET-1710:
-

Assignee: Matej Knopp

> Modalwindow somehow does not update backing model.
> --
>
> Key: WICKET-1710
> URL: https://issues.apache.org/jira/browse/WICKET-1710
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.4-M2
> Environment: safari 2, FF2
>Reporter: Nino Martinez
>Assignee: Matej Knopp
>Priority: Minor
> Attachments: modalwindow.zip, ModalWindowTestcase2.war
>
>
> Please see the two attachments(one not working and one fixing it). And this 
> thread on nabble:
> In short this triggers the problem:
> Did you do the following steps and have the list filled the second time? :
> 1- click 'Open Head Modal Window'
> 2- click 'Open Inner Modal Window'
> 3- close the modalwindow with 'When closing this window a date will be added 
> to the list..' on it
> 4- close the head modal window
> 5- redo steps 1 to 3 
> http://www.nabble.com/ModalWindow-with-internal-ModalWindow-problem-td17980837.html#a17980837
> Attachment 1 is the workaround
> Attachment 2 is the original problem.

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



[CONF] Apache Wicket: Conditional Validation (page edited)

2008-06-19 Thread confluence










Page Edited :
WICKET :
Conditional Validation



 
Conditional Validation
has been edited by Will Hoover
(Jun 19, 2008).
 

 
 (View changes)
 

Content:
Conditional Validation On Submitting Form Component (Non-Nested Form Approach)

Say we have four form components within the same form:

	name A
	description A
	name B
	description B



Sometimes we want the whole form to validate/process (Button C), but sometimes we only want "A" form components to validate/process (Button A). One way to accomplish this is to:

final TextField nameA = new TextField("name", ...);
final TextField descriptionA = new TextField("descriptionA", ...);
final TextField nameB = new TextField("nameB", ...);
final TextField descriptionB = new TextField("descriptionB", ...);

// the validators can be anything, but for simplicity we just use required
nameA.setRequired(true);
descriptionA.setRequired(true);
nameB.setRequired(true);
descriptionB.setRequired(true);

final Button buttonA = new Button(id) {
public boolean onSubmit() {
// because we overrode the form processing we need to handle validation/processing on the components ourselves
nameA..validate();
descriptionA.validate();
if(!nameA.isValid() || !descriptionA.isValid()){
// didn't validate so we stop processing (validation errors will be displayed provided we are using a FeedbackPanel or similar)
return;
}
// TODO : now we have the updated values/models so we can perform whatever button A is supposed to do
}
});
// set the form processing to false so that no validation/processing will occur on the form when button A is clicked
buttonA.setDefaultFormProcessing(false);

final Button buttonC = new Button(id) {
public boolean onSubmit() {
// TODO : all validation passed because form processing is true so we can perform whatever button B is supposed to do
}
});


Conditional Validation On Each Form Component (Nested Form Approach)

Flagging a form field as "required" is the most common kind of validation. In most cases, this can be specified statically as follows:

add(new TextField("foo").setRequired(true));

In some cases, however, whether or not the field is required cannot be determined when the form is created. Like many properties in Wicket, we can override the property setter (isRequired, in this case) to defer the evaluation of the property until the last possible moment:

add(new TextField("foo") {
public boolean isRequired() {
// return true if the field is required
}
}

That's the simple part. Unfortunately, implementing isRequired can be tricky, since it's called very early in the form processing cycle, before values are converted and models are updated. Below we provide a few recipes that cover some common scenarios.

Submit Button

In this recipe, the field is in a form with multiple submit buttons. We only want to require the field when one of the buttons is clicked:

Button submit = new Button("submit") {
public void onSubmit() {
// handle form submission
}
}
form.add(submit);

TextField foo = new TextField("foo") {
public boolean isRequired() {
Form form = (Form) findParent(Form.class);
return form.getRootForm().findSubmittingButton() == submitButton;
}
}
form.add(foo);

Note the call to getRootForm. Technically, this is only required in nested forms.

If you would like to bypass validation altogether you can do so by:

new Button("submit").setDefaultFormProcessing(false);


CheckBox

In this recipe, the field is only required when a checkbox on the form is checked:

final CheckBox checkBox = new CheckBox("cb");
form.add(checkBox);

TextField foo = new TextField("foo") {
public boolean isRequired() {
return Strings.isTrue(checkBox.getValue());
}
}
form.add(foo);


Radio Button

Here the field is only required when a particular radio button on the form is selected:

final RadioGroup radioGroup = new RadioGroup("radioGroup");
form.add(radioGroup);

final Radio radio1 = new Radio("radio1");
radioGroup.add(radio1);

TextField foo = new TextField("foo") {
public boolean isRequired() {
return Strings.isEqual(radioGroup.getInput(), radio1.getValue());
}
}
form.add(foo);


DropDownChoice

Normally, you give a list of domain objects to a DropDownChoice. We can check which one was selected with the getConvertedInput() method as follows:

public class DocumentType {
private String name;
private boolean hasExpiryDate;
// getters and setters omitted
}

List allDocumentTypes = ...;

final DropDownChoice ddc = new DropDownChoice("documentType", allDocumentTypes, new ChoiceRenderer("name"));
form.add(ddc);

TextField expiryDate = new TextField("expiryDate", Date.class) {
public boolean isRequired() {
DocumentType dt =

[jira] Commented: (WICKET-1489) Create component "Menu"

2008-06-19 Thread Sergey Derugo (JIRA)

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

Sergey Derugo commented on WICKET-1489:
---

One more userful link 
http://javathoughts.capesugarbird.com/2007/11/suckerfish-dropdowns-for-wicket.html

> Create component "Menu"
> ---
>
> Key: WICKET-1489
> URL: https://issues.apache.org/jira/browse/WICKET-1489
> Project: Wicket
>  Issue Type: New Feature
>  Components: wicket-extensions
>Affects Versions: 1.3.2
>Reporter: Sergey Derugo
>
> Please implement component "Menu". See example - 
> http://www.telerik.com/products/aspnet/controls/menu/overview.aspx - this is 
> menu component for ASP.NET (just look at the menu of this site - it's really 
> nice). I think that Wicket should also have such component and this component 
> should be included to the Wicket as standard control. 
> For the begiging it will be nice to have menu the component with basic 
> functionality. Then it will be possible add new features.

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



[jira] Updated: (WICKET-1710) Modalwindow somehow does not update backing model.

2008-06-19 Thread Nino Martinez (JIRA)

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

Nino Martinez updated WICKET-1710:
--

Description: 
Please see the two attachments(one not working and one fixing it). And this 
thread on nabble:

In short this triggers the problem:

Did you do the following steps and have the list filled the second time? :
1- click 'Open Head Modal Window'
2- click 'Open Inner Modal Window'
3- close the modalwindow with 'When closing this window a date will be added to 
the list..' on it
4- close the head modal window
5- redo steps 1 to 3 

http://www.nabble.com/ModalWindow-with-internal-ModalWindow-problem-td17980837.html#a17980837

Attachment 1 is the workaround
Attachment 2 is the original problem.

  was:
Please see the two attachments(one not working and one fixing it). And this 
thread on nabble:

In short this triggers the problem:

Did you do the following steps and have the list filled the second time? :
1- click 'Open Head Modal Window'
2- click 'Open Inner Modal Window'
3- close the modalwindow with 'When closing this window a date will be added to 
the list..' on it
4- close the head modal window
5- redo steps 1 to 3 

http://www.nabble.com/ModalWindow-with-internal-ModalWindow-problem-td17980837.html#a17980837


> Modalwindow somehow does not update backing model.
> --
>
> Key: WICKET-1710
> URL: https://issues.apache.org/jira/browse/WICKET-1710
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.4-M2
> Environment: safari 2, FF2
>Reporter: Nino Martinez
>Priority: Minor
> Attachments: modalwindow.zip, ModalWindowTestcase2.war
>
>
> Please see the two attachments(one not working and one fixing it). And this 
> thread on nabble:
> In short this triggers the problem:
> Did you do the following steps and have the list filled the second time? :
> 1- click 'Open Head Modal Window'
> 2- click 'Open Inner Modal Window'
> 3- close the modalwindow with 'When closing this window a date will be added 
> to the list..' on it
> 4- close the head modal window
> 5- redo steps 1 to 3 
> http://www.nabble.com/ModalWindow-with-internal-ModalWindow-problem-td17980837.html#a17980837
> Attachment 1 is the workaround
> Attachment 2 is the original problem.

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



[jira] Updated: (WICKET-1710) Modalwindow somehow does not update backing model.

2008-06-19 Thread Nino Martinez (JIRA)

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

Nino Martinez updated WICKET-1710:
--

Attachment: ModalWindowTestcase2.war

original problem

> Modalwindow somehow does not update backing model.
> --
>
> Key: WICKET-1710
> URL: https://issues.apache.org/jira/browse/WICKET-1710
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.4-M2
> Environment: safari 2, FF2
>Reporter: Nino Martinez
>Priority: Minor
> Attachments: modalwindow.zip, ModalWindowTestcase2.war
>
>
> Please see the two attachments(one not working and one fixing it). And this 
> thread on nabble:
> In short this triggers the problem:
> Did you do the following steps and have the list filled the second time? :
> 1- click 'Open Head Modal Window'
> 2- click 'Open Inner Modal Window'
> 3- close the modalwindow with 'When closing this window a date will be added 
> to the list..' on it
> 4- close the head modal window
> 5- redo steps 1 to 3 
> http://www.nabble.com/ModalWindow-with-internal-ModalWindow-problem-td17980837.html#a17980837

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



[jira] Created: (WICKET-1710) Modalwindow somehow does not update backing model.

2008-06-19 Thread Nino Martinez (JIRA)
Modalwindow somehow does not update backing model.
--

 Key: WICKET-1710
 URL: https://issues.apache.org/jira/browse/WICKET-1710
 Project: Wicket
  Issue Type: Bug
  Components: wicket
Affects Versions: 1.4-M2
 Environment: safari 2, FF2
Reporter: Nino Martinez
Priority: Minor
 Attachments: modalwindow.zip

Please see the two attachments(one not working and one fixing it). And this 
thread on nabble:

In short this triggers the problem:

Did you do the following steps and have the list filled the second time? :
1- click 'Open Head Modal Window'
2- click 'Open Inner Modal Window'
3- close the modalwindow with 'When closing this window a date will be added to 
the list..' on it
4- close the head modal window
5- redo steps 1 to 3 

http://www.nabble.com/ModalWindow-with-internal-ModalWindow-problem-td17980837.html#a17980837

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



[jira] Updated: (WICKET-1710) Modalwindow somehow does not update backing model.

2008-06-19 Thread Nino Martinez (JIRA)

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

Nino Martinez updated WICKET-1710:
--

Attachment: modalwindow.zip

this is the workaround

> Modalwindow somehow does not update backing model.
> --
>
> Key: WICKET-1710
> URL: https://issues.apache.org/jira/browse/WICKET-1710
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.4-M2
> Environment: safari 2, FF2
>Reporter: Nino Martinez
>Priority: Minor
> Attachments: modalwindow.zip
>
>
> Please see the two attachments(one not working and one fixing it). And this 
> thread on nabble:
> In short this triggers the problem:
> Did you do the following steps and have the list filled the second time? :
> 1- click 'Open Head Modal Window'
> 2- click 'Open Inner Modal Window'
> 3- close the modalwindow with 'When closing this window a date will be added 
> to the list..' on it
> 4- close the head modal window
> 5- redo steps 1 to 3 
> http://www.nabble.com/ModalWindow-with-internal-ModalWindow-problem-td17980837.html#a17980837

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



[jira] Created: (WICKET-1709) Allow configuration of the guice Stage for GuiceWebApplicationFactory

2008-06-19 Thread Geoff Reedy (JIRA)
Allow configuration of the guice Stage for GuiceWebApplicationFactory
-

 Key: WICKET-1709
 URL: https://issues.apache.org/jira/browse/WICKET-1709
 Project: Wicket
  Issue Type: Improvement
  Components: wicket-guice
Affects Versions: 1.3.3
Reporter: Geoff Reedy


I would like to be able to use a init parameter to configure what Stage guice 
will use simillar to the way that WebApplication get it's configuration type 
from the wicket.configuration parameter. The parameter name could be 
wicket-guice.stage to keep with the pattern used by wicket core. 

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



[jira] Created: (WICKET-1708) Allow the module init parameter to contain multiple class names

2008-06-19 Thread Geoff Reedy (JIRA)
Allow the module init parameter to contain multiple class names
---

 Key: WICKET-1708
 URL: https://issues.apache.org/jira/browse/WICKET-1708
 Project: Wicket
  Issue Type: Improvement
  Components: wicket-guice
Affects Versions: 1.3.3
Reporter: Geoff Reedy


It would be helpful if the module init parameter that is used by 
GuiceWebApplicationFactory could contain multiple class names separated by 
whitespace. As it is your main module has to know about all the other modules 
that need to be installed. It would be better if assembly was done outside of 
the code. This would be a pretty easy change and not affect any existing setups.

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



[jira] Commented: (WICKET-1664) WebPage ERROR message

2008-06-19 Thread Frank Bille Jensen (JIRA)

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

Frank Bille Jensen commented on WICKET-1664:


Could it be related to WICKET-1682?

> WebPage ERROR message 
> --
>
> Key: WICKET-1664
> URL: https://issues.apache.org/jira/browse/WICKET-1664
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.3.4
> Environment: Any
>Reporter: Jan Kriesten
>Assignee: Igor Vaynberg
> Fix For: 1.3.4
>
> Attachments: issue-quickstart.zip
>
>
> With latest trunk, the following message occurs in the logs:
> 09:41:50.297 ERROR [org.apache.wicket.markup.html.WebPage] -  
> ^
> 09:41:50.314 ERROR [org.apache.wicket.markup.html.WebPage] - You 
> probably forgot to add a  or  tag to your markup since no 
> Header Container was found but components where found which want to write to 
> the  section.
> This happens, when using TransparentResolver with the html-Tag.
> A quickstart is attached.

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



[jira] Updated: (WICKET-1664) WebPage ERROR message

2008-06-19 Thread Frank Bille Jensen (JIRA)

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

Frank Bille Jensen updated WICKET-1664:
---

Assignee: Igor Vaynberg

> WebPage ERROR message 
> --
>
> Key: WICKET-1664
> URL: https://issues.apache.org/jira/browse/WICKET-1664
> Project: Wicket
>  Issue Type: Bug
>  Components: wicket
>Affects Versions: 1.3.4
> Environment: Any
>Reporter: Jan Kriesten
>Assignee: Igor Vaynberg
> Fix For: 1.3.4
>
> Attachments: issue-quickstart.zip
>
>
> With latest trunk, the following message occurs in the logs:
> 09:41:50.297 ERROR [org.apache.wicket.markup.html.WebPage] -  
> ^
> 09:41:50.314 ERROR [org.apache.wicket.markup.html.WebPage] - You 
> probably forgot to add a  or  tag to your markup since no 
> Header Container was found but components where found which want to write to 
> the  section.
> This happens, when using TransparentResolver with the html-Tag.
> A quickstart is attached.

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



[jira] Updated: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.

2008-06-19 Thread Bartosz Owczarek (JIRA)

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

Bartosz Owczarek updated WICKET-1707:
-

Description: 
Hi.

Firstly I'd like to say that I'm using wicket framework in my company in 
'e-commerce' system for Business Users. Its main functionality is ordering 
items available in stores by business users. Items are displayed in a 
customized table (we're using DataView component for it). This table is a 
little bit complicated from DOM point of view. Some columns contain images, 
input components, and different css styles for each row or even column (that 
are added dynamically in javacode using AttributeModifier). There's about 22 
columns in table.

Moreover table is paginable and number of items per page can be change by 
filter on the web page (default is 50). Paging table is done by our customized 
paging navigator that uses AjaxEventBeahvior. In other words table is refreshed 
using build-in ajax provided with wicket. Whati is more only  tag with 
its content is refreshed by ajax request (not whole ).

After implementation I've done some testing so here are results...

Table is refreshed very quickly in FireFox 3 by wicket-ajax.js after receiving 
response but there is a huge performance bottleneck with refreshing it in IE 
7.0.
I profiled whole wicket-ajax.js in order to find this bottleneck. It appears 
that replacing outer html in IE takes about 4 seconds (druing which IE 
freezes). It's
not acceptable. I found that Wicket.replaceOuterHtmlIE() method takes around 
3.7seconds! That's when only 50 items in table are displayed!. If we change 
items per page to greater number then it takes much more time. When I commented 
body of this function, IE doesn't freeze and performance is very good, but 
content that comes with ajax response is not refreshed in browser, which is 
obvious. 

Then I tried to use jQuery(..).replaceWith() function in 
Wicket.replaceOuterHtmlIE() whereas rest of its body was commented. It is 
faster than default Wicket.replaceOuterHtmlIE() implementation. It takes about 
1.7 second to render response in browser but of course it doesn't do all things 
as default Wicket.replaceOuterHtmlIE() implementation does (i.e. default 
implementation runs embedded javascripts in 

[jira] Updated: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.

2008-06-19 Thread Bartosz Owczarek (JIRA)

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

Bartosz Owczarek updated WICKET-1707:
-

Description: 
Hi.

Firstly I'd like to say that I'm using wicket framework in my company in 
'e-commerce' system for Business Users. Its main functionality is ordering 
items available in stores by business users. Items are displayed in a 
customized table (we're using DataView component for it). This table is a 
little bit complicated from DOM point of view. Some columns contain images, 
input components, and different css styles for each row or even column (that 
are added dynamically in javacode using AttributeModifier). There's about 22 
columns in table.

Moreover table is paginable and number of items per page can be change by 
filter on the web page (default is 50). Paging table is done by our customized 
paging navigator that uses AjaxEventBeahvior. In other words table is refreshed 
using build-in ajax provided with wicket. Whati is more only  tag with 
its content is refreshed by ajax request (not whole ).

After implementation I've done some testing so here are results...

Table is refreshed very quickly in FireFox 3 by wicket-ajax.js after receiving 
response but there is a huge performance bottleneck with refreshing it in IE 
7.0.I profiled whole wicket-ajax.js in order to find this bottleneck. It 
appears that replacing outer html in IE takes about 4 seconds (druing which IE 
freezes). It's not acceptable. I found that Wicket.replaceOuterHtmlIE() method 
takes around 3.7seconds! That's when only 50 items in table are displayed!. If 
we change items per page to greater number then it takes much more time. When I 
commented body of this function, IE doesn't freeze and performance is very 
good, but content that comes with ajax response is not refreshed in browser, 
which is obvious. 

Then I tried to use jQuery(..).replaceWith() function in 
Wicket.replaceOuterHtmlIE() whereas rest of its body was commented. It is 
faster than default Wicket.replaceOuterHtmlIE() implementation. It takes about 
1.7 second to render response in browser but of course it doesn't do all things 
as default Wicket.replaceOuterHtmlIE() implementation does (i.e. default 
implementation runs embedded javascripts in 

[jira] Created: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.

2008-06-19 Thread Bartosz Owczarek (JIRA)
Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.
--

 Key: WICKET-1707
 URL: https://issues.apache.org/jira/browse/WICKET-1707
 Project: Wicket
  Issue Type: Improvement
  Components: wicket
 Environment: IE 7.0
Reporter: Bartosz Owczarek


Hi.

Firstly I'd like to say that I'm using wicket framework in my company in 
'e-commerce' system for Business User. Its main functionality is ordering items 
available in stores by business users. Items are displayed in a customized 
table (we're using DataView component for it). This table is a little bit 
complicated from DOM point of view. Some columns contain images, input 
components, and different css styles for each row or even column (that are 
added dynamically in javacode using AttributeModifier). There's about 22 
columns in table.

Moreover table is paginable and number of items per page can be change by 
filter on the web page (default is 50). Paging table is done by our customized 
paging navigator that uses AjaxEventBeahvior. In other words table is refreshed 
using build-in ajax provided with wicket. Whati is more only  tag with 
its content is refreshed by ajax request (not whole ).

After implementation I've done some testing so here are results...

Table is refreshed very quickly in FireFox 3 by wicket-ajax.js after receiving 
response but there is a huge performance bottleneck with refreshing it in IE 
7.0.
I profiled whole wicket-ajax.js in order to find this bottleneck. It appears 
that replacing outer html in IE takes about 4 seconds (druing which IE 
freezes). It's
not acceptable. I found that Wicket.replaceOuterHtmlIE() method takes around 
3.7seconds! That's when only 50 items in table are displayed!. If we change 
items per page to greater number then it takes much more time. When I commented 
body of this function, IE doesn't freeze and performance is very good, but 
content that comes with ajax response is not refreshed in browser, which is 
obvious. 

Then I tried to use jQuery(..).replaceWith() function in 
Wicket.replaceOuterHtmlIE() whereas rest of its body was commented. It is 
faster than default Wicket.replaceOuterHtmlIE() implementation. It takes about 
1.7 second to render response in browser but of course it doesn't do all things 
as default Wicket.replaceOuterHtmlIE() implementation does (i.e. default 
implementation runs embedded javascripts in 

[jira] Commented: (WICKET-1489) Create component "Menu"

2008-06-19 Thread Sergey Derugo (JIRA)

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

Sergey Derugo commented on WICKET-1489:
---

You can adopt the menu component from here 
http://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-contrib-yui/src/main/java/org/wicketstuff/yui/markup/html/menu2
 See the example of usage 
http://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicket-contrib-yui-examples

> Create component "Menu"
> ---
>
> Key: WICKET-1489
> URL: https://issues.apache.org/jira/browse/WICKET-1489
> Project: Wicket
>  Issue Type: New Feature
>  Components: wicket-extensions
>Affects Versions: 1.3.2
>Reporter: Sergey Derugo
>
> Please implement component "Menu". See example - 
> http://www.telerik.com/products/aspnet/controls/menu/overview.aspx - this is 
> menu component for ASP.NET (just look at the menu of this site - it's really 
> nice). I think that Wicket should also have such component and this component 
> should be included to the Wicket as standard control. 
> For the begiging it will be nice to have menu the component with basic 
> functionality. Then it will be possible add new features.

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