Re: Unexpected RuntimeException when trying a project with a DataTable

2011-08-19 Thread aabfattah
They both have the same version 1.5RC-1

On 19 August 2011 03:06, Dan Retzlaff [via Apache Wicket] <
ml-node+3754040-2070811322-260...@n4.nabble.com> wrote:

> It looks like you have multiple versions of the Wicket JARs on your
> classpath. Since that function was removed in
> https://issues.apache.org/jira/browse/WICKET-3702, I'd guess that your
> extensions JAR is older than your main wicket JAR.
>
> Hope that helps,
> Dan
>
> On Thu, Aug 18, 2011 at 5:47 PM, aabfattah <
> [hidden email] >
> wrote:
>
> > Hello , I copied some code from a tutorial about creating a simple
> > datatable
> > from here
> > https://cwiki.apache.org/WICKET/simple-sortable-datatable-example.html
> >
> > Also , I tried the example in repeaters section in wicketstuff website
> >
> > But I get the same exact exception in the 2 projects . Can anybody help
> as
> > I
> > am new to wicket ?
> >
> > Last cause:
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.addToBorder([Lorg/apache/wicket/Component;)Lorg/apache/wicket/MarkupContainer;
>
> > WicketMessage: Can't instantiate page using constructor public
> > foo.DataTablePage()
> >
> > StackTrace:
> >
> > Root cause:
> >
> > java.lang.NoSuchMethodError:
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.addToBorder([Lorg/apache/wicket/Component;)Lorg/apache/wicket/MarkupContainer;
>
> > at
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.(OrderByBorder.java:58)
>
> > at
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.(OrderByBorder.java:106)
>
> > at
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar$2.(HeadersToolbar.java:115)
>
> > at
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar.newSortableHeader(HeadersToolbar.java:110)
>
> > at
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar.(HeadersToolbar.java:67)
>
> > at
> >
> >
> org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable.(DefaultDataTable.java:64)
>
> > at foo.DataTablePage.(DataTablePage.java:22)
> > at java.lang.reflect.Constructor.newInstance(Unknown Source)
> > at
> >
> >
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:155)
>
> > at
> >
> >
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:59)
>
> > at
> >
> >
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:95)
>
> > at
> >
> >
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:43)
>
> > at
> >
> >
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:107)
>
> > at
> >
> >
> org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:266)
>
> > at
> >
> >
> org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:160)
>
> > at
> >
> >
> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
>
> > at
> >
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
>
> > at
> >
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:219)
>
> > at
> >
> >
> org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:139)
>
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:717)
>
> > at
> >
> >
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
>
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
>
> > at
> >
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
>
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:160)
>
> > at
> >
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:216)
>
> > at
> >
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
>
> > at
> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:474)
> > at
> >
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
>
> > at
> >
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
> > at
> >
> >
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>
> > at
> >
> >
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:935)
>
> > at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404)
>
> > at
> >
> >
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
>
> > a

RE: Log bookmarkable page link execution

2011-08-19 Thread Chris Colman
Not sure if this is the same as what you want but we've made all our
page classes derive from a common base which performs the logging
function in the constructor so that you can't miss a log. You can do
some reflection to grab the name of the page class instance or create a
method that is overridden by every page class.

The later method has the advantage that it can include context
information as well.

>-Original Message-
>From: Mike Mander [mailto:wicket-m...@gmx.de]
>Sent: Thursday, 18 August 2011 9:52 PM
>To: users@wicket.apache.org
>Subject: Log bookmarkable page link execution
>
>Hi,
>
>i would like to log execution of bookmarkable page links. I know that
>they are only renderered in markup and call the page from the browser.
>
>Maybe someone has a hint for me here?
>
>Thanks
>Mike
>
>-
>To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Unexpected RuntimeException when trying a project with a DataTable

2011-08-19 Thread aabfattah
Hmm wait they are different versions . I fixed that but now I get a
compile error !

Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
(default-compile) on project mainpage2: Compilation failure
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Program Files\Java\jre6\..\lib\tools.jar
[ERROR] Please ensure you are using JDK 1.4 or above and
[ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
[ERROR] In most cases you can change the location of your Java
[ERROR] installation by setting the JAVA_HOME environment variable.

On 19 August 2011 09:30, Ahmed Abdelfattah <
ahmed.abdelfattah.elshem...@gmail.com> wrote:

> They both have the same version 1.5RC-1
>
> On 19 August 2011 03:06, Dan Retzlaff [via Apache Wicket] <
> ml-node+3754040-2070811322-260...@n4.nabble.com> wrote:
>
>> It looks like you have multiple versions of the Wicket JARs on your
>> classpath. Since that function was removed in
>> https://issues.apache.org/jira/browse/WICKET-3702, I'd guess that your
>> extensions JAR is older than your main wicket JAR.
>>
>> Hope that helps,
>> Dan
>>
>> On Thu, Aug 18, 2011 at 5:47 PM, aabfattah <
>> [hidden email] >
>> wrote:
>>
>> > Hello , I copied some code from a tutorial about creating a simple
>> > datatable
>> > from here
>> > https://cwiki.apache.org/WICKET/simple-sortable-datatable-example.html
>> >
>> > Also , I tried the example in repeaters section in wicketstuff website
>> >
>> > But I get the same exact exception in the 2 projects . Can anybody help
>> as
>> > I
>> > am new to wicket ?
>> >
>> > Last cause:
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.addToBorder([Lorg/apache/wicket/Component;)Lorg/apache/wicket/MarkupContainer;
>>
>> > WicketMessage: Can't instantiate page using constructor public
>> > foo.DataTablePage()
>> >
>> > StackTrace:
>> >
>> > Root cause:
>> >
>> > java.lang.NoSuchMethodError:
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.addToBorder([Lorg/apache/wicket/Component;)Lorg/apache/wicket/MarkupContainer;
>>
>> > at
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.(OrderByBorder.java:58)
>>
>> > at
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.sort.OrderByBorder.(OrderByBorder.java:106)
>>
>> > at
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar$2.(HeadersToolbar.java:115)
>>
>> > at
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar.newSortableHeader(HeadersToolbar.java:110)
>>
>> > at
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar.(HeadersToolbar.java:67)
>>
>> > at
>> >
>> >
>> org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable.(DefaultDataTable.java:64)
>>
>> > at foo.DataTablePage.(DataTablePage.java:22)
>> > at java.lang.reflect.Constructor.newInstance(Unknown Source)
>> > at
>> >
>> >
>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:155)
>>
>> > at
>> >
>> >
>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:59)
>>
>> > at
>> >
>> >
>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:95)
>>
>> > at
>> >
>> >
>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:43)
>>
>> > at
>> >
>> >
>> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:107)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:266)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:160)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:219)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:139)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:717)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
>>
>> > at
>> >
>> >
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
>>
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:160)
>>
>> > at
>> >
>> >
>> org.apache.wicket.protocol.http.WicketFilte

Re: Unexpected RuntimeException when trying a project with a DataTable

2011-08-19 Thread aabfattah
Sorry for posting a lot , I just made a new project to work around the
problem but now I get an exception and that's seem a *bug from the code*

Unexpected RuntimeException

Last cause: null
WicketMessage: Error attaching this container for rendering:
[WebMarkupContainer [Component id = body]]

Stacktrace

Root cause:

java.lang.NullPointerException
 at 
com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:21)
 at 
com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:1)
 at java.util.Arrays.mergeSort(Unknown Source)
 at java.util.Arrays.sort(Unknown Source)
 at java.util.Collections.sort(Unknown Source)
 at com.ahmed.task.main3.UserProvider.iterator(UserProvider.java:57)
 at 
