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]

Reply via email to