On Mon, 2009-03-02 at 15:11 -0500, Brill Pappin wrote:
> Ok, as suggested, here is the thread, and the first vote.
> 
> +1
> for making the generic definition the same for all list type components.

Yes, you are right. All those list type components should have the same
generic definition.

But: Don't "fix" those components that have the correct definition.
Please fix those that have the wrong (without wildcard) definition.


I think the core problem is, that IModel has a setter. But it doesn't
make any sense to offer a setter on a model providing a collection.

If all those list type components accept "IReadOnlyModel", most of the
discussed points will become obvious.


I think I will create another post, explaining the problem with IModel
and Collections...



Regards,

Johannes

> 
> FYI -  you can also "vote" in the issue I just created at (which might  
> actually be a better place to vote):
> https://issues.apache.org/jira/browse/WICKET-2137
> 
> - Brill
> 
> 
> 
> 
> On 28-Feb-09, at 5:18 PM, Jeremy Thomerson wrote:
> 
> > Perhaps start a vote thread, with the subject something like: "VOTE:  
> > Remove
> > ? extends from constructor of DropDownChoice".
> >
> > I'd be +1 non-binding
> >
> >
> > -- 
> > Jeremy Thomerson
> > http://www.wickettraining.com
> >
> >
> > On Sat, Feb 28, 2009 at 3:33 PM, Brill Pappin <[email protected]> wrote:
> >
> >> I'm of the don't widen it camp anyway :)
> >>
> >> So how do I go about gathering support for having the  
> >> DropDownChoice work
> >> with the models the way everything else does?
> >>
> >> - Brill
> >>
> >>
> >> On 28-Feb-09, at 1:42 AM, Igor Vaynberg wrote:
> >>
> >> yes, the choice was intentional. personally i do not care if it is  
> >> <T>
> >>> all the way, some users complained so we widened it on the choices
> >>> model, we cannot widen it on the main model.
> >>>
> >>> -igor
> >>>
> >>> On Fri, Feb 27, 2009 at 8:51 PM, Brill Pappin <[email protected]>  
> >>> wrote:
> >>>
> >>>> I see... but this would i think because Bar "is a" Foo:
> >>>>
> >>>> class Bar exends Foo {}
> >>>> List<? extends Foo> list = ...
> >>>> list.add(new Bar());
> >>>>
> >>>> Anyway, what your saying is that the generics choice was  
> >>>> intentional?
> >>>>
> >>>> - Brill
> >>>>
> >>>>
> >>>>
> >>>> On 27-Feb-09, at 3:19 PM, Igor Vaynberg wrote:
> >>>>
> >>>> list<? extends string> stings=...
> >>>>> strings.add("asd"); <== wont compile
> >>>>>
> >>>>> -igor
> >>>>>
> >>>>> On Fri, Feb 27, 2009 at 11:13 AM, Adriano dos Santos Fernandes
> >>>>> <[email protected]> wrote:
> >>>>>
> >>>>>>
> >>>>>> What do you mean with "read only" here?
> >>>>>>
> >>>>>>
> >>>>>> Adriano
> >>>>>>
> >>>>>>
> >>>>>> Igor Vaynberg escreveu:
> >>>>>>
> >>>>>>>
> >>>>>>> <? extends Foo> collections are read only, it would be too
> >>>>>>> inconvenient to make the model collection read only :)
> >>>>>>>
> >>>>>>> -igor
> >>>>>>>
> >>>>>>> On Thu, Feb 26, 2009 at 8:34 PM, Jeremy Thomerson
> >>>>>>> <[email protected]> wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>> This is what I was commenting on last week on the list (or  
> >>>>>>>> earlier
> >>>>>>>> this
> >>>>>>>> week).  One expects List<? extends Foo> while the other expects
> >>>>>>>> List<Foo>.
> >>>>>>>> I'm not fully convinced yet that the "? extends" is the better
> >>>>>>>> option.
> >>>>>>>> Either way, I think they should be the same.
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> Jeremy Thomerson
> >>>>>>>> http://www.wickettraining.com
> >>>>>>>>
> >>>>>>>> On Thu, Feb 26, 2009 at 8:27 PM, Brill Pappin <[email protected]>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Roughly what I'm doing is:
> >>>>>>>>>
> >>>>>>>>> class TypeA{}
> >>>>>>>>>
> >>>>>>>>> class TypeAModel extends LoadableDetachableModel<  
> >>>>>>>>> List<TypeA>> {
> >>>>>>>>>    public List<TypeA> load(){
> >>>>>>>>>            ... do the load ...
> >>>>>>>>>            return ...
> >>>>>>>>>    }
> >>>>>>>>> }
> >>>>>>>>>
> >>>>>>>>> TypeAModel model = new TypeAModel();
> >>>>>>>>> DropDownChoice< TypeA> ddc = new DropDownChoice<TypeA>("id",  
> >>>>>>>>> model
> >>>>>>>>> );
> >>>>>>>>>
> >>>>>>>>> which gets complained about... in this case the generic def is
> >>>>>>>>> DropDownChoice<List<? extends T>>
> >>>>>>>>>
> >>>>>>>>> I think the problem is that the generic def of the class  
> >>>>>>>>> should
> >>>>>>>>> actually
> >>>>>>>>> be
> >>>>>>>>> DropDownChoice<List<T>> because you are already identifying  
> >>>>>>>>> the type
> >>>>>>>>> when
> >>>>>>>>> you create a new instance.
> >>>>>>>>>
> >>>>>>>>> Now... my generics are a bit hazy at this level, because I can
> >>>>>>>>> understand
> >>>>>>>>> why it was done that way... does anyone with more generics
> >>>>>>>>> experience
> >>>>>>>>> know
> >>>>>>>>> what it should be? Is this a bug that needs filing?
> >>>>>>>>>
> >>>>>>>>> - Brill
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On 26-Feb-09, at 6:03 PM, Kaspar Fischer wrote:
> >>>>>>>>>
> >>>>>>>>> On 26.02.2009, at 22:52, Brill Pappin wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> For some reason the DropDownChoice component doesn't have  
> >>>>>>>>>> the same
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> generics as ListView and it will not accept a model that  
> >>>>>>>>>>> listview
> >>>>>>>>>>> will,
> >>>>>>>>>>> despite its saying that it will accept an IModel.
> >>>>>>>>>>>
> >>>>>>>>>>> Is anyone else having that sort of trouble with  
> >>>>>>>>>>> DropDownChoice?
> >>>>>>>>>>>
> >>>>>>>>>>> - Brill
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>> Can you give us more information on what exactly is not  
> >>>>>>>>>> working for
> >>>>>>>>>> you?
> >>>>>>>>>>
> >>>>>>>>>> DropDownChoice indeed does accept a model, see for instance  
> >>>>>>>>>> the
> >>>>>>>>>> example
> >>>>>>>>>> in
> >>>>>>>>>> the class description at
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> http://wicket.apache.org/docs/1.4/org/apache/wicket/markup/html/form/DropDownChoice.html
> >>>>>>>>>>
> >>>>>>>>>> This works for me.
> >>>>>>>>>>
> >>>>>>>>>> Kaspar
> >>>>>>>>>>
> >>>>>>>>>> --
> >>>>>>>>>>
> >>>>>>>>>> <!-- HTML: -->
> >>>>>>>>>> <select wicket:id="site">
> >>>>>>>>>>           <option>site 1</option>
> >>>>>>>>>>           <option>site 2</option>
> >>>>>>>>>> </select>
> >>>>>>>>>> <ul>
> >>>>>>>>>> <li wicket:id="site2"><wicket:container
> >>>>>>>>>> wicket:id="sitename"/></li>
> >>>>>>>>>> </ul>
> >>>>>>>>>>
> >>>>>>>>>> // Code
> >>>>>>>>>> List SITES = Arrays.asList(new String[] {
> >>>>>>>>>>   "The Server Side", "Java Lobby", "Java.Net"
> >>>>>>>>>> });
> >>>>>>>>>> form.add(new DropDownChoice("site", SITES));
> >>>>>>>>>> form.add(new ListView("site2", SITES)
> >>>>>>>>>> {
> >>>>>>>>>> @Override
> >>>>>>>>>> protected void populateItem(ListItem item)
> >>>>>>>>>> {
> >>>>>>>>>>   item.add(new Label("sitename", item.getModel()));
> >>>>>>>>>> }
> >>>>>>>>>> });
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> ---------------------------------------------------------------------
> >>>>>>>>>> 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]
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>> ? extends
> >>>>>>>
> >>>>>>> ---------------------------------------------------------------------
> >>>>>>> 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]
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> 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]
> >>>>
> >>>>
> >>>>
> >>> es, the choice
> >>>
> >>> ---------------------------------------------------------------------
> >>> 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]
> >>
> >>
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to