org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.(DataViewBase.java:109)
 at 
org.apache.wicket.markup.repeater.data.DataViewBase.getItemModels(DataViewBase.java:76)
 at 
org.apache.wicket.markup.repeater.AbstractPageableView.getItemModels(AbstractPageableView.java:101)
 at 
org.apache.wicket.markup.repeater.RefreshingView.onPopulate(RefreshingView.java:93)
 at 
org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:119)
 at 
org.apache.wicket.markup.repeater.AbstractPageableView.onBeforeRender(AbstractPageableView.java:115)
 at org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
 at org.apache.wicket.Component.beforeRender(Component.java:1097)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
 at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
 at org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
 at org.apache.wicket.Component.beforeRender(Component.java:1097)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
 at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
 at org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
 at org.apache.wicket.Component.beforeRender(Component.java:1097)
 at 
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
 at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
 at org.apache.wicket.Page.onBeforeRender(Page.java:848)
 at org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
 at org.apache.wicket.Component.beforeRender(Component.java:1097)
 at 
org.apache.wicket.Component.internalPrepareForRender(Component.java:2251)
 at org.apache.wicket.Page.internalPrepareForRender(Page.java:285)
 at org.apache.wicket.Component.render(Component.java:2338)
 at org.apache.wicket.Page.renderPage(Page.java:1060)
 at 
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
 at 
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:219)
 at 
org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:139)
 at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:717)
 at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
 at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
 at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
 at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:160)
 at 
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:216)
 at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
 at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:474)
 at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
 at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
 at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
 at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:935)
 at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404)
 at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
 at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:870)
 at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
 at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
 at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151)
 at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
 at org.eclipse.jetty.server.Server.handle(Server.java:346)
 at 
org.eclipse.jetty.server.HttpConnection.handleRequest(Ht

Strange error

2011-08-19 Thread Martin Makundi
Hi!

What can be the cause of this error, how can there be concurrent
modification to a item on a page being serialized?

**
Martin


java.util.ConcurrentModificationException
       at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
       at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136)
       at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131)
       at java.util.TreeMap.writeObject(TreeMap.java:2250)
       at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
       at java.util.HashMap.writeObject(HashMap.java:1001)
       at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
       at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
       at 
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
       at org.apache.wicket.Component.writeObject(Component.java:4702)
       at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
       at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
       at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
       at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
       at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
       at java.util.LinkedList.writeObject(LinkedList.java:943)
       at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
       at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso

Re: How to Handle ResourceStreamNotFoundException

2011-08-19 Thread hfriederichs
Hi Dan,

This is /exactly/ what I was looking for! A simple solution for a simple
problem. I used a (subclass) of a WebResource before for another use case,
and that worked fine, so I got blinded by wanting to reuse the same
solution, at least that is what I think has happened. Whatever.

Thank you very much for your interest and help.

Regards, Hans

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/How-to-Handle-ResourceStreamNotFoundException-tp3749331p3754846.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mathilde Pellerin
Hi all,

I have a form with a Radiogroup :

In my form, I have a radiogroup like this :
RadioGroup genre = new
RadioGroup("genreDestinataire");
genre.setRequired(true);
genre.setLabel(new Model("Genre destinataire"));
genre.add(new Radio("femme", new Model("f")));
genre.add(new Radio("homme", new Model("h")));
genre.add(new Radio("mixte", new Model("b")));
form.add(genre);

This radiogroup match the genreDestinataire field in Questionnaire Entity
(with a CompoundPropertyModel).

In my unit test, I try to check what radio is selected, but I don't find
how...
I can get Model Object from radioGroup like this :
String genreObtenu =
((RadioGroup)form.get("genreDestinataire")).getDefaultModelObjectAsString();

but it works even if none of radio is checked. It happen when I fill the
form with existant Questionnaire : radiogroup model is ok, but none of radio
is checked.
Before correct this bug, I want to reproduce it in test, but I didn't find
how to see if a radio is checked or not : I didn't find any method like
"isChecked" or "isSelected" on Radio Component.

Is there any way to check that ?

Thanks.
M.

-- 
*Mathilde Pellerin*
Ingénieur en développement de logiciel

STATLIFE
tel : 01.42.11.64.88
mail : mathilde.pelle...@statlife.fr


Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mike Mander

Am 19.08.2011 14:21, schrieb Mathilde Pellerin:

Hi all,

I have a form with a Radiogroup :

In my form, I have a radiogroup like this :
 RadioGroup  genre = new
RadioGroup("genreDestinataire");
 genre.setRequired(true);
 genre.setLabel(new Model("Genre destinataire"));
 genre.add(new Radio("femme", new Model("f")));
 genre.add(new Radio("homme", new Model("h")));
 genre.add(new Radio("mixte", new Model("b")));
 form.add(genre);

This radiogroup match the genreDestinataire field in Questionnaire Entity
(with a CompoundPropertyModel).

In my unit test, I try to check what radio is selected, but I don't find
how...
I can get Model Object from radioGroup like this :
 String genreObtenu =
((RadioGroup)form.get("genreDestinataire")).getDefaultModelObjectAsString();

but it works even if none of radio is checked. It happen when I fill the
form with existant Questionnaire : radiogroup model is ok, but none of radio
is checked.
Before correct this bug, I want to reproduce it in test, but I didn't find
how to see if a radio is checked or not : I didn't find any method like
"isChecked" or "isSelected" on Radio Component.

Is there any way to check that ?

Thanks.
M.

Maybe you can get the component from last renderered page (by path to 
component) and cast it to radio.
Then you can compare raw input of group with the radio value (see 
Radio.onComponentTag).


Other option would be to use the tag tester provided by WicketTester. See

/**
 * Modified version of BaseWicketTester#getTagByWicketId(String) 
that returns all matching tags

 * instead of just the first.
 *
 * @see BaseWicketTester#getTagByWicketId(String)
 */
public static List getTagsByWicketId(WicketTester 
tester, String wicketId)

{
return 
TagTester.createTagsByAttribute(tester.getServletResponse().getDocument(),

"wicket:id", wicketId, false);
}

Hth
Mike

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mathilde Pellerin
Thank you for your answer Mike.

I didn't find out how could I try with Radio.onComponentTag, so I tried with
tagTester.

I think it could be a good solution, so I did that :
TagTester tagFemme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:femme");
TagTester tagHomme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:homme");
TagTester tagMixte =
tester.getTagByWicketId("formCreationQuestionnaire:genre:mixte");
Assert.assertNotNull(tagFemme);
Assert.assertTrue(tagFemme.hasAttribute("checked"));
Assert.assertFalse(tagHomme.hasAttribute("checked"));
Assert.assertFalse(tagMixte.hasAttribute("checked"));

but my tagTester are always null ! I checked path many times, and I tried
other way to instantiate tagTester, but without success.
I already used TagTester in other test before without problem, and I really
don't understand why it is always null here...


Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mike Mander

Am 19.08.2011 15:35, schrieb Mathilde Pellerin:

Thank you for your answer Mike.

I didn't find out how could I try with Radio.onComponentTag, so I tried with
tagTester.

I think it could be a good solution, so I did that :
 TagTester tagFemme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:femme");
 TagTester tagHomme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:homme");
 TagTester tagMixte =
tester.getTagByWicketId("formCreationQuestionnaire:genre:mixte");
 Assert.assertNotNull(tagFemme);
 Assert.assertTrue(tagFemme.hasAttribute("checked"));
 Assert.assertFalse(tagHomme.hasAttribute("checked"));
 Assert.assertFalse(tagMixte.hasAttribute("checked"));

