Ok, I added;
public class Debug {
public static void debug(List list) {
for (Object item : list) {
System.out.println("++DEBUG++: " +
item.getClass().toString());
}
}
and called debug just before I returned my ArrayList of question:
public ArrayList<QuestionAndAnswer> getQuestions() {
Debug.debug(questions);
return questions;
}
This is what I saw in my console. There are two objects in the list
and they are both QuestionAndAnswer objects
++DEBUG++: class com.musmato.model.QuestionAndAnswer
++DEBUG++: class com.musmato.model.QuestionAndAnswer
Regards,
Pieter
On Oct 23, 2008, at 11:18 AM, Dipu wrote:
can't you check what exactly is being returned by
template.getQuestions()
and if its a list what are the items in it
On Thu, Oct 23, 2008 at 10:10 AM, pieter claassen <[EMAIL PROTECTED]
>wrote:
Hi Dipu,
I tried that but when I do the following:
protected void populateItem(ListItem item) {
System.out.println("+++++++" +
item.getModelObject().getClass().getName());
final QuestionAndAnswer qanda =
(QuestionAndAnswer)
item.getModelObject();
I find that I now get the ClassCastException in the
System.out.println
line. It is clear as mud that the problem is that I am trying to
force
something into a list which is not a list?
Regards,
Pieter
On Oct 23, 2008, at 10:59 AM, Dipu wrote:
looks like template.getQuestions() is returning a list with items
in it
which is not of the type QuestionAndAnswer
try iterating through the list and logging the class name of each
item in
it
Dipu
On Thu, Oct 23, 2008 at 9:46 AM, pieter claassen <[EMAIL PROTECTED]
wrote:
I am getting a classcast exception in ListView that is stumping me.
This is the error message (top few lines)
WicketMessage: Error attaching this container for rendering:
[MarkupContainer [Component id = questioneditform]]
Root cause:
java.lang.ClassCastException: com.musmato.model.QuestionAndAnswer
at
org
.apache
.wicket
.markup.html.list.ListItemModel.getObject(ListItemModel.java:55)
at org.apache.wicket.Component.getModelObject(Component.java:1558)
at
com.musmato.wicket.pages.templates.TemplateEditPage
$QuestionEditForm$1.populateItem(TemplateEditPage.java:93)
This is the code that generates my ListItems:
ListView questions = new ListView("questions",
template
.getQuestions()) {
@Override
protected void populateItem(ListItem
item) {
final QuestionAndAnswer qanda =
(QuestionAndAnswer) item
.getModelObject
();
setModel(new
CompoundPropertyModel(qanda));
I know for a fact that template.getQuestions() produces an
ArrayList.
The arraylist works when there is only 1 item in it but when I
have more
than 1 item, it fails with the ClassCastException. Is this a wicket
problem
or am I doing something wrong?
Regards,
Pieter
pieter claassen
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
pieter claassen
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
pieter claassen
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]