I know, I've been writing jdbc and hibernate daos before.

Dariusz

-----Original Message-----
From: Igor Vaynberg [mailto:[EMAIL PROTECTED] 
Sent: 12 September 2007 16:31
To: [email protected]
Subject: Re: DataView paging

it would be trivial to write a jdbc dao impl for the phonebook as well.

-igor


On 9/11/07, Holda, Dariusz <[EMAIL PROTECTED]> wrote:
>
>
> Sorry for late response. I was dragged to another task.
> Thanks for pointing  me to the svn repository, it helped a lot. Shame
I
> can't use Hibernate or Ibatis as you do in your project.
>
> Thanks again,
> Dariusz
>
>
> -----Original Message-----
> From: Igor Vaynberg [mailto:[EMAIL PROTECTED]
> Sent: 31 August 2007 16:50
> To: [email protected]
> Subject: Re: DataView paging
>
> you are holding on to the entire list in your data provider, this is
> bad.
> you should only load the pieces of your list you need.
>
> further your loadabledetachablemodel is broken since you hold on to
the
> actual object itself. loadabel detachable models are meant to hold on
to
> the
> id, and in load() load the object from the database based on that id
>
> makes sense? see wicket-phonebook example in wicket-stuff svn.
>
> -igor
>
>
> On 8/31/07, Holda, Dariusz <[EMAIL PROTECTED]> wrote:
> >
> >
> > Hi,
> > I'm using my implementation of a DataView to display list of objects
> > that are own by another object.
> > I wrote my IDataProvider and LoadableDetachableModel so I can page
> > through the list - the list is quite long it can even have 5000,
6000
> > objects.
> > I'm displaying 10 rows on each page.
> > When I run application locally from my eclipse, everything is fine
but
> > when I run it on a server the delay during page changing is
> significant
> > e.g. 3 or more seconds.
> > Could someone advise me on this issue?
> > I'm attaching code snippets.
> >
> > class MyObjectDataProvider implements IDataProvider {
> >
> >         private static final long serialVersionUID =
> > -254289478999293765L;
> >         private List<MyObject> myObjects;
> >
> >         public MyObjectDataProvider(List<MyObject> myObjects){
> >                 this.myObjects = myObjects;
> >         }
> >
> >         public Iterator<MyObject> iterator(int first, int count) {
> >                 return new
> ArrayList<MyObject>(myObjects.subList(first,
> > first+count)).iterator();
> >         }
> >
> >         public IModel model(Object arg0) {
> >                 return new MyObjectModel((MyObject)arg0);
> >         }
> >
> >         public int size() {
> >                 return myObjects.size();
> >         }
> >
> >         public void setMyObjects(
> >                         List<MyObject> myObjects) {
> >                 this.myObjects = myObjects;
> >         }
> >
> >         private final class MyObjectModel extends
> > LoadableDetachableModel{
> >
> >                 private static final long serialVersionUID =
> > 8575601860619558208L;
> >                 private MyObject psc;
> >
> >                 public MyObjectModel(MyObject psc){
> >                         this.psc = psc;
> >                 }
> >
> >                 @Override
> >                 protected Object load() {
> >                         return psc;
> >                 }
> >
> >                 @Override
> >                 public int hashCode(){
> >                         return psc.hashCode();
> >                 }
> >
> >                 @Override
> >                 public boolean equals(Object o){
> >                         if(this == o){
> >                                 return true;
> >                         }
> >                         if(o instanceof MyObjectModel){
> >                                 MyObjectModel that =
(MyObjectModel)o;
> >                                 if(this.psc == null ?
that.psc==null:
> > this.psc.equals(that.psc)){
> >                                         return true;
> >                                 }
> >                         }
> >                         return false;
> >                 }
> >         }
> > }
> >
> > class MyObjectDataView extends DataView {
> >
> >         private static final long serialVersionUID =
> > -5679706549137629007L;
> >
> >
> >         /**
> >          * Constructor.
> >          *
> >          * @param name of this Component
> >          * @param myObjectModel model containing list of MyObject
> > objects
> >          */
> >         public MyObjectDataView(String name, IDataProvider
> > myObjectDataProvider) {
> >                 super(name, myObjectDataProvider);
> >         }
> >
> >         @Override
> >         protected void populateItem(Item item) {
> >                 MyObject psc = (MyObject)item.getModelObject();
> >                 TextField field1 = new TextField("field1",new
> > PropertyModel(psc,"field1"));
> >                 site.setEnabled(false);
> >
> >                 TextField field2 = new TextField("field2",new
> > PropertyModel(psc,"field2"));
> >                 currency.setEnabled(false);
> >
> >                 item.add(field1);
> >                 item.add(field2);
> >                 item.add(new TextField("field3",new
> > PropertyModel(psc,"field3"))));
> >                 item.add(new TextField("field4",new
> > PropertyModel(psc,"field4"))));
> >                 item.add(new TextField("field5",new
> > PropertyModel(psc,"field5"))));
> >                 item.add(new CheckBox("field6",new
> > PropertyModel(psc,"field6"))));
> >         }
> > }
> >
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
> - -
> > - - - - - - -
> >
> > This message is intended only for the personal and confidential use
of
> the
> > designated recipient(s) named above.  If you are not the intended
> recipient
> > of this message you are hereby notified that any review,
> dissemination,
> > distribution or copying of this message is strictly prohibited.
This
> > communication is for information purposes only and should not be
> regarded as
> > an offer to sell or as a solicitation of an offer to buy any
financial
> > product, an official confirmation of any transaction, or as an
> official
> > statement of Lehman Brothers.  Email transmission cannot be
guaranteed
> to be
> > secure or error-free.  Therefore, we do not represent that this
> information
> > is complete or accurate and it should not be relied upon as such.
All
> > information is subject to change without notice.
> >
> >
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
> - - - - - - -
>
> This message is intended only for the personal and confidential use of
the
> designated recipient(s) named above.  If you are not the intended
recipient
> of this message you are hereby notified that any review,
dissemination,
> distribution or copying of this message is strictly prohibited.  This
> communication is for information purposes only and should not be
regarded as
> an offer to sell or as a solicitation of an offer to buy any financial
> product, an official confirmation of any transaction, or as an
official
> statement of Lehman Brothers.  Email transmission cannot be guaranteed
to be
> secure or error-free.  Therefore, we do not represent that this
information
> is complete or accurate and it should not be relied upon as such.  All
> information is subject to change without notice.
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
- - - -

This message is intended only for the personal and confidential use of the 
designated recipient(s) named above.  If you are not the intended recipient of 
this message you are hereby notified that any review, dissemination, 
distribution or copying of this message is strictly prohibited.  This 
communication is for information purposes only and should not be regarded as an 
offer to sell or as a solicitation of an offer to buy any financial product, an 
official confirmation of any transaction, or as an official statement of Lehman 
Brothers.  Email transmission cannot be guaranteed to be secure or error-free.  
Therefore, we do not represent that this information is complete or accurate 
and it should not be relied upon as such.  All information is subject to change 
without notice.




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to