but my tagTester are always null ! I checked path many times, and I tried
other way to instantiate tagTester, but without success.
I already used TagTester in other test before without problem, and I really
don't understand why it is always null here...


Can you provide output from WicketTester.debugComponentTree()?

Mike

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mathilde Pellerin
 I add WicketTester.debugComponentTrees() in my test juste before
assertNotNull which failed like this :

TagTester tagFemme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:femme");
TagTester tagHomme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:homme");
TagTester tagMixte =
tester.getTagByWicketId("formCreationQuestionnaire:genre:mixte");
tester.debugComponentTrees();
Assert.assertNotNull(tagFemme);

and this is the output (lines relatives to radiogroup are in bold) :

INFO  - BaseWicketTester   - debugging
--
INFO  - BaseWicketTester   - pathlogo
org.apache.wicket.markup.html.link.BookmarkablePageLink []
INFO  - BaseWicketTester   - pathdeconnexion
org.apache.wicket.markup.html.link.Link []
INFO  - BaseWicketTester   - pathtableaubord
org.apache.wicket.markup.html.link.BookmarkablePageLink []
INFO  - BaseWicketTester   - pathrecapitulatifQuestionnaire
org.apache.wicket.markup.html.link.BookmarkablePageLink []
INFO  - BaseWicketTester   - pathretourRecapitulatif
org.apache.wicket.ajax.markup.html.AjaxLink []
INFO  - BaseWicketTester   - pathfenetreModale
fr.statlife.protoE4N.pages.ModalWindowE4N []
INFO  - BaseWicketTester   - pathfenetreModale:content
fr.statlife.protoE4N.pages.questionnaire.QuestionnaireContentPanel []
INFO  - BaseWicketTester   - pathfenetreModale:content:qForm
org.apache.wicket.markup.html.form.Form []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qErrorMsg
org.apache.wicket.markup.html.panel.FeedbackPanel []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qErrorMsg:feedbackul
org.apache.wicket.markup.html.WebMarkupContainer []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qErrorMsg:feedbackul:messages
org.apache.wicket.markup.html.list.ListView [[]]
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qRepeating
org.apache.wicket.markup.repeater.RepeatingView []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qRepeating:1
org.apache.wicket.markup.html.WebMarkupContainer []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qRepeating:1:question
org.apache.wicket.markup.html.basic.Label [vide :(]
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:ajaxSubmitQuestionnaire
org.apache.wicket.ajax.markup.html.form.AjaxButton [Fermer]
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qCancelbutton
org.apache.wicket.ajax.markup.html.form.AjaxButton []
INFO  - BaseWicketTester   - pathformCreationQuestionnaire
org.apache.wicket.markup.html.form.Form [Questionnaire
[idQuestionnaire=26, numero=Q2, titre=Questionnaire pour Femme,
sexeDestinataire=f, publie=null, listeQuestionnaires=[],
listeQuestions=[Question [idQuestion=27, numQuestion=1, question=Type liste
:, typeReponse=LISTE, legende=null,
reponsesPossibles=0g,30g,60g,90g,120g,150g,200g,250g et +,
idQuestionnaire=26], Question [idQuestion=28, numQuestion=2, question=Type
champsTexte :, typeReponse=TEXTE, legende=null, reponsesPossibles=null,
idQuestionnaire=26], Question [idQuestion=29, numQuestion=3, question=Type
date :, typeReponse=DATE, legende=null, reponsesPossibles=null,
idQuestionnaire=26], Question [idQuestion=30, numQuestion=4, question=Type
radio :, typeReponse=RADIO, legende=null,
reponsesPossibles=rouge,vert,jaune,bleu, idQuestionnaire=26], Question
[idQuestion=31, numQuestion=5, question=Type checkbox :,
typeReponse=CHECKBOX, legende=null, reponsesPossibles=rouge,vert,jaune,bleu,
idQuestionnaire=26]], listeReponses=[]]]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:feedback
org.apache.wicket.markup.html.panel.FeedbackPanel [No get method defined
for class: class fr.statlife.protoE4N.data.entites.Questionnaire expression:
feedback]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:feedback:feedbackul
org.apache.wicket.markup.html.WebMarkupContainer [No get method defined
for class: class fr.statlife.protoE4N.data.entites.Questionnaire expression:
feedbackul]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:feedback:feedbackul:messages
org.apache.wicket.markup.html.list.ListView [[]]
INFO  - BaseWicketTester   - pathformCreationQuestionnaire:titre
org.apache.wicket.markup.html.form.TextField [Questionnaire pour
Femme]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:numero
org.apache.wicket.markup.html.form.TextField [Q2]
*INFO  - BaseWicketTester   - path
formCreationQuestionnaire:genre
org.apache.wicket.markup.html.form.RadioGroup [f]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:genre:femme
org.apache.wicket.markup.html.form.Rad

Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mike Mander

Am 19.08.2011 16:38, schrieb Mathilde Pellerin:

  I add WicketTester.debugComponentTrees() in my test juste before
assertNotNull which failed like this :

 TagTester tagFemme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:femme");
 TagTester tagHomme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:homme");
 TagTester tagMixte =
tester.getTagByWicketId("formCreationQuestionnaire:genre:mixte");
 tester.debugComponentTrees();
 Assert.assertNotNull(tagFemme);

and this is the output (lines relatives to radiogroup are in bold) :

INFO  - BaseWicketTester   - debugging
--
INFO  - BaseWicketTester   - pathlogo
org.apache.wicket.markup.html.link.BookmarkablePageLink []
INFO  - BaseWicketTester   - pathdeconnexion
org.apache.wicket.markup.html.link.Link []
INFO  - BaseWicketTester   - pathtableaubord
org.apache.wicket.markup.html.link.BookmarkablePageLink []
INFO  - BaseWicketTester   - pathrecapitulatifQuestionnaire
org.apache.wicket.markup.html.link.BookmarkablePageLink []
INFO  - BaseWicketTester   - pathretourRecapitulatif
org.apache.wicket.ajax.markup.html.AjaxLink []
INFO  - BaseWicketTester   - pathfenetreModale
fr.statlife.protoE4N.pages.ModalWindowE4N []
INFO  - BaseWicketTester   - pathfenetreModale:content
fr.statlife.protoE4N.pages.questionnaire.QuestionnaireContentPanel []
INFO  - BaseWicketTester   - pathfenetreModale:content:qForm
org.apache.wicket.markup.html.form.Form []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qErrorMsg
org.apache.wicket.markup.html.panel.FeedbackPanel []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qErrorMsg:feedbackul
org.apache.wicket.markup.html.WebMarkupContainer []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qErrorMsg:feedbackul:messages
org.apache.wicket.markup.html.list.ListView [[]]
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qRepeating
org.apache.wicket.markup.repeater.RepeatingView []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qRepeating:1
org.apache.wicket.markup.html.WebMarkupContainer []
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qRepeating:1:question
org.apache.wicket.markup.html.basic.Label [vide :(]
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:ajaxSubmitQuestionnaire
org.apache.wicket.ajax.markup.html.form.AjaxButton [Fermer]
INFO  - BaseWicketTester   - path
fenetreModale:content:qForm:qCancelbutton
org.apache.wicket.ajax.markup.html.form.AjaxButton []
INFO  - BaseWicketTester   - pathformCreationQuestionnaire
org.apache.wicket.markup.html.form.Form [Questionnaire
[idQuestionnaire=26, numero=Q2, titre=Questionnaire pour Femme,
sexeDestinataire=f, publie=null, listeQuestionnaires=[],
listeQuestions=[Question [idQuestion=27, numQuestion=1, question=Type liste
:, typeReponse=LISTE, legende=null,
reponsesPossibles=0g,30g,60g,90g,120g,150g,200g,250g et +,
idQuestionnaire=26], Question [idQuestion=28, numQuestion=2, question=Type
champsTexte :, typeReponse=TEXTE, legende=null, reponsesPossibles=null,
idQuestionnaire=26], Question [idQuestion=29, numQuestion=3, question=Type
date :, typeReponse=DATE, legende=null, reponsesPossibles=null,
idQuestionnaire=26], Question [idQuestion=30, numQuestion=4, question=Type
radio :, typeReponse=RADIO, legende=null,
reponsesPossibles=rouge,vert,jaune,bleu, idQuestionnaire=26], Question
[idQuestion=31, numQuestion=5, question=Type checkbox :,
typeReponse=CHECKBOX, legende=null, reponsesPossibles=rouge,vert,jaune,bleu,
idQuestionnaire=26]], listeReponses=[]]]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:feedback
org.apache.wicket.markup.html.panel.FeedbackPanel [No get method defined
for class: class fr.statlife.protoE4N.data.entites.Questionnaire expression:
feedback]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:feedback:feedbackul
org.apache.wicket.markup.html.WebMarkupContainer [No get method defined
for class: class fr.statlife.protoE4N.data.entites.Questionnaire expression:
feedbackul]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:feedback:feedbackul:messages
org.apache.wicket.markup.html.list.ListView [[]]
INFO  - BaseWicketTester   - pathformCreationQuestionnaire:titre
 org.apache.wicket.markup.html.form.TextField [Questionnaire pour
Femme]
INFO  - BaseWicketTester   - path
formCreationQuestionnaire:numero
org.apache.wicket.markup.html.form.TextField [Q2]
*INFO  - BaseWicketTester   - path
formCreationQuestionnaire:genre
org.apache.wicket.markup.html.form.RadioGroup [f]
INFO  - BaseWicketTester   - path
formCreationQuestio

Re: Log bookmarkable page link execution

2011-08-19 Thread Dan Retzlaff
Mike, since I didn't really understand your use case, I'm not sure a
site-wide link decorator is the best way to go. You might keep it simple and
just print a log statement when certain actions are performed, then
periodically grep through your log files to generate statistics. My
suggestion assumed you wanted to know both the "from" and "to" of each
bookmarkable link click.

Chris, I can see how that would work. I guess I'm of the opinion that Wicket
provides enough listener hooks that inheritance needn't come into the
picture. It's easy to inherit one behavior, but things can get messy when
you want to mix in multiple behaviors. If some use case requires
per-component customization as you suggest, you can throw an interface
specific to the use case onto those particular components and do some
"instanceof" checks in your application-wide listeners.

On Thu, Aug 18, 2011 at 11:23 PM, Mike Mander  wrote:

> Thanks Dan,
>
> my intention is to track ux with our shop. We have for instance a link you
> can configure how many
> products you see per page. Because we don't know what is the best "view
> size" we want to check
> if users use our preselection or "always" change it to other values.
>
> I will try your suggestion and post the solution (if i can :-).
>
> Thanks
> Mike
>
>  Is your goal to understand which links are used to open certain
>> bookmarkable
>> pages? If so, here's an approach that might get you started.
>>
>> Create a Behavior which appends a tracking query parameter to
>> BookmarkablePageLinks. You could add it manually to each link you want to
>> track, or apply it application-wide through
>> an IComponentOnBeforeRenderListen**er registered with
>> Application#**addPreComponentOnBeforeRenderL**istener(). Then you you'd
>> have to
>> watch for these query parameters in subsequent application requests, maybe
>> by inspecting the Request object in an Application#newRequestCycle()
>> override.
>>
>> Hope that helps,
>> Dan
>>
>> On Thu, Aug 18, 2011 at 4:51 AM, Mike Mander  wrote:
>>
>>  Hi,
>>>
>>> i would like to log execution of bookmarkable page links. I know that
>>> they
>>> are only renderered in markup and call the page from the browser.
>>>
>>> Maybe someone has a hint for me here?
>>>
>>> Thanks
>>> Mike
>>>
>>> --**
>>> --**-
>>> To unsubscribe, e-mail: 
>>> users-unsubscribe@wicket.**apa**che.org
>>> 
>>> >
>>>
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>>
>
> --**--**-
> To unsubscribe, e-mail: 
> users-unsubscribe@wicket.**apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


Re: Highlight 2 Fields as Errors, but only 1 Error in FeedbackPanel

2011-08-19 Thread Martin Grigorov
see IFormValidator

On Fri, Aug 19, 2011 at 5:57 PM, eugenebalt  wrote:
> Is there a way to have a validator that will highlight two fields, but only
> show the error in the FeedbackPanel once? Thanks
>
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Highlight-2-Fields-as-Errors-but-only-1-Error-in-FeedbackPanel-tp3755390p3755390.html
> Sent from the Users forum mailing list archive at Nabble.com.
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Unexpected RuntimeException when trying a project with a DataTable

2011-08-19 Thread Dan Retzlaff
Hi Ahmed,

I recommend running Wicket in an IDE with a debugger and stepping through
your code. Personally I deploy my Wicket applications into an Apache Tomcat
server set up within Eclipse. There are many other servlet containers and
IDEs that will work though.

Dan

On Fri, Aug 19, 2011 at 1:16 AM, aabfattah <
ahmed.abdelfattah.elshem...@gmail.com> wrote:

> Sorry for posting a lot , I just made a new project to work around the
> problem but now I get an exception and that's seem a *bug from the code*
>
> Unexpected RuntimeException
>
> Last cause: null
> WicketMessage: Error attaching this container for rendering:
> [WebMarkupContainer [Component id = body]]
>
> Stacktrace
>
> Root cause:
>
> java.lang.NullPointerException
> at
> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:21)
> at
> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:1)
> at java.util.Arrays.mergeSort(Unknown Source)
> at java.util.Arrays.sort(Unknown Source)
> at java.util.Collections.sort(Unknown Source)
> at com.ahmed.task.main3.UserProvider.iterator(UserProvider.java:57)
> at
> org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.(DataViewBase.java:109)
> at
> org.apache.wicket.markup.repeater.data.DataViewBase.getItemModels(DataViewBase.java:76)
> at
> org.apache.wicket.markup.repeater.AbstractPageableView.getItemModels(AbstractPageableView.java:101)
> at
> org.apache.wicket.markup.repeater.RefreshingView.onPopulate(RefreshingView.java:93)
> at
> org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:119)
> at
> org.apache.wicket.markup.repeater.AbstractPageableView.onBeforeRender(AbstractPageableView.java:115)
> at
> org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> at org.apache.wicket.Component.beforeRender(Component.java:1097)
> at
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
> at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> at
> org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> at org.apache.wicket.Component.beforeRender(Component.java:1097)
> at
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
> at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> at
> org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> at org.apache.wicket.Component.beforeRender(Component.java:1097)
> at
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
> at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> at org.apache.wicket.Page.onBeforeRender(Page.java:848)
> at
> org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> at org.apache.wicket.Component.beforeRender(Component.java:1097)
> at
> org.apache.wicket.Component.internalPrepareForRender(Component.java:2251)
> at org.apache.wicket.Page.internalPrepareForRender(Page.java:285)
> at org.apache.wicket.Component.render(Component.java:2338)
> at org.apache.wicket.Page.renderPage(Page.java:1060)
>  at
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:219)
> at
> org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:139)
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:717)
> at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:160)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:216)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:474)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:935)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:870)
> at
> org.eclipse.jetty.server.h

