[Wicket-user] Spiral 12: null pointer exception in,setResponsePage

2005-08-19 Thread Dzenan Ridjanovic

Hi,

This is my guess only, why I have null pointer exception in
setResponsePage:

I use Observer/Observable for controlling the flow of pages.
This allows me to reuse forms in different contexts since
there is no setResponsePage in onSubmit.

For example:

public final class UrlsPage extends MemberWebPage implements Observer {

// urls is a collection that I will use to do url changes
private Urls urls;

public UrlsPage(final Category category) {
   this.category = category;
   urls = category.getUrls();
   urls.addObserver(this);
   List urlsList = urls.getList();
   createPageComponents(urlsList, urls);
   }

public void update(Observable o, Object arg) {
 if (o instanceof Urls) {
 urls.deleteObserver(this);
 
 // categoris with their urls are saved in an XML file

 UrlsApp app = (UrlsApp) getApplication();
   Categories entryCategories = app.getUrlsDb().getCategories();
   entryCategories.save();
   
   // line 99 where the error happens

   setResponsePage(new UrlsPage(category));
 }
 }

When a url change happens somewhere else, the update method
is called and I save changes to an XML file.
The next page is this one but refreshed to reflect changes.
Between urls.addObserver(this); here and, for example, url edit
somewhere else, there may be other pages with panels and forms.
Since Wicket keeps a certain number of pages in memory, it seems
to me (only my guess) that somehow this UrlsPage looses
its request cycle.

However, it may be that I am doing something terribly wrong that
I am not aware.

wicket.WicketRuntimeException: Method public abstract void 
wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of 
interface java.lang.reflect.Method threw an exception
   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:506)
   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:562)
   at 
wicket.protocol.http.WebRequestCycle.callComponentListener(WebRequestCycle.java:420)
   at 
wicket.protocol.http.WebRequestCycle.parseRequest(WebRequestCycle.java:129)

   at wicket.RequestCycle.request(RequestCycle.java:403)
   at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:304)
   at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:328)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
   at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
   at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
   at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
   at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
   at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
   at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

   at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
   at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:497)

   ... 22 more
Caused by: java.lang.NullPointerException
   at wicket.Component.setResponsePage(Component.java:1214)
   at org.wicket.urls.app.view.url.UrlsPage.update(UrlsPage.java:99)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at org.dzenanr.model.Entities.notifyObservers(Entities.java:795)
   at org.dzenanr.model.Entities.update(Entities.java:526)
   at 
org.wicket.urls.app.view.url.UrlEditForm.onSubmit(UrlEditForm.java:53)

   at wicket.markup.html.form.Form.delegateSubmit(Form.java:428)
   at wicket.markup.html.form.Form.process(Form.java:380)
   at wicket.markup.html.form.Form.onFormSubmitted(Form.java:212)
   ... 26 more

To reproduce this error go to the Urls application at

http://drdb.fsa.ulaval.ca/urls12/app

Click on the Categories link.
Login as (dr, dr).
Click on the Urls link for the Framework category.
Edit and save any of the two urls.

Every single time you get the error 

Re: [Wicket-user] Spiral 12: null pointer exception in,setResponsePage

2005-08-19 Thread Johan Compagner

ahh are you saying that you get that errors
when there is no request happening?
that pages get these events when they are just in the page map?
Yes then there is no request cycle.

johan


Dzenan Ridjanovic wrote:

Hi,

This is my guess only, why I have null pointer exception in
setResponsePage:

I use Observer/Observable for controlling the flow of pages.
This allows me to reuse forms in different contexts since
there is no setResponsePage in onSubmit.

For example:

public final class UrlsPage extends MemberWebPage implements Observer {

// urls is a collection that I will use to do url changes
private Urls urls;

public UrlsPage(final Category category) {
   this.category = category;
   urls = category.getUrls();
   urls.addObserver(this);
   List urlsList = urls.getList();
   createPageComponents(urlsList, urls);
   }

public void update(Observable o, Object arg) {
 if (o instanceof Urls) {
 urls.deleteObserver(this);
  // categoris with their urls are saved in an XML file
 UrlsApp app = (UrlsApp) getApplication();
   Categories entryCategories = app.getUrlsDb().getCategories();
   entryCategories.save();
  // line 99 where the error happens
   setResponsePage(new UrlsPage(category));
 }
 }

When a url change happens somewhere else, the update method
is called and I save changes to an XML file.
The next page is this one but refreshed to reflect changes.
Between urls.addObserver(this); here and, for example, url edit
somewhere else, there may be other pages with panels and forms.
Since Wicket keeps a certain number of pages in memory, it seems
to me (only my guess) that somehow this UrlsPage looses
its request cycle.

However, it may be that I am doing something terribly wrong that
I am not aware.

wicket.WicketRuntimeException: Method public abstract void 
wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of 
interface java.lang.reflect.Method threw an exception
   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:506) 

   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:562) 

   at 
