I believe its not the right place to proceed with this issue now that i have
some more questions, so i am going to start a new thread.."when cookies are
disabled"


igor.vaynberg wrote:
> 
> if you disable cookies it will be appended to every url.
> 
> if you use cookies after the first request jsessionid migrates from
> urls to a cookie - so you see it on the first request of a new
> session, and never again for the duration of that session.
> 
> -igor
> 
> 
> On Jan 24, 2008 1:10 PM, mfs <[EMAIL PROTECTED]> wrote:
>>
>> makes sense...
>>
>> Just one more thing which i just noticed..not sure if it has got to with
>> the
>> mounting of urls, but in certain instances i seet he jsession="[id]"
>> postfixed with the urls, but not for all pages, its just random..even at
>> times it appears for one and at a different time it doesn't. Any idea ?
>>
>>
>>
>> igor.vaynberg wrote:
>> >
>> > On Jan 23, 2008 6:32 PM, mfs <[EMAIL PROTECTED]> wrote:
>> >>
>> >> Wouldn't the former approach have more overahead since it would first
>> >> load
>> >> the Contact (when the getmodelobject() is called) and than the
>> deletion
>> >> operation..
>> >>
>> >> The later one atleast just does the deletion in one call though based
>> on
>> >> its
>> >> primary key..
>> >
>> > well, that all depends. if you are using something like hibernate or
>> > something else that has a query cache then the chances of a query to
>> > load the object are significantly reduced. also, how often do users
>> > delete the object? so you are really optimizing a rare usecase...
>> >
>> > what you gain is that your UI code is not polluted with calls that
>> > require you to load things. you simply have an IModel to deal with.
>> >
>> > -igor
>> >
>> >
>> >>
>> >>
>> >>
>> >>
>> >> igor.vaynberg wrote:
>> >> >
>> >> > 1) when the page is opened the second time there will not be N
>> >> > selects, next time please confirm that it is indeed the case before
>> >> > posting to this list. it is not the case because when the page is
>> >> > opened the second time the items in dataview are discarded and
>> >> > recreated in the exact same manner as when the page was opened the
>> >> > first time...
>> >> >
>> >> > 2) why the detachable model is there:
>> >> > in order to identify an entity in the database you use its primary
>> >> > key. the contactdetachablemodel is like that primary key. lets
>> assume
>> >> > in your dataview.populateitem() you do
>> >> >
>> >> > item.add(new link("delete", item.getmodel()) { onclick() {
>> >> > dao.delete(getmodelobject()); }});
>> >> >
>> >> > that link needs to be tied to the contact it needs to delete
>> >> > somehow...how do you do that. well you can use the model like i did
>> >> > above, or you can do
>> >> >
>> >> > populateitem(item item) {
>> >> >   Contact c=item.getModelObject();
>> >> >   item.add(new link("delete", new model(c.getid()) { onclick() {
>> >> > dao.deletebypk(getmodelobject()); }});
>> >> >
>> >> > but this breaks encapsulation because you need to know what
>> contact's
>> >> > primary key is, it is much easier to deal with an imodel and not
>> care.
>> >> > also if you need to pass this contact down to a panel, that panel
>> can
>> >> > also just take an imodel and be able to retrieve that contact on
>> >> > subsequent requests without having to know how to do that via a
>> >> > primary key. makes sense?
>> >> >
>> >> > to sum up: the contactdetachablemodel is like an abstraction to a
>> >> > primary key and a way to retrieve the contact by its primary key.
>> >> >
>> >> > -igor
>> >> >
>> >> > On Jan 23, 2008 3:29 AM, beam <[EMAIL PROTECTED]> wrote:
>> >> >>
>> >> >> Hello everybody!
>> >> >> There is a page PagingPage in Wicket Examples(repeater folder)
>> >> >> And this page contain next code:
>> >> >> DataView dataView = new DataView("pageable", new
>> >> ContactDataProvider())
>> >> >>
>> >> >> ContactDataProvider implements method iterator:
>> >> >>
>> >> >>         public Iterator iterator(int first, int count)
>> >> >>         {
>> >> >>                 return getContactsDB().find(first, count,
>> "firstName",
>> >> >> true).iterator();
>> >> >>         }
>> >> >> It returns List of Contacts.
>> >> >>
>> >> >> And there is next code:
>> >> >>         /**
>> >> >>          * wraps retrieved contact pojo with a wicket model
>> >> >>          *
>> >> >>          * @see
>> >> >>
>> >>
>> org.apache.wicket.markup.repeater.data.IDataProvider#model(java.lang.Object)
>> >> >>          */
>> >> >>         public IModel model(Object object)
>> >> >>         {
>> >> >>                 return new DetachableContactModel((Contact)object);
>> >> >>         }
>> >> >> So why we need to wrap every item of this List to
>> >> DetachableContactModel.
>> >> >> When page open in a first time  there will be only on SELECT
>> request
>> >> to
>> >> >> Database(iterator(int first, int count) -> SELECT * FROM Contacts
>> >> LIMIT
>> >> >> first, count)). But when page will open in a second time there will
>> be
>> >> N
>> >> >> SELECTs (where N == count) for every Contact object in
>> >> >> DetachableContactModel because it calls method load().
>> >> >>
>> >> >> So I don't understand why wrap items(Contact in this example) to
>> >> >> DetachableContactModel? One select to retrieve all Contact on the
>> page
>> >> >> better than N SELECTs, isn't it?
>> >> >>
>> >> >> P.S. Sorry for my bad english
>> >> >> --
>> >> >> View this message in context:
>> >> >>
>> >>
>> http://www.nabble.com/Confused-with-IDataProvider-tp15039652p15039652.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/Confused-with-IDataProvider-tp15039652p15057496.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/Confused-with-IDataProvider-tp15039652p15075078.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/Confused-with-IDataProvider-tp15039652p15078584.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