Re: Highlight 2 Fields as Errors, but only 1 Error in FeedbackPanel

2011-08-19 Thread eugenebalt
Yeah, I can do error() on individual components in a form, but how do I do a
*single* error, while *highlighting* several fields? Is there a separate
highlight method?

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Highlight-2-Fields-as-Errors-but-only-1-Error-in-FeedbackPanel-tp3755390p3755423.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Strange error

2011-08-19 Thread Dan Retzlaff
How reproducible is this? I don't know how the serialization process itself
would cause this, but if it's intermittent then maybe there's a threading /
synchronization bug somewhere.

On Fri, Aug 19, 2011 at 1:59 AM, Martin Makundi <
martin.maku...@koodaripalvelut.com> wrote:

> Hi!
>
> What can be the cause of this error, how can there be concurrent
> modification to a item on a page being serialized?
>
> **
> Martin
>
>
> java.util.ConcurrentModificationException
>at
> java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
>at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136)
>at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131)
>at java.util.TreeMap.writeObject(TreeMap.java:2250)
>at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
>at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>at java.lang.reflect.Method.invoke(Method.java:597)
>at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>at java.util.HashMap.writeObject(HashMap.java:1001)
>at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
>at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>at java.lang.reflect.Method.invoke(Method.java:597)
>at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
>at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>at
> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
>at org.apache.wicket.Component.writeObject(Component.java:4702)
>at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>at java.lang.reflect.Method.invoke(Method.java:597)
>at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
> 