wicket.protocol.http.WebRequestCycle.callComponentListener(WebRequestCycle.java:420) 

   at 
wicket.protocol.http.WebRequestCycle.parseRequest(WebRequestCycle.java:129) 


   at wicket.RequestCycle.request(RequestCycle.java:403)
   at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:304)
   at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:328)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) 

   at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) 

   at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) 

   at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 

   at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 

   at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 

   at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 

   at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 

   at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825) 

   at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731) 

   at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526) 

   at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) 

   at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 


   at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
   at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 


   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:497) 


   ... 22 more
Caused by: java.lang.NullPointerException
   at wicket.Component.setResponsePage(Component.java:1214)
   at org.wicket.urls.app.view.url.UrlsPage.update(UrlsPage.java:99)
   at java.util.Observable.notifyObservers(Observable.java:142)
   at org.dzenanr.model.Entities.notifyObservers(Entities.java:795)
   at org.dzenanr.model.Entities.update(Entities.java:526)
   at 
org.wicket.urls.app.view.url.UrlEditForm.onSubmit(UrlEditForm.java:53)

   at wicket.markup.html.form.Form.delegateSubmit(Form.java:428)
   at wicket.markup.html.form.Form.process(Form.java:380)
   at wicket.markup.html.form.Form.onFormSubmitted(Form.java:212)
   ... 26 more

To reproduce 

[Wicket-user] Spiral 12: null pointer exception in setResponsePage

2005-08-19 Thread Dzenan Ridjanovic



ahh are you saying that you get that errors
when there is no request happening?


Yes. When a user clicks on a submit button I make changes in the model (edit, remove or add) 
and then I want to display a page that will show the result of the user action. For that
I use Observer/Observable. If I used setResponsePage in onSubmit, it would work, but then 
I have a dependency on the next page in my code.



that pages get these events when they are just in the page map?
Yes then there is no request cycle.



johan


How come then that the error disappears when I replace 

setResponsePage; 


with

onRedirect;

???

Dzenan




---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


[Wicket-user] Spiral 12: Dropped Observer/Observable to avoid null pointer exception within setResponsePage

2005-08-19 Thread Dzenan Ridjanovic

Hi,

I have dropped Observer/Observable in the Urls application.
I have moved save (to file) and setResponsePage immediately after add, 
remove and update

(edit) actions.
The application works now without null pointer exception within 
setResponsePage.
As a consequence, I have lost some flexibility. For example, adding, 
removing and updating
urls from the member interests category context cannot be easily reused 
from the categories

context since the next pages in those two contexts are different.
Thus, I have decided to (read) only display category urls within the 
member interest context.


I have not yet changed Spiral 12 on the Web.

Have us all a nice weekend.

Dzenan


---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Spiral 12 update

2005-08-18 Thread Johan Compagner
which version of wicket are you testing ? (line numbers don't match with 
my code)


Because what is exactly null in youre place?
setResponsePage() is not doing much...
getRequestCycle().setResponsePage(page);

so somehow getRequestCycle() returns null ... But i don't know how this 
is possible.



Dzenan Ridjanovic wrote:

Hi,

The new member registration works now in Spiral 12 (urls12). The 
update is on the Web:


Spiral 12 introduction::
http://drdb.fsa.ulaval.ca/urls/web/spirals/spiral12/index.html

Spiral 12 in action:
http://drdb.fsa.ulaval.ca/urls12/app

Spiral 12 zip file:
http://drdb.fsa.ulaval.ca/urls/web/zip/urls12.zip


I have redesigned the NewMemberClass by not reusing MemberAddForm 
(private class NewMemberForm extends MemberForm) and by dropping 
Observer/Observable (the next page is now in the onSubmit method of 
NewMemberForm).


I still do not get why the first does not work, while the second does:

1. setResponsePage(new CategoriesPage()); // NullPointerException in edit
2. Page categoriesPage = new CategoriesPage();
   categoriesPage.onRedirect();

If there was a null pointer exception in the default constructor of 
CategoriesPage, it would be caught in 2. too.


I have complete listings of setResponsePage errors in the doc 
directory of urls12/doc (in .txt files).


A part of the error listing for Category edit:


