heh :) look, all I'm saying is that this is a classic exception scoping problem. Do we handle the exception within the current method or do we propegate it into the caller?

The only time I believe it is correct to swallow exceptions is if there is no chance the caller can ever correctly handle it. In this case, I believe there is at least one valid use-case for the caller to want to handle the exception. That's all I'm saying.

In the grand scheme of things I wouldn't care if you choose to disregard my opinion and implement it the way you want to. It's your choice. But I'm just trying to explain my point of view as well.

Gili

Igor Vaynberg wrote:
Yes I see now, this is exactly like autoboxing.

-Igor

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gili
Sent: Saturday, August 20, 2005 12:33 PM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex problems


Right, but from a error-prevention point of view, if I provided a user with a link to "next page" and he clicks on it and sees the same page a second time, that looks like a bug to him (and to me too).

From the point of view of your use-case (the underlying data is constantly changing) it make sense so I can see your point of view. But from my point of view where the underlying data is static it is always an error to provide a link to "next page" if no such page exists.

To me this question is equivilent to Autoboxing. When Sun introduced autoboxing there was a question on whether to cast "null" Integer to 0 int or to throw an exception. They chose the latter (mostly because of lots of user feedback pointing them in that direction) because unlike C (and the errno mechanism) we don't want to count on developers explicitly checking for errors. What if they forget?

Gili

Igor Vaynberg wrote:

The pageable component decides what the actual page number is

Navigator.setCurrentPage(int page) {
        pageable.setCurrentPage(page);
}

PaegableDataView.setCurrentPage(int page) { if (page<0) page=0;
        if (page>=pagecount) page=pagecount-1;
        currentpage=page;
}

This handles the out of bounds quietly instead of always throwing an
exception.

-Igor




-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Christian Essl
Sent: Saturday, August 20, 2005 12:13 PM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex problems

I am a bit of track now. Please help me getting back. My question is who finds the real last page? The one who calls setCurrentPage() (the navigator) or the one who implements setCurrentPage() (the pageable component).

To me it currently makes no sense to speak about IndexOutOfBoundExceptions or template methods, before this is not clear - to me.

Please help.

Christian

On Sat, 20 Aug 2005 13:40:54 -0400, Gili <[EMAIL PROTECTED]> wrote:



I too prefer finding the *real* last page and going

there. At least,

that makes sense for my use-case.

Gili

Johan Compagner wrote:


hmm i don't know about this.
Because the DataView is the one that gives the total

pagecount. The

navigator just uses it.
And if the navigator sets a page that is suddenly out of

range then 2

things can be done:

Math.min(wantedPageCount,maxPageCount)

or if(wantedPageCount > maxPageCount) wantedPage = 0

because the view you get in the browser is very strange.
You see nothing in the list, You don't see any selection in the navigator (because the 'currentpage' isn't listed anymore)

I prefer to go the the last page. Because it wanted to

show data that

was further on.

johan


Christian Essl wrote:



I do not know about ListView, but I think DataView and PagableDataView could be merged quite easaly.

It already has the data-set size and the rows-count per

page. All we

would need is to add a currentPage property and than we

just render

from the startIndex+offsetOfPage.

On bounding: I think we should strictly adhear to the

navigator for

the current page property. If DataView is instructed to

show ie page

7 and there is nothing anymore on page 7 than it should

just show
nothing. The navigator should deal with that, it is the one who shows the current page-label. Especially DataView should

not do any

more bounding than Math.max(0,settedPage). That is

because you can

realy get some nasty bugs if a property value is set, than internally changed in the setMethod and than not

afterwards reread.

Alternatively we should at least throw an IndexOutOfBoundsEx.

I think I'll (try to) implement Igor's Grid example as a

Component

after the IPageable is stable and DataView/PagabelDataView implements it. I guess before this it is just redundant work and there is the example which does with just one copy-paste

the job very well.


Christian

On Fri, 19 Aug 2005 09:28:27 -0700, Igor Vaynberg <[EMAIL PROTECTED]> wrote:



I really like the idea of having a listview that shows

everything

by default, and when you attach a pager to it it becomes

pageable.

So something like irangepageable { getrowsperpage() setrowsperpage() getmaxrows() }But that's just me.

Btw whats getmaxrows() is that getrowcount()?

I don't see why the listview cannot have

setrowsperpage() anyways

which defaults to showing everything until used.

-Igor




-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Johan Compagner
Sent: Friday, August 19, 2005 2:29 AM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex problems




Alternatively we should make an PageableOrderedRepeatingView.


I want to wait for the new navigation to be done so we

don't need to


have the regular - pageable pairs.



I am currently inclined to keep this difference.

Because now i have

IPageable
{
  getCurrentPage();
  setCurrentPage(int);
  getPageCount();
}

and i think i will make this one:

IRangePageable extends IPageable
{
  getRowsPerPage();
  getMaxRows();
}

instead of

IRangePageable extends IPageable
{
  setRowsPerPage(int);
  getMaxRows();
}

i think setting the number of rows a page should display is a property of the View that displays them Not something of the Navigation/Navigator that is attached to it..

But if others are more in for pushing the rows per page

instead of

pulling then i could change my mind.

and ListView doesn't have to be a RangePageable it

could also be

used to display a panel and that it is only a Pageable

So giving a

listview by default the RangePageable interface is also wrong.
ListView could be directly an IPageable and

PageableListView an
IRangePageable.

looks that logical?

johan


johan



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software

Conference & EXPO

September 19-22, 2005 * San Francisco, CA * Development

Lifecycle

Practices Agile & Plan-Driven Development * Managing

Projects &
Teams * Testing & QA Security * Process Improvement &

Measurement

* http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user







-------------------------------------------------------
SF.Net email is Sponsored by the Better Software

Conference & EXPO

September 19-22, 2005 * San Francisco, CA * Development

Lifecycle

Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement &

Measurement *

http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software

Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing

Projects & Teams

* Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user



--
Christian Essl
        

        
                
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user








-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development

Lifecycle Practices

Agile & Plan-Driven Development * Managing Projects & Teams

* Testing & QA

Security * Process Improvement & Measurement *

http://www.sqe.com/bsce5sf

_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


--
http://www.desktopbeautifier.com/


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user








-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


--
http://www.desktopbeautifier.com/


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to