Re: Unexpected RuntimeException when trying a project with a DataTable

2011-08-19 Thread aabfattah
I did so but it's a bit confusing . Is there any book or a tutorial that
describes the sequence of calls of the framework ? And how should my code
flow ?

On 19 August 2011 17:04, Dan Retzlaff [via Apache Wicket] <
ml-node+3755408-1624030309-260...@n4.nabble.com> wrote:

> Hi Ahmed,
>
> I recommend running Wicket in an IDE with a debugger and stepping through
> your code. Personally I deploy my Wicket applications into an Apache Tomcat
>
> server set up within Eclipse. There are many other servlet containers and
> IDEs that will work though.
>
> Dan
>
> On Fri, Aug 19, 2011 at 1:16 AM, aabfattah <
> [hidden email] >
> wrote:
>
> > Sorry for posting a lot , I just made a new project to work around the
> > problem but now I get an exception and that's seem a *bug from the code*
> >
> > Unexpected RuntimeException
> >
> > Last cause: null
> > WicketMessage: Error attaching this container for rendering:
> > [WebMarkupContainer [Component id = body]]
> >
> > Stacktrace
> >
> > Root cause:
> >
> > java.lang.NullPointerException
> > at
> >
> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:21)
>
> > at
> >
> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:1)
>
> > at java.util.Arrays.mergeSort(Unknown Source)
> > at java.util.Arrays.sort(Unknown Source)
> > at java.util.Collections.sort(Unknown Source)
> > at com.ahmed.task.main3.UserProvider.iterator(UserProvider.java:57)
> > at
> >
> org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.(DataViewBase.java:109)
>
> > at
> >
> org.apache.wicket.markup.repeater.data.DataViewBase.getItemModels(DataViewBase.java:76)
>
> > at
> >
> org.apache.wicket.markup.repeater.AbstractPageableView.getItemModels(AbstractPageableView.java:101)
>
> > at
> >
> org.apache.wicket.markup.repeater.RefreshingView.onPopulate(RefreshingView.java:93)
>
> > at
> >
> org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:119)
>
> > at
> >
> org.apache.wicket.markup.repeater.AbstractPageableView.onBeforeRender(AbstractPageableView.java:115)
>
> > at
> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > at
> >
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
>
> > at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> > at
> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > at
> >
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
>
> > at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> > at
> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > at
> >
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
>
> > at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> > at org.apache.wicket.Page.onBeforeRender(Page.java:848)
> > at
> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > at
> > org.apache.wicket.Component.internalPrepareForRender(Component.java:2251)
>
> > at org.apache.wicket.Page.internalPrepareForRender(Page.java:285)
> > at org.apache.wicket.Component.render(Component.java:2338)
> > at org.apache.wicket.Page.renderPage(Page.java:1060)
> >  at
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
>
> > at
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:219)
>
> > at
> >
> org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:139)
>
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:717)
>
> > at
> >
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
>
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
>
> > at
> >
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
>
> > at
> >
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:160)
>
> > at
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:216)
>
> > at
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
>
> > at
> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:474)
> > at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j

Re: Unexpected RuntimeException when trying a project with a DataTable

2011-08-19 Thread Martin Grigorov
The problem is clear:

java.lang.NullPointerException
at 
com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:21)
at 
com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:1)
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at com.ahmed.task.main3.UserProvider.iterator(UserProvider.java:57)
at 
org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.(DataViewBase.java:109)

Wicket asks your DataProvider for data and your UserProvider fails
with NPE at line 21.

On Fri, Aug 19, 2011 at 6:37 PM, aabfattah
 wrote:
> I did so but it's a bit confusing . Is there any book or a tutorial that
> describes the sequence of calls of the framework ? And how should my code
> flow ?
>
> On 19 August 2011 17:04, Dan Retzlaff [via Apache Wicket] <
> ml-node+3755408-1624030309-260...@n4.nabble.com> wrote:
>
>> Hi Ahmed,
>>
>> I recommend running Wicket in an IDE with a debugger and stepping through
>> your code. Personally I deploy my Wicket applications into an Apache Tomcat
>>
>> server set up within Eclipse. There are many other servlet containers and
>> IDEs that will work though.
>>
>> Dan
>>
>> On Fri, Aug 19, 2011 at 1:16 AM, aabfattah <
>> [hidden email] >
>> wrote:
>>
>> > Sorry for posting a lot , I just made a new project to work around the
>> > problem but now I get an exception and that's seem a *bug from the code*
>> >
>> > Unexpected RuntimeException
>> >
>> > Last cause: null
>> > WicketMessage: Error attaching this container for rendering:
>> > [WebMarkupContainer [Component id = body]]
>> >
>> > Stacktrace
>> >
>> > Root cause:
>> >
>> > java.lang.NullPointerException
>> >     at
>> >
>> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:21)
>>
>> >     at
>> >
>> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:1)
>>
>> >     at java.util.Arrays.mergeSort(Unknown Source)
>> >     at java.util.Arrays.sort(Unknown Source)
>> >     at java.util.Collections.sort(Unknown Source)
>> >     at com.ahmed.task.main3.UserProvider.iterator(UserProvider.java:57)
>> >     at
>> >
>> org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.(DataViewBase.java:109)
>>
>> >     at
>> >
>> org.apache.wicket.markup.repeater.data.DataViewBase.getItemModels(DataViewBase.java:76)
>>
>> >     at
>> >
>> org.apache.wicket.markup.repeater.AbstractPageableView.getItemModels(AbstractPageableView.java:101)
>>
>> >     at
>> >
>> org.apache.wicket.markup.repeater.RefreshingView.onPopulate(RefreshingView.java:93)
>>
>> >     at
>> >
>> org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:119)
>>
>> >     at
>> >
>> org.apache.wicket.markup.repeater.AbstractPageableView.onBeforeRender(AbstractPageableView.java:115)
>>
>> >     at
>> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
>> >     at org.apache.wicket.Component.beforeRender(Component.java:1097)
>> >     at
>> >
>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
>>
>> >     at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
>> >     at
>> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
>> >     at org.apache.wicket.Component.beforeRender(Component.java:1097)
>> >     at
>> >
>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
>>
>> >     at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
>> >     at
>> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
>> >     at org.apache.wicket.Component.beforeRender(Component.java:1097)
>> >     at
>> >
>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
>>
>> >     at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
>> >     at org.apache.wicket.Page.onBeforeRender(Page.java:848)
>> >     at
>> > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
>> >     at org.apache.wicket.Component.beforeRender(Component.java:1097)
>> >     at
>> > org.apache.wicket.Component.internalPrepareForRender(Component.java:2251)
>>
>> >     at org.apache.wicket.Page.internalPrepareForRender(Page.java:285)
>> >     at org.apache.wicket.Component.render(Component.java:2338)
>> >     at org.apache.wicket.Page.renderPage(Page.java:1060)
>> >      at
>> >
>> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
>>
>> >     at
>> >
>> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:219)
>>
>> >     at
>> >
>> org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:139)
>>
>> >     at
>> >
>> org.apache.wicket.request.cycle.RequestCycle$Handler