wicket.WicketRuntimeException: Method public abstract void 
wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of 
interface java.lang.reflect.Method threw an exception
   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:506) 



 Caused by: java.lang.NullPointerException
   at wicket.Component.setResponsePage(Component.java:1214)
   at 
org.wicket.urls.app.view.category.CategoriesPage.update(CategoriesPage.java:153) 


   at java.util.Observable.notifyObservers(Observable.java:142)
   at org.dzenanr.model.Entities.notifyObservers(Entities.java:795)
   at org.dzenanr.model.Entities.update(Entities.java:526)
   at 
org.wicket.urls.app.view.category.CategoryEditForm.onSubmit(CategoryEditForm.java:50) 


   at wicket.markup.html.form.Form.delegateSubmit(Form.java:428)
   at wicket.markup.html.form.Form.process(Form.java:380)
   at wicket.markup.html.form.Form.onFormSubmitted(Form.java:212)


My avoidance of the error::
 // setResponsePage(new CategoriesPage()); // NullPointerException 
in edit

 Page categoriesPage = new CategoriesPage();
 categoriesPage.onRedirect();

It seems to me that the cause of errors might be my use of 
Observer/Observable for handling the next page. In the onSubmit method 
of a form I update the model that is observed by web pages. In a web 
page, in the update method I save the model changes to a file and then 
use setResponsePage (that is now in some pages replaced by onRedirect; 
in other pages I have not hit the problem yet).  To restrain 
Observer/Observable, in the update method the first thing I do is 
delete an observer. An example of the update method in MembersPage:


public void update(Observable o, Object arg) {
 if (o instanceof Members) { 
members.deleteObserver(this);

 UrlsApp app = (UrlsApp) getApplication();
 Members entryMembers = app.getUrlsDb().getMembers();
 entryMembers.save();
 //setResponsePage(new MembersPage()); // 
NullPointerException ?!Page membersPage = new MembersPage();

 membersPage.onRedirect();
 }
}

Dzenan


---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle 
Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing 
 QA

Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user




---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


[Wicket-user] Spiral 12 update

2005-08-18 Thread Dzenan Ridjanovic

Johan,

To be more precise, the null pointer exception does not appear all the 
time. It appeared several times while I was testing Spiral 12 that is on 
the Web:


http://drdb.fsa.ulaval.ca/urls12/app

Actions where the null pointer exception happened:

A member removal. (changed, no more error)
A category removal (changed, no more error)
A category edit (nothing changed, error from time to time)

Dzenan


---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Spiral 12 update

2005-08-18 Thread Johan Compagner




Well, I have at many places in my application. Those errors disappear 
when I replace, e.g.,


// NullPointerException in edit
setResponsePage(new CategoriesPage());

with

Page categoriesPage = new CategoriesPage();
categoriesPage.onRedirect();

Dzenan

\
You shouldn't call onRedirecT() because that is a interface method page 
has that can be triggerd by a interface call (IRedirectListener)


more strange is:

this is onRedirect:

public final void onRedirect()
   {
   final RequestCycle cycle = getRequestCycle();

   // Do not need to update cluster when redirecting to a page
   cycle.setUpdateCluster(false);

   // This method is used when redirecting to a page
   cycle.setResponsePage(this);
   }


this is setResponsePage:

getRequestCycle().setResponsePage(page);

as you can see
there isn't much difference!!!
Both the getRequestCycle() is go and setResponse is called.

So you should really check out what is now exactly null..

johan



---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


[Wicket-user] Spiral 12 update

2005-08-17 Thread Dzenan Ridjanovic

Hi,

The new member registration works now in Spiral 12 (urls12). The update 
is on the Web:


Spiral 12 introduction::
http://drdb.fsa.ulaval.ca/urls/web/spirals/spiral12/index.html

Spiral 12 in action:
http://drdb.fsa.ulaval.ca/urls12/app

Spiral 12 zip file:
http://drdb.fsa.ulaval.ca/urls/web/zip/urls12.zip


I have redesigned the NewMemberClass by not reusing MemberAddForm 
(private class NewMemberForm extends MemberForm) and by dropping 
Observer/Observable (the next page is now in the onSubmit method of 
NewMemberForm).


I still do not get why the first does not work, while the second does:

1. setResponsePage(new CategoriesPage()); // NullPointerException in edit

2. Page categoriesPage = new CategoriesPage();

   categoriesPage.onRedirect();

If there was a null pointer exception in the default constructor of 
CategoriesPage, it would be caught in 2. too.


I have complete listings of setResponsePage errors in the doc directory 
of urls12/doc (in .txt files).


