[jira] Commented: (WICKET-1707) Wicket.replaceOuterHtmlIE() (wicket-ajax.js) has very low performance.
[ 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.
[ 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
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
[ 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
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
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
[ 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
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
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
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
[ 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
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
[ 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
[ 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
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
[ 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
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.
[ 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.
[ 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
[ 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
[ 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.
[ 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)
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"
[ 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.
[ 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.
[ 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.
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.
[ 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
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
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
[ 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
[ 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.
[ 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.
[ 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.
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"
[ 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.