yes, i think is a email handling issue, because the ajax calls that i see through the wicket ajax debug window gives the right response.
igor.vaynberg wrote: > > first you have to confirm that this is a wicket issue or your email > handling issue. it sounds like it is an email handling issue. make > sure that part works first before trying to fix your UI components. > > -igor > > On Tue, May 27, 2008 at 4:01 AM, Davidoff <[EMAIL PROTECTED]> wrote: >> >> the problem is that even if i refresh the page manually, its content >> doesn't >> change...i modified the code for closing connection with the pop3 >> server...but nothing....i send emails but no new email results on the >> table....see the code: >> >> MailList.java >> >> public class MailList extends Panel implements Serializable { >> >> private ListView listTable; >> private ModalWindow modal; >> private Message[] messages; >> private List<Message> mailList; >> private int contains; >> >> >> public MailList(String id, final User user, Folder folder) throws >> MessagingException { >> super(id); >> // TODO Auto-generated constructor stub >> final Folder folder1=folder; >> try { >> contains=folder1.getMessageCount(); >> addOrReplace(new Label("contains","Your MailBox >> contains " + contains +" >> messages.")); >> >> messages=folder1.getMessages(); >> >> } catch (MessagingException e2) { >> // TODO Auto-generated catch block >> e2.printStackTrace(); >> } >> mailList=Arrays.asList(messages); >> >> add(new Label("prova",folder1.getFullName())); >> //user.closePopServer(); >> modal = new ModalWindow("modal"); >> >> >> //listTable.setReuseItems(true); >> >> listTable=new ListView("listview",mailList) >> { >> >> private int index; >> public void populateItem(ListItem item) >> { >> user.openPopServer(); >> try { >> final Message msg=(Message) >> item.getModelObject(); >> >> //Address[] >> add=msg.getFolder().open(Folder.READ_ONLY).getFrom(); >> >> index=msg.getMessageNumber(); >> AjaxLink rate = new >> AjaxLink("mess") { >> public void >> onClick(AjaxRequestTarget target) { >> >> >> >> GetMessage getMessage; >> >> >> getMessage = new GetMessage(modal.getContentId(), msg){}; >> >> >> >> modal.setContent(getMessage); >> >> >> modal.setInitialHeight(400); >> >> >> modal.setInitialWidth(800); >> >> >> modal.show(target); >> >> >> modal.setTitle("Mail View"); >> >> >> >> } >> }; >> >> rate.add(new >> Label("prova",String.valueOf(msg.getMessageNumber()))); >> >> item.add(rate); >> >> item.add(new AttributeAppender("class", true, new >> Model(index % 2 ==0 ? "odd": "even"), " ")); >> >> item.add(new Label("subject", >> msg.getSubject().toString())); >> >> item.add(new Label("from", >> msg.getFrom()[0].toString())); >> if >> (msg.getSentDate()!=null) >> >> >> item.add(new Label("date", >> msg.getSentDate().toString())); >> >> else >> >> >> item.add(new Label("date", "Nothing")); >> >> } catch >> (MessagingException e) { >> >> System.out.println("Error populate item"); >> // >> e.printStackTrace(); >> } >> try { >> >> >> messages=folder1.getMessages(); >> >> mailList=Arrays.asList(messages); >> >> contains=folder1.getMessageCount(); >> } catch >> (MessagingException e) { >> // TODO >> Auto-generated catch block >> >> e.printStackTrace(); >> } >> user.closePopServer(); >> >> } >> }; >> add(listTable); >> addOrReplace(modal); >> } >> >> } >> >> >> AccountPage.java >> >> public class AccountPage extends WebPage{ >> >> private Manager manager; >> private User user; >> private Folder folder; >> private MailList tableListPanel; >> private Store store; >> >> public AccountPage(String username,String password) throws >> MessagingException{ >> manager=new Manager("AjaxUbiMailDB",1000); >> user=manager.authenticate(username, password); >> add(new Label("welcome","hello "+ user.firstName() + " " + >> user.lastName() >> + ".")); >> folder=user.openPopServer(); >> tableListPanel=new MailList("mail",user,folder); >> WebMarkupContainer listContainer = new >> WebMarkupContainer("theContainer"); >> //generate a markup-id so the contents can be updated >> through an AJAX call >> listContainer.setOutputMarkupId(true); >> listContainer.add(new >> AjaxSelfUpdatingTimerBehavior(Duration.seconds(10))); >> // add the list view to the container >> listContainer.add(tableListPanel); >> // finally add the container to the page >> add(listContainer); >> // add(tableListPanel); >> } >> IModel mailList = new LoadableDetachableModel() >> { >> protected Object load() { >> >> user.closePopServer(); >> folder=user.openPopServer(); >> return tableListPanel; >> } >> }; >> } >> >> >> Please help me...i'm really in trouble! >> >> >> >> Iman Rahmatizadeh wrote: >>> >>> The problem is with the way you fetch the messages, they are not loaded >>> again , just fetched from the same folder instance each time. I guess >>> the >>> folder instance isnt updated between requests. >>> >>> On Fri, May 23, 2008 at 8:58 PM, Davidoff <[EMAIL PROTECTED]> wrote: >>> >>>> >>>> it just exists...it's in the code i posted >>>> >>>> IModel mailList = new LoadableDetachableModel() >>>> { >>>> protected Object load() { >>>> >>>> user.openPopServer(); >>>> try { >>>> messages=folder.getMessages(); >>>> } catch (MessagingException e) { >>>> // TODO Auto-generated catch >>>> block >>>> >>>> e.printStackTrace(); >>>> } >>>> List mailList1=Arrays.asList(messages); >>>> return mailList1; >>>> } >>>> }; >>>> } >>>> >>>> maybe the problem is that the new mails are not downloaded?!I've to >>>> start >>>> a >>>> new session or reconnect to the pop folder in some way (i think it just >>>> happens with folder.openPopServer() )?? >>>> >>>> >>>> igor.vaynberg wrote: >>>> > >>>> > you should use a loadable detachable model for your listview, that >>>> way >>>> > it will work transparently. >>>> > >>>> > -igor >>>> > >>>> > On Fri, May 23, 2008 at 9:25 AM, Davidoff <[EMAIL PROTECTED]> >>>> wrote: >>>> >> >>>> >> this is code for the mail list (i implemented modal windows in order >>>> to >>>> >> show >>>> >> emails but JWebUnit tests returned errors then i have to find some >>>> other >>>> >> way >>>> >> to show mails...my priority now is to find the way to refresh the >>>> mail >>>> >> listview: >>>> >> >>>> >> public class MailAccount extends WebPage { >>>> >> private ModalWindow modal; >>>> >> private Folder folder; >>>> >> private User user; >>>> >> private ListView listTable; >>>> >> private List<Message> test; >>>> >> private Message[] messages; >>>> >> private Message msg; >>>> >> private int index; >>>> >> public MailAccount(String username, String password) >>>> >> { >>>> >> Manager manager=new Manager("AjaxUbiMailDB",1000); >>>> >> user=manager.authenticate(username, password); >>>> >> add(new Label("message","Hello " + user.firstName() >>>> +" >>>> "+ >>>> >> user.lastName())); >>>> >> Properties sysProperties = System.getProperties(); >>>> >> Session >>>> session=Session.getDefaultInstance(sysProperties, >>>> >> null); >>>> >> session.setDebug(false); >>>> >> >>>> >> folder=user.openPopServer(); >>>> >> try { >>>> >> >>>> >> add(new Label("contains","Your MailBox >>>> contains >>>> "+ >>>> >> folder.getMessageCount() + " messages.")); >>>> >> >>>> >> >>>> >> } catch (MessagingException e) { >>>> >> // TODO Auto-generated catch block >>>> >> add(new Label("contains","Wrong Username or >>>> >> password")); >>>> >> System.out.println("Error on opening pop >>>> folder >>>> or >>>> >> something else"); >>>> >> //e.printStackTrace(); >>>> >> } >>>> >> >>>> >> >>>> >> initMailList(); >>>> >> >>>> >> WebMarkupContainer listContainer = new >>>> >> WebMarkupContainer("theContainer"); >>>> >> //generate a markup-id so the contents can be updated >>>> >> through an AJAX call >>>> >> listContainer.setOutputMarkupId(true); >>>> >> listContainer.add(new >>>> >> AjaxSelfUpdatingTimerBehavior(Duration.seconds(5))); >>>> >> // add the list view to the container >>>> >> listContainer.add(listTable); >>>> >> // finally add the container to the page >>>> >> add(listContainer); >>>> >> user.closePopServer(); >>>> >> modal = new ModalWindow("modal"); >>>> >> addOrReplace(modal); >>>> >> } >>>> >> >>>> >> public void initMailList(){ >>>> >> listTable=new ListView("listview",mailList) >>>> >> { >>>> >> private Folder folder=user.openPopServer(); >>>> >> >>>> >> public void populateItem(ListItem item) >>>> >> { >>>> >> try { >>>> >> final Message msg=(Message) >>>> >> item.getModelObject(); >>>> >> Address[] >>>> >> add=msg.getFrom(); >>>> >> >>>> index=msg.getMessageNumber(); >>>> >> AjaxLink rate = new >>>> >> AjaxLink("mess") { >>>> >> public void >>>> >> onClick(AjaxRequestTarget target) { >>>> >> >>>> >> >>>> >> GetMessage getMessage; >>>> >> >>>> >> getMessage = new GetMessage(modal.getContentId(), msg){}; >>>> >> >>>> >> modal.setContent(getMessage); >>>> >> >>>> >> modal.setInitialHeight(600); >>>> >> >>>> >> modal.setInitialWidth(1000); >>>> >> >>>> >> modal.show(target); >>>> >> >>>> >> modal.setTitle("Mail View"); >>>> >> >>>> >> } >>>> >> }; >>>> >> >>>> >> rate.add(new >>>> >> Label("prova",String.valueOf(msg.getMessageNumber()))); >>>> >> >>>> >> item.add(rate); >>>> >> >>>> >> item.add(new AttributeAppender("class", true, new >>>> >> Model(index % 2 ==0 ? "odd": "even"), " ")); >>>> >> >>>> >> item.add(new Label("subject", >>>> >> msg.getSubject().toString())); >>>> >> >>>> >> item.add(new Label("from", add[0].toString())); >>>> >> if >>>> >> (msg.getSentDate()!=null) >>>> >> >>>> >> item.add(new Label("date", >>>> >> msg.getSentDate().toString())); >>>> >> else >>>> >> >>>> >> item.add(new Label("date", "Nothing")); >>>> >> } catch (MessagingException >>>> e) >>>> { >>>> >> >>>> System.out.println("Error >>>> >> populate item"); >>>> >> // >>>> >> e.printStackTrace(); >>>> >> } >>>> >> >>>> >> } >>>> >> }; >>>> >> } >>>> >> IModel mailList = new LoadableDetachableModel() >>>> >> { >>>> >> >>>> >> >>>> >> protected Object load() { >>>> >> >>>> >> user.openPopServer(); >>>> >> try { >>>> >> >>>> messages=folder.getMessages(); >>>> >> } catch (MessagingException e) { >>>> >> // TODO Auto-generated catch >>>> block >>>> >> >>>> >> e.printStackTrace(); >>>> >> } >>>> >> List mailList1=Arrays.asList(messages); >>>> >> return mailList1; >>>> >> } >>>> >> }; >>>> >> } >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> igor.vaynberg wrote: >>>> >>> >>>> >>> On Fri, May 23, 2008 at 2:20 AM, Davidoff <[EMAIL PROTECTED]> >>>> wrote: >>>> >>>> >>>> >>>> I'm creating a simple webmail application: i've created a listview >>>> >>>> where >>>> >>>> the >>>> >>>> items are rows containing the number of the message, the subject >>>> and >>>> so >>>> >>>> on... my target is to reproduce what Gmail does: clicking on the >>>> number >>>> >>>> of a >>>> >>>> mail i wanto to read it's content, and clicking again i want to >>>> return >>>> >>>> to >>>> >>>> the list (the content collapses).How can i do this? >>>> >>> >>>> >>> include a hidden webmarkupcontainer which you then replace with >>>> some >>>> >>> other component that contains the mail content when the header is >>>> >>> clicked. replace it back with a webmarkupcontianer to collapse. >>>> >>> >>>> >>>> Second question: i created a list like this >>>> >>>> >>>> http://www.google.it/search?q=ajax+listview&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:it:official&client=firefox-a >>>> >>>> but even if i send emails to the address in list, the listview >>>> will >>>> not >>>> >>>> refresh(the messages are always the same). >>>> >>> >>>> >>> show us some code >>>> >>> >>>> >>> -igor >>>> >>> >>>> >>>> -- >>>> >>>> View this message in context: >>>> >>>> >>>> http://www.nabble.com/Ajax-ListView-as-Gmail-tp17421986p17421986.html >>>> >>>> Sent from the Wicket - User mailing list archive at Nabble.com. >>>> >>>> >>>> >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>>> >>>> >>> >>>> >>> >>>> --------------------------------------------------------------------- >>>> >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> >>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>> >>>> >>> >>>> >>> >>>> >> >>>> >> -- >>>> >> View this message in context: >>>> >> >>>> http://www.nabble.com/Ajax-ListView-as-Gmail-tp17421986p17428158.html >>>> >> Sent from the Wicket - User mailing list archive at Nabble.com. >>>> >> >>>> >> >>>> >> >>>> --------------------------------------------------------------------- >>>> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> >> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >> >>>> >> >>>> > >>>> > --------------------------------------------------------------------- >>>> > To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> > For additional commands, e-mail: [EMAIL PROTECTED] >>>> > >>>> > >>>> > >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Ajax-ListView-as-Gmail-tp17421986p17430132.html >>>> Sent from the Wicket - User mailing list archive at Nabble.com. >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Ajax-ListView-as-Gmail-tp17421986p17487871.html >> Sent from the Wicket - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Ajax-ListView-as-Gmail-tp17421986p17495562.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]