Re: Unexpected RuntimeException when trying a project with a DataTable

2011-08-19 Thread Dan Retzlaff
If you put a breakpoint where the NullPointerException is thrown, your
debugger should show you the call stack which tells you the sequence of
calls that got you there. In your particular case, the crux is the
"Collections.sort(newList, comparator)" call which sorts newList using your
custom comparator. I'd guess that newList contains an object that is missing
a property required by your comparator.

On Fri, Aug 19, 2011 at 8:37 AM, aabfattah <
ahmed.abdelfattah.elshem...@gmail.com> wrote:

> I did so but it's a bit confusing . Is there any book or a tutorial that
> describes the sequence of calls of the framework ? And how should my code
> flow ?
>
> On 19 August 2011 17:04, Dan Retzlaff [via Apache Wicket] <
> ml-node+3755408-1624030309-260...@n4.nabble.com> wrote:
>
> > Hi Ahmed,
> >
> > I recommend running Wicket in an IDE with a debugger and stepping through
> > your code. Personally I deploy my Wicket applications into an Apache
> Tomcat
> >
> > server set up within Eclipse. There are many other servlet containers and
> > IDEs that will work though.
> >
> > Dan
> >
> > On Fri, Aug 19, 2011 at 1:16 AM, aabfattah <
> > [hidden email] >
> > wrote:
> >
> > > Sorry for posting a lot , I just made a new project to work around the
> > > problem but now I get an exception and that's seem a *bug from the
> code*
> > >
> > > Unexpected RuntimeException
> > >
> > > Last cause: null
> > > WicketMessage: Error attaching this container for rendering:
> > > [WebMarkupContainer [Component id = body]]
> > >
> > > Stacktrace
> > >
> > > Root cause:
> > >
> > > java.lang.NullPointerException
> > > at
> > >
> >
> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:21)
> >
> > > at
> > >
> >
> com.ahmed.task.main3.UserProvider$SortableDataProviderComparator.compare(UserProvider.java:1)
> >
> > > at java.util.Arrays.mergeSort(Unknown Source)
> > > at java.util.Arrays.sort(Unknown Source)
> > > at java.util.Collections.sort(Unknown Source)
> > > at com.ahmed.task.main3.UserProvider.iterator(UserProvider.java:57)
> > > at
> > >
> >
> org.apache.wicket.markup.repeater.data.DataViewBase$ModelIterator.(DataViewBase.java:109)
> >
> > > at
> > >
> >
> org.apache.wicket.markup.repeater.data.DataViewBase.getItemModels(DataViewBase.java:76)
> >
> > > at
> > >
> >
> org.apache.wicket.markup.repeater.AbstractPageableView.getItemModels(AbstractPageableView.java:101)
> >
> > > at
> > >
> >
> org.apache.wicket.markup.repeater.RefreshingView.onPopulate(RefreshingView.java:93)
> >
> > > at
> > >
> >
> org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:119)
> >
> > > at
> > >
> >
> org.apache.wicket.markup.repeater.AbstractPageableView.onBeforeRender(AbstractPageableView.java:115)
> >
> > > at
> > > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > > at
> > >
> >
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
> >
> > > at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> > > at
> > > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > > at
> > >
> >
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
> >
> > > at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> > > at
> > > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > > at
> > >
> >
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1746)
> >
> > > at org.apache.wicket.Component.onBeforeRender(Component.java:3837)
> > > at org.apache.wicket.Page.onBeforeRender(Page.java:848)
> > > at
> > > org.apache.wicket.Component.internalBeforeRender(Component.java:1063)
> > > at org.apache.wicket.Component.beforeRender(Component.java:1097)
> > > at
> > >
> org.apache.wicket.Component.internalPrepareForRender(Component.java:2251)
> >
> > > at org.apache.wicket.Page.internalPrepareForRender(Page.java:285)
> > > at org.apache.wicket.Component.render(Component.java:2338)
> > > at org.apache.wicket.Page.renderPage(Page.java:1060)
> > >  at
> > >
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
> >
> > > at
> > >
> >
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:219)
> >
> > > at
> > >
> >
> org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:139)
> >
> > > at
> > >
> >
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:717)
> >
> > > at
> > >
> >
> o

Re: Strange error

2011-08-19 Thread Martin Makundi
Hi!

I don't know how to reproduce it... and I wonder, because there is
pagemap lock, what else can be modifying stuff during page
serialization?

**
Martin

2011/8/19 Dan Retzlaff :
> How reproducible is this? I don't know how the serialization process itself
> would cause this, but if it's intermittent then maybe there's a threading /
> synchronization bug somewhere.
>
> On Fri, Aug 19, 2011 at 1:59 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Hi!
>>
>> What can be the cause of this error, how can there be concurrent
>> modification to a item on a page being serialized?
>>
>> **
>> Martin
>>
>>
>> java.util.ConcurrentModificationException
>>        at
>> java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
>>        at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136)
>>        at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131)
>>        at java.util.TreeMap.writeObject(TreeMap.java:2250)
>>        at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>        at
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>>        at java.util.HashMap.writeObject(HashMap.java:1001)
>>        at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>        at
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>>        at
>> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>>        at
>> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
>>        at org.apache.wicket.Component.writeObject(Component.java:4702)
>>        at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>        at
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>>        at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(O

Re: Strange error

2011-08-19 Thread Dan Retzlaff
I tend to agree that odds of a Wicket bug in this area are small. Can you
think of a case in your application where a component has a HashMap of
objects which have a TreeMap of objects? Maybe the source of this collection
within your application is the problem.

On Fri, Aug 19, 2011 at 8:50 AM, Martin Makundi <
martin.maku...@koodaripalvelut.com> wrote:

> Hi!
>
> I don't know how to reproduce it... and I wonder, because there is
> pagemap lock, what else can be modifying stuff during page
> serialization?
>
> **
> Martin
>
> 2011/8/19 Dan Retzlaff :
> > How reproducible is this? I don't know how the serialization process
> itself
> > would cause this, but if it's intermittent then maybe there's a threading
> /
> > synchronization bug somewhere.
> >
> > On Fri, Aug 19, 2011 at 1:59 AM, Martin Makundi <
> > martin.maku...@koodaripalvelut.com> wrote:
> >
> >> Hi!
> >>
> >> What can be the cause of this error, how can there be concurrent
> >> modification to a item on a page being serialized?
> >>
> >> **
> >> Martin
> >>
> >>
> >> java.util.ConcurrentModificationException
> >>at
> >> java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
> >>at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136)
> >>at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131)
> >>at java.util.TreeMap.writeObject(TreeMap.java:2250)
> >>at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
> >>at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>at java.lang.reflect.Method.invoke(Method.java:597)
> >>at
> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
> >>at
> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
> >>at
> >>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> >>at
> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> >>at
> >>
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
> >>at
> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
> >>at
> >>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> >>at
> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> >>at
> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
> >>at java.util.HashMap.writeObject(HashMap.java:1001)
> >>at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
> >>at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>at java.lang.reflect.Method.invoke(Method.java:597)
> >>at
> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
> >>at
> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
> >>at
> >>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> >>at
> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> >>at
> >>
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
> >>at
> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
> >>at
> >>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> >>at
> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> >>at
> >>
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
> >>at
> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
> >>at
> >>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> >>at
> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> >>at
> >> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
> >>at
> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
> >>at
> >>
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
> >>at
> >>
> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
> >>at org.apache.wicket.Component.writeObject(Component.java:4702)
> >>at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
> >>at
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>at java.lang.reflect.Method.invoke(Method.java:597)
> >>at
> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
> >>at
> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
> >>at
> >>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
> >>at
> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
> >>   

Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mathilde Pellerin
hum, yes and no... I mean, page is loaded by an ajax response (AjaxLink),
but then there is no Ajax.
This is the entire test, maybe it can help :