A part of the error listing for Category edit:


wicket.WicketRuntimeException: Method public abstract void 
wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of 
interface java.lang.reflect.Method threw an exception
   at 
wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:506)


 Caused by: java.lang.NullPointerException
   at wicket.Component.setResponsePage(Component.java:1214)
   at 
org.wicket.urls.app.view.category.CategoriesPage.update(CategoriesPage.java:153)

   at java.util.Observable.notifyObservers(Observable.java:142)
   at org.dzenanr.model.Entities.notifyObservers(Entities.java:795)
   at org.dzenanr.model.Entities.update(Entities.java:526)
   at 
org.wicket.urls.app.view.category.CategoryEditForm.onSubmit(CategoryEditForm.java:50)

   at wicket.markup.html.form.Form.delegateSubmit(Form.java:428)
   at wicket.markup.html.form.Form.process(Form.java:380)
   at wicket.markup.html.form.Form.onFormSubmitted(Form.java:212)


My avoidance of the error::
 // setResponsePage(new CategoriesPage()); // NullPointerException 
in edit

 Page categoriesPage = new CategoriesPage();
 categoriesPage.onRedirect();

It seems to me that the cause of errors might be my use of 
Observer/Observable for handling the next page. In the onSubmit method 
of a form I update the model that is observed by web pages. In a web 
page, in the update method I save the model changes to a file and then 
use setResponsePage (that is now in some pages replaced by onRedirect; 
in other pages I have not hit the problem yet).  To restrain 
Observer/Observable, in the update method the first thing I do is delete 
an observer. An example of the update method in MembersPage:


public void update(Observable o, Object arg) {
 if (o instanceof Members) {
 members.deleteObserver(this);

 UrlsApp app = (UrlsApp) getApplication();

 Members entryMembers = app.getUrlsDb().getMembers();
 entryMembers.save();

 //setResponsePage(new MembersPage()); // NullPointerException 
?!   
 Page membersPage = new MembersPage();

 membersPage.onRedirect();
 }
}

Dzenan


---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


RE: [Wicket-user] Spiral 12 update

2005-08-17 Thread Eelco Hillenius
I'd like to take a look at it, but unfortunately it won't be before this 
weekend. So... if anyone else has ideas.
 
Eelco