@SuppressWarnings("unchecked")
@Test @Transactional @Rollback
public void testStory23_TA21_VerificationInitialisationBoutonsRadio(){
tester.startPage(RecapitulatifQuestionnairePage.class);
tester.assertRenderedPage(RecapitulatifQuestionnairePage.class);
tester.clickLink("questionnaireEnCours:1:modifier");
tester.assertRenderedPage(CreationQuestionnairePage.class);

Form form = (Form)
tester.getComponentFromLastRenderedPage(
"formCreationQuestionnaire");

//On vérifie que le formulaire est préremplie avec le questionnaire
sélectionné
Questionnaire qObtenu = form.getModelObject();
Assert.assertNotNull(qObtenu);

//Vérification du sexe des destinataires
String genreAttendu = qObtenu.getSexeDestinataire().toString();
String genreObtenu =
((RadioGroup)form.get("genre")).getDefaultModelObjectAsString();
Assert.assertEquals(genreAttendu, genreObtenu);

TagTester tagFemme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:femme");
TagTester tagHomme =
tester.getTagByWicketId("formCreationQuestionnaire:genre:homme");
TagTester tagMixte =
tester.getTagByWicketId("formCreationQuestionnaire:genre:mixte");
tester.debugComponentTrees();
Assert.assertNotNull(tagFemme);

Assert.assertTrue(tagFemme.hasAttribute("checked"));
Assert.assertFalse(tagHomme.hasAttribute("checked"));
Assert.assertFalse(tagMixte.hasAttribute("checked"));
}


Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Mike Müller
If i'm not completely wrong is tester.clickLink(path) a wrapper for 
tester.clickLink(path, isAjax = true). So you get an ajax response.
You can check that by calling tester.dumpPage().