-Oorspronkelijk bericht- 
Van: Dzenan Ridjanovic [mailto:[EMAIL PROTECTED] 
Verzonden: wo 17-8-2005 16:22 
Aan: wicket-user@lists.sourceforge.net 
CC: 
Onderwerp: [Wicket-user] Spiral 12 update



Hi,

The new member registration works now in Spiral 12 (urls12). The update
is on the Web:

Spiral 12 introduction::
http://drdb.fsa.ulaval.ca/urls/web/spirals/spiral12/index.html

Spiral 12 in action:
http://drdb.fsa.ulaval.ca/urls12/app

Spiral 12 zip file:
http://drdb.fsa.ulaval.ca/urls/web/zip/urls12.zip


I have redesigned the NewMemberClass by not reusing MemberAddForm
(private class NewMemberForm extends MemberForm) and by dropping
Observer/Observable (the next page is now in the onSubmit method of
NewMemberForm).

I still do not get why the first does not work, while the second does:

1. setResponsePage(new CategoriesPage()); // NullPointerException in 
edit

2. Page categoriesPage = new CategoriesPage();
categoriesPage.onRedirect();

If there was a null pointer exception in the default constructor of
CategoriesPage, it would be caught in 2. too.

I have complete listings of setResponsePage errors in the doc directory
of urls12/doc (in .txt files).

A part of the error listing for Category edit:


wicket.WicketRuntimeException: Method public abstract void
wicket.markup.html.form.IFormSubmitListener.onFormSubmitted() of
interface java.lang.reflect.Method threw an exception
at

wicket.protocol.http.WebRequestCycle.invokeInterface(WebRequestCycle.java:506)

  Caused by: java.lang.NullPointerException
at wicket.Component.setResponsePage(Component.java:1214)
at

org.wicket.urls.app.view.category.CategoriesPage.update(CategoriesPage.java:153)
at java.util.Observable.notifyObservers(Observable.java:142)
at org.dzenanr.model.Entities.notifyObservers(Entities.java:795)
at org.dzenanr.model.Entities.update(Entities.java:526)
at

org.wicket.urls.app.view.category.CategoryEditForm.onSubmit(CategoryEditForm.java:50)
at wicket.markup.html.form.Form.delegateSubmit(Form.java:428)
at wicket.markup.html.form.Form.process(Form.java:380)
at wicket.markup.html.form.Form.onFormSubmitted(Form.java:212)


My avoidance of the error::
  // setResponsePage(new CategoriesPage()); // NullPointerException
in edit
  Page categoriesPage = new CategoriesPage();
  categoriesPage.onRedirect();

It seems to me that the cause of errors might be my use of
Observer/Observable for handling the next page. In the onSubmit method
of a form I update the model that is observed by web pages. In a web
page, in the update method I save the model changes to a file and then
use setResponsePage (that is now in some pages replaced by onRedirect;
in other pages I have not hit the problem yet).  To restrain
Observer/Observable, in the update method the first thing I do is delete
an observer. An example of the update method in MembersPage:

public void update(Observable o, Object arg) {
  if (o instanceof Members) {   
  members.deleteObserver(this);

  UrlsApp app = (UrlsApp) getApplication();
  Members entryMembers = app.getUrlsDb().getMembers();
  entryMembers.save();

  //setResponsePage(new MembersPage()); // NullPointerException
?!  
  Page membersPage = new MembersPage();
  membersPage.onRedirect();
  }
}

Dzenan


---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle 
Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  
QA
Security * Process Improvement  Measurement * 
http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


winmail.dat

[Wicket-user] Spiral 12 - update

2005-08-17 Thread Dzenan Ridjanovic
I am  not sure what I should do in Thunderbird to be able to read 
properely a multi-part message such as


Message: 7
Subject: RE: [Wicket-user] Spiral 12 update
Date: Wed, 17 Aug 2005 17:45:16 +0200
From: Eelco Hillenius [EMAIL PROTECTED]
To: wicket-user@lists.sourceforge.net
Reply-To: wicket-user@lists.sourceforge.net

This is a multi-part message in MIME format.

--_=_NextPart_001_01C5A342.A9B5C8D2
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: base64

SSdkIGxpa2UgdG8gdGFrZSBhIGxvb2sgYXQgaXQsIGJ1dCB1bmZvcnR1bmF0ZWx5IGl0IHdvbid0
IGJlIGJlZm9yZSB0aGlzIHdlZWtlbmQuIFNvLi4uIGlmIGFueW9uZSBlbHNlIGhhcyBpZGVhcy4N
CiANCkVlbGNvDQoNCgktLS0tLU9vcnNwcm9ua2VsaWprIGJlcmljaHQtLS0tLSANCglWYW46IER6
ZW5hbiBSaWRqYW5vdmljIFttYWlsdG86ZHplbmFuLnJpZGphbm92aWNAZnNhLnVsYXZhbC5jYV0g
DQoJVmVyem9uZGVuOiB3byAxNy04LTIwMDUgMTY6MjIgDQoJQWFuOiB3aWNrZXQtdXNlckBsaXN0
...






---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


[Wicket-user] Spiral 12

2005-08-16 Thread Dzenan Ridjanovic

Hi,

I have a new version of the Urls application (Spiral 12 = urls12) that 
uses a tree.

Thanks to Eelco for making it possible.

Some interesting features:
Categories of urls can now be browsed within a tree with expandable and 
shrinkable nodes (Home:Categories Tree).
A member may now select a category of interest in the categories nested 
list simply by checking a category box (Home:Members:Interests).


Urls:

Spiral 12 introduction::
http://drdb.fsa.ulaval.ca/urls/web/spirals/spiral12/index.html

Spiral 12 in action:
http://drdb.fsa.ulaval.ca/urls12/app

Spiral 12 zip file:
http://drdb.fsa.ulaval.ca/urls/web/zip/urls12.zip

While testing the application I have discovered some strange things that 
I cannot explain.


CategoriesPage:
A category removal produces an exception (but it removes the member) ?!
Caused by: java.lang.NullPointerException
at wicket.Component.setResponsePage(Component.java:1214)
at 
org.wicket.urls.app.view.category.CategoriesPage.update(CategoriesPage.java:156) 


at java.util.Observable.notifyObservers(Observable.java:142)

Corrected in CategoriesPage by:
// NullPointerException in removal
// setResponsePage(new CategoriesPage(parentCategory));
Page categoriesPage = new CategoriesPage(parentCategory);
categoriesPage.onRedirect();

NewMemberPage:
After registering as a new member, the login is shown and not the home 
page (HomePage) ?!
If you login, the registration form is shown again with empty fields and 
validation errors.

Use the Home link to leave the form (you have been already logged in).
If you are confused (as I am with the reason for this), login as a 
regular member (dr, dr)

or an administrator (admin, admin).

Regards to all,

Dzenan




---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user