The problem is that wicket tester only works on page markup. It is not
working on ajax response markup (at least i didn't get it to work.
Once i've wrote an extractor. Maybe that helps you to.


package de.frontend.wicket.testtools;

public final class AjaxResponseComponentMarkup {

private final String _ajaxResponseMarkup;
private final int _componentTagStartPosition;
private final int _componentTagEndPosition;

public AjaxResponseComponentMarkup(String ajaxResponseMarkup) {
_ajaxResponseMarkup = ajaxResponseMarkup;
_componentTagStartPosition = 
_ajaxResponseMarkup.indexOf("");
}

public String extract() {
StringBuilder result = new StringBuilder();
if (hasComponentTag()) {

result.append(_ajaxResponseMarkup.substring(startOfAjaxResponseComponentMarkup(),
 endOfAjaxResponseComponentMarkup()));
}
return result.toString();
}

private int startOfAjaxResponseComponentMarkup() {
String cdataTag = "";
return 
_ajaxResponseMarkup.substring(_componentTagStartPosition, 
_componentTagEndPosition).lastIndexOf(cdataTag) + _componentTagStartPosition;
}

private boolean hasComponentTag() {
return _componentTagStartPosition != -1;
}
}
 
This is only extracting the markup in CDATA of ajax response.
Use it this way:



private void assertExpandedNodeAt(int row) {
List t = TagTester.createTagsByAttribute(new 
AjaxResponseComponentMarkup(_tester.getServletResponse().getDocument()).extract(),
 "wicketpath",
"brdPage_availability_tariffTable_rows_" + row 
+ "_cells_1_cell_junction", true);
Assert.assertTrue("Node " + row + " is collapsed", 
t.get(0).getAttributeIs("class", "tree-junction-expanded"));
}


Please see TagTester.createTagsByAttribute for concrete parameters required.

Maybe someone else has a better approach. But for me this was working.

Hth
Mike

 Original-Nachricht 
> Datum: Fri, 19 Aug 2011 18:38:43 +0200
> Von: Mathilde Pellerin 
> An: users@wicket.apache.org
> Betreff: Re: how to test what radio is checked in a radiogroup?

> hum, yes and no... I mean, page is loaded by an ajax response (AjaxLink),
> but then there is no Ajax.
> This is the entire test, maybe it can help :
> 
> @SuppressWarnings("unchecked")
> @Test @Transactional @Rollback
> public void testStory23_TA21_VerificationInitialisationBoutonsRadio(){
> tester.startPage(RecapitulatifQuestionnairePage.class);
> tester.assertRenderedPage(RecapitulatifQuestionnairePage.class);
> tester.clickLink("questionnaireEnCours:1:modifier");
> tester.assertRenderedPage(CreationQuestionnairePage.class);
> 
> Form form = (Form)
> tester.getComponentFromLastRenderedPage(
> "formCreationQuestionnaire");
> 
> //On vérifie que le formulaire est préremplie avec le
> questionnaire
> sélectionné
> Questionnaire qObtenu = form.getModelObject();
> Assert.assertNotNull(qObtenu);
> 
> //Vérification du sexe des destinataires
> String genreAttendu = qObtenu.getSexeDestinataire().toString();
> String genreObtenu =
> ((RadioGroup)form.get("genre")).getDefaultModelObjectAsString();
> Assert.assertEquals(genreAttendu, genreObtenu);
> 
> TagTester tagFemme =
> tester.getTagByWicketId("formCreationQuestionnaire:genre:femme");
> TagTester tagHomme =
> tester.getTagByWicketId("formCreationQuestionnaire:genre:homme");
> TagTester tagMixte =
> tester.getTagByWicketId("formCreationQuestionnaire:genre:mixte");
> tester.debugComponentTrees();
> Assert.assertNotNull(tagFemme);
> 
> Assert.assertTrue(tagFemme.hasAttribute("checked"));
> Assert.assertFalse(tagHomme.hasAttribute("checked"));
> Assert.assertFalse(tagMixte.hasAttribute("checked"));
> }

-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Shunmuga Raj
Hi all,

  I'm new to Wicket. Can you help me to know what is wicket & how it
works? pls ppl's mail me the links for it's tutorials and learning path. Now
i'm using Netbeans 6.9,7.0 so pls share the plugins for it too, Thanks in
advance

On Fri, Aug 19, 2011 at 11:28 PM, "Mike Müller"  wrote:

> If i'm not completely wrong is tester.clickLink(path) a wrapper for
> tester.clickLink(path, isAjax = true). So you get an ajax response.
> You can check that by calling tester.dumpPage().
>
> The problem is that wicket tester only works on page markup. It is not
> working on ajax response markup (at least i didn't get it to work.
> Once i've wrote an extractor. Maybe that helps you to.
>
> 
> package de.frontend.wicket.testtools;
>
> public final class AjaxResponseComponentMarkup {
>
>private final String _ajaxResponseMarkup;
>private final int _componentTagStartPosition;
>private final int _componentTagEndPosition;
>
>public AjaxResponseComponentMarkup(String ajaxResponseMarkup) {
>_ajaxResponseMarkup = ajaxResponseMarkup;
>_componentTagStartPosition =
> _ajaxResponseMarkup.indexOf("_componentTagEndPosition =
> _ajaxResponseMarkup.indexOf("");
>}
>
>public String extract() {
>StringBuilder result = new StringBuilder();
>if (hasComponentTag()) {
>
>  
> result.append(_ajaxResponseMarkup.substring(startOfAjaxResponseComponentMarkup(),
> endOfAjaxResponseComponentMarkup()));
>}
>return result.toString();
>}
>
>private int startOfAjaxResponseComponentMarkup() {
>String cdataTag = "";
>return
> _ajaxResponseMarkup.substring(_componentTagStartPosition,
> _componentTagEndPosition).lastIndexOf(cdataTag) +
> _componentTagStartPosition;
>}
>
>private boolean hasComponentTag() {
>return _componentTagStartPosition != -1;
>}
> }
> 
> This is only extracting the markup in CDATA of ajax response.
> Use it this way:
>
> 
>
>private void assertExpandedNodeAt(int row) {
>List t = TagTester.createTagsByAttribute(new
> AjaxResponseComponentMarkup(_tester.getServletResponse().getDocument()).extract(),
> "wicketpath",
>"brdPage_availability_tariffTable_rows_" +
> row + "_cells_1_cell_junction", true);
>Assert.assertTrue("Node " + row + " is collapsed",
> t.get(0).getAttributeIs("class", "tree-junction-expanded"));
>}
> 
>
> Please see TagTester.createTagsByAttribute for concrete parameters
> required.
>
> Maybe someone else has a better approach. But for me this was working.
>
> Hth
> Mike
>
>  Original-Nachricht 
> > Datum: Fri, 19 Aug 2011 18:38:43 +0200
> > Von: Mathilde Pellerin 
> > An: users@wicket.apache.org
> > Betreff: Re: how to test what radio is checked in a radiogroup?
>
> > hum, yes and no... I mean, page is loaded by an ajax response (AjaxLink),
> > but then there is no Ajax.
> > This is the entire test, maybe it can help :
> >
> > @SuppressWarnings("unchecked")
> > @Test @Transactional @Rollback
> > public void
> testStory23_TA21_VerificationInitialisationBoutonsRadio(){
> > tester.startPage(RecapitulatifQuestionnairePage.class);
> > tester.assertRenderedPage(RecapitulatifQuestionnairePage.class);
> > tester.clickLink("questionnaireEnCours:1:modifier");
> > tester.assertRenderedPage(CreationQuestionnairePage.class);
> >
> > Form form = (Form)
> > tester.getComponentFromLastRenderedPage(
> > "formCreationQuestionnaire");
> >
> > //On vérifie que le formulaire est préremplie avec le
> > questionnaire
> > sélectionné
> > Questionnaire qObtenu = form.getModelObject();
> > Assert.assertNotNull(qObtenu);
> >
> > //Vérification du sexe des destinataires
> > String genreAttendu = qObtenu.getSexeDestinataire().toString();
> > String genreObtenu =
> > ((RadioGroup)form.get("genre")).getDefaultModelObjectAsString();
> > Assert.assertEquals(genreAttendu, genreObtenu);
> >
> > TagTester tagFemme =
> > tester.getTagByWicketId("formCreationQuestionnaire:genre:femme");
> > TagTester tagHomme =
> > tester.getTagByWicketId("formCreationQuestionnaire:genre:homme");
> > TagTester tagMixte =
> > tester.getTagByWicketId("formCreationQuestionnaire:genre:mixte");
> > tester.debugComponentTrees();
> > Assert.assertNotNull(tagFemme);
> >
> > Assert.assertTrue(tagFemme.hasAttribute("checked"));
> > Assert.assertFalse(tagHomme.hasAttribute("checked"));
> > Assert.assertFalse(tagMixte.hasAttribute("checked"));
> > }
>
> --
> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
> belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
>
> 

Re: how to test what radio is checked in a radiogroup?

2011-08-19 Thread Per Newgro

Welcome to wicket Shunmuga

Did you check the website http://wicket.apache.org already. It's all there.
Check the wiki, component examples and books section.

Hope you have fun with wicket

Cheers
Per

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Wicket Basics.

2011-08-19 Thread Shunmuga Raj
Hi Per Newgro,

  Thanks for your valuable information.  I dont
know wicket basics also. If u have any tuorials or tutorial links
means pls send me. I downloaded some files for netbeans plugin from
IDE Plugins link.  But i dont know how to install it. Do you small
program to understand the wicket easily. If so means, pls send those
things to these id's.

Thanks in advance
On 8/19/11, Per Newgro  wrote:
> Welcome to wicket Shunmuga
>
> Did you check the website http://wicket.apache.org already. It's all there.
> Check the wiki, component examples and books section.
>
> Hope you have fun with wicket
>
> Cheers
> Per
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Log bookmarkable page link execution

2011-08-19 Thread Martijn Dashorst
Why not use the RequestLogger? (see chapter 14 of Wicket in Action)

Martijn

On Thu, Aug 18, 2011 at 1:51 PM, Mike Mander  wrote:
> Hi,
>
> i would like to log execution of bookmarkable page links. I know that they
> are only renderered in markup and call the page from the browser.
>
> Maybe someone has a hint for me here?
>
> Thanks
> Mike
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>



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

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Strange error

2011-08-19 Thread Martin Makundi
I believe there are numerous such Maps, but what can be the cause of
concurrent modification? Wicket should be allowing only single thread
operating on the object?


**
Martin

2011/8/19 Dan Retzlaff :
> I tend to agree that odds of a Wicket bug in this area are small. Can you
> think of a case in your application where a component has a HashMap of
> objects which have a TreeMap of objects? Maybe the source of this collection
> within your application is the problem.
>
> On Fri, Aug 19, 2011 at 8:50 AM, Martin Makundi <
> martin.maku...@koodaripalvelut.com> wrote:
>
>> Hi!
>>
>> I don't know how to reproduce it... and I wonder, because there is
>> pagemap lock, what else can be modifying stuff during page
>> serialization?
>>
>> **
>> Martin
>>
>> 2011/8/19 Dan Retzlaff :
>> > How reproducible is this? I don't know how the serialization process
>> itself
>> > would cause this, but if it's intermittent then maybe there's a threading
>> /
>> > synchronization bug somewhere.
>> >
>> > On Fri, Aug 19, 2011 at 1:59 AM, Martin Makundi <
>> > martin.maku...@koodaripalvelut.com> wrote:
>> >
>> >> Hi!
>> >>
>> >> What can be the cause of this error, how can there be concurrent
>> >> modification to a item on a page being serialized?
>> >>
>> >> **
>> >> Martin
>> >>
>> >>
>> >> java.util.ConcurrentModificationException
>> >>        at
>> >> java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
>> >>        at java.util.TreeMap$EntryIterator.next(TreeMap.java:1136)
>> >>        at java.util.TreeMap$EntryIterator.next(TreeMap.java:1131)
>> >>        at java.util.TreeMap.writeObject(TreeMap.java:2250)
>> >>        at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
>> >>        at java.util.HashMap.writeObject(HashMap.java:1001)
>> >>        at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
>> >>        at
>> >> java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
>> >>        at
>> >> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
>> >>        at
>> >>
>> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
>> >>        at org.apache.wicket.Component.writeObject(Component.java:4702)
>> >>        at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
>> >>        at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >>        at java.lang.reflect.Method.invoke(Method.java:597)
>> >>        at
>> >> java.io.ObjectStreamClass.invokeWrit