generics

View: New views
16 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 - 3 - 4 - 5 | Next >

Re: generics

by Martijn Dashorst :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 14, 2008 at 5:36 PM, Brill Pappin <brill@...> wrote:
> I'd say that WIcket *is a product*, and as such the consumers of that
> product have the final say.

We build this in our spare time, and are customers ourselves. Wicket
is not a product, it is an open source community. The definition of
community is in the strictest sense defined as the core committers.
They have to do the job, and won't do it when they don't see any
benefit, or don't enjoy working on the project.

> It's up to the "core committers" to do the best
> job they can to make sure their "consumers" are getting what they need...

We are not your slaves. The Apache license explicitly states so:

7. Disclaimer of Warranty. Unless required by applicable law or agreed
to in writing, Licensor provides the Work (and each Contributor
provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied, including, without
limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your
exercise of permissions under this License.

> just because it's an OS project that we don't have to buy, doesn't mean that
> the project doesn't depend on people using it.

We don't say that, but without the core committers, you won't have a
framework. Treat us gently and you'll get a lot done. :D

Martijn

--
Become a Wicket expert, learn from the best: http://wicketinaction.com
Apache Wicket 1.3.4 is released
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Brill Pappin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm not going to get into an argument on the definition of a product  
or how the rules of supply and demand apply to Wicket. Those that  
actually care about this thread can make up their own minds.

However I do object to being misrepresented. No where did I call you  
folks "slaves", and don't believe that to be true in the least... I  
didn't even allude to the concept.
I've been in your shoes as well and understand exactly why you do  
it... from various angles.

- Brill Pappin

On 14-Jul-08, at 11:47 AM, Martijn Dashorst wrote:

> On Mon, Jul 14, 2008 at 5:36 PM, Brill Pappin <brill@...> wrote:
>> I'd say that WIcket *is a product*, and as such the consumers of that
>> product have the final say.
>
> We build this in our spare time, and are customers ourselves. Wicket
> is not a product, it is an open source community. The definition of
> community is in the strictest sense defined as the core committers.
> They have to do the job, and won't do it when they don't see any
> benefit, or don't enjoy working on the project.
>
>> It's up to the "core committers" to do the best
>> job they can to make sure their "consumers" are getting what they  
>> need...
>
> We are not your slaves. The Apache license explicitly states so:
>
> 7. Disclaimer of Warranty. Unless required by applicable law or agreed
> to in writing, Licensor provides the Work (and each Contributor
> provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR
> CONDITIONS OF ANY KIND, either express or implied, including, without
> limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
> MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely
> responsible for determining the appropriateness of using or
> redistributing the Work and assume any risks associated with Your
> exercise of permissions under this License.
>
>> just because it's an OS project that we don't have to buy, doesn't  
>> mean that
>> the project doesn't depend on people using it.
>
> We don't say that, but without the core committers, you won't have a
> framework. Treat us gently and you'll get a lot done. :D
>
> Martijn
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.3.4 is released
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@...
> For additional commands, e-mail: users-help@...
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Eelco Hillenius :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> personally i am still in favor of going with the m2 way of doing things where
> Component is generic, but from the looks of the discussion i think i may be
> in the minority here.

Looking at the people who reacted, that seems to be the case. But the
reason why we ask people their opinion is of course to get an idea on
what involved users think, so I hope the discussion is somewhat
representative.

>  this kinda surprises me though because as i read the
> original generic discussion it sounded like most people supported
> Component<T>.

Well, the original discussion was more about whether to generify
Component in the first place. Because we got so many mixed reactions,
we looked for the third way, which is what m3 basically is.

So far, to me m3 looks like a good trade off that has the support of
the whole team and a decent amount of users. I'm afraid we can't make
everyone perfectly happy :-)

Cheers,

Eelco

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Eelco Hillenius :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I'd say that WIcket *is a product*, and as such the consumers of that product have the final say.

I think closer to reality - the consumer's final say - is that when
people don't like the product anymore, they'll switch to alternatives
or - unique to open source software - create their own branches.
Obviously, we value the input of involved users highly, which is
exactly why we start up these discussions! :-)

> That said, I think that you guys have done some good work and have produced
> a good product with or without the generics.

Cheers,

Eelco

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by David Leangen-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Don't have time to update to 1.4 yet, so I haven't been following this
thread much, but I did see this go by:

> > 2) the wicket web site now suggests the following code for generic
> > components:
> >
> > @SuppressWarnings("unchecked")
> > public final T getModelObject()
> > {
> >         return (T)getDefaultModelObject();
> > }

Normally, it shouldn't be necessary to have to use casting with
generics. In fact, the idea is that if no casting is used (along with a
few other constraints that I don't remember off hand), then the code is
guaranteed to be type safe.

In other words... something seems not quite right with the code above
because of the cast.


Sorry if I'm bringing up something already discussed. Like I said, I
haven't really been following this thread.


Cheers,
David




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Timo Rantalaiho :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, 15 Jul 2008, David Leangen wrote:

> Normally, it shouldn't be necessary to have to use casting with
> generics. In fact, the idea is that if no casting is used (along with a
> few other constraints that I don't remember off hand), then the code is
> guaranteed to be type safe.
>
> In other words... something seems not quite right with the code above
> because of the cast.
>
>
> Sorry if I'm bringing up something already discussed. Like I said, I
> haven't really been following this thread.

Heh, it sure has :) You can easily check out the previous
discussions from Nabble

  http://www.google.fi/search?q=wicket+nabble+generics&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a

To put it short, we're looking for an option where Component
could live without the class level type parameter but IModel
would have it.

Best wishes,
Timo

--
Timo Rantalaiho          
Reaktor Innovations Oy    <URL: http://www.ri.fi/ >

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Johan Compagner :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 14, 2008 at 10:44 PM, Eelco Hillenius <eelco.hillenius@...>
wrote:

> > personally i am still in favor of going with the m2 way of doing things
> where
> > Component is generic, but from the looks of the discussion i think i may
> be
> > in the minority here.
>
> Looking at the people who reacted, that seems to be the case. But the
> reason why we ask people their opinion is of course to get an idea on
> what involved users think, so I hope the discussion is somewhat
> representative.


really??

I think if you do an exact count also of the real vote you be surprised
i think it is more 50/50... maybe 60/40


> So far, to me m3 looks like a good trade off that has the support of
> the whole team and a decent amount of users. I'm afraid we can't make
> everyone perfectly happy :-)
>

thats true

SV: generics

by Wilhelmsen Tor Iver :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Brill Pappin [brill@...] wrote:
> I'd say that WIcket *is a product*, and as such the consumers
> of that product have the final say.

Not any more than you can e.g. go to Ford Motor Co. and demand they make
this and that modification to the design of the Mustang, for instance.
Like most consumers your way of "saying" is to choose whether to buy/use
the product or not, and it falls on the developer/manufacturer to fuind
out why you do or do not buy/use it.

(Walton's famous "the customer is always right" has a corollary: If
someone is wrong they simply is not a customer. :) )

> It's up to the "core committers" to do the best job they can to make
sure their
> "consumers" are getting what they need...

Not unless you want to start paying them to do so, becoming their "boss"
in the process. As they have pointed out, Wicket is not their job but
their "hobby" of sorts.

However: Since it is an OSS product you can download the source and
modify it as much as you like (like I did when I applied the portlet 2.0
patch to the 1.3 and 1.4 trees locally), even creating your own fork of
it if you so desire. You see, the "consumers" are also the potential
workers in the OSS world: if only a group of users want a feature it
falls on them to implement it.

> just because it's
> an OS project that we don't have to buy, doesn't mean that
> the project doesn't depend on people using it.

It does, but if it does not suit people's need they will look elsewhere.
There is a ton of web application frameworks out there to choose from.
If you like the separation of template and code in Wicket, try looking
into e.g. Facelets, which is JSF without the cursed mess called JSP.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Martijn Dashorst :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

You're right that 'slave' is too strong a word. I apologize.
Wilhelmsen Tor Iver reconstructed my intent much better.

Martijn

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Ricky-22 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

orginally said by Martijn:
We don't say that, but without the core committers, you won't have a
framework. Treat us gently and you'll get a lot done. :D

Ok, Please, can we generify components? :D

I have already stated my opinion, but i think we should not really be
bothered about generic notation, because anyways we will have some changes
coming up in Java 7 and with closures (which will be useful to wicket imho),
wicket HAS to change and use the new feature-set. At that point i know that
there will again be a debate whether we want to go with newer feature set
(especially closures etc) or not. Its just a matter of getting used to and
once you do, you will know how "elegant" generification really is.

Regards
Vyas, Anirudh
|| ॐ ||

On Tue, Jul 15, 2008 at 4:00 AM, Martijn Dashorst <
martijn.dashorst@...> wrote:

> You're right that 'slave' is too strong a word. I apologize.
> Wilhelmsen Tor Iver reconstructed my intent much better.
>
> Martijn
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@...
> For additional commands, e-mail: users-help@...
>
>

Re: SV: generics

by Brill Pappin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I agree completely.

- Brill

On 15-Jul-08, at 3:28 AM, Wilhelmsen Tor Iver wrote:

> Brill Pappin [brill@...] wrote:
>> I'd say that WIcket *is a product*, and as such the consumers
>> of that product have the final say.
>
> Not any more than you can e.g. go to Ford Motor Co. and demand they  
> make
> this and that modification to the design of the Mustang, for instance.
> Like most consumers your way of "saying" is to choose whether to buy/
> use
> the product or not, and it falls on the developer/manufacturer to  
> fuind
> out why you do or do not buy/use it.
>
> (Walton's famous "the customer is always right" has a corollary: If
> someone is wrong they simply is not a customer. :) )
>
>> It's up to the "core committers" to do the best job they can to make
> sure their
>> "consumers" are getting what they need...
>
> Not unless you want to start paying them to do so, becoming their  
> "boss"
> in the process. As they have pointed out, Wicket is not their job but
> their "hobby" of sorts.
>
> However: Since it is an OSS product you can download the source and
> modify it as much as you like (like I did when I applied the portlet  
> 2.0
> patch to the 1.3 and 1.4 trees locally), even creating your own fork  
> of
> it if you so desire. You see, the "consumers" are also the potential
> workers in the OSS world: if only a group of users want a feature it
> falls on them to implement it.
>
>> just because it's
>> an OS project that we don't have to buy, doesn't mean that
>> the project doesn't depend on people using it.
>
> It does, but if it does not suit people's need they will look  
> elsewhere.
> There is a ton of web application frameworks out there to choose from.
> If you like the separation of template and code in Wicket, try looking
> into e.g. Facelets, which is JSF without the cursed mess called JSP.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@...
> For additional commands, e-mail: users-help@...
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Johan Compagner :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

That discussion will not happen any time soon, first java 7 must be
released.. Then i guess 2+ or 3+ years will pass before java 7 is
widely used.
So i guess we can plan that discussion around 2011..

On 7/16/08, Ricky <ricky.nj@...> wrote:

> orginally said by Martijn:
> We don't say that, but without the core committers, you won't have a
> framework. Treat us gently and you'll get a lot done. :D
>
> Ok, Please, can we generify components? :D
>
> I have already stated my opinion, but i think we should not really be
> bothered about generic notation, because anyways we will have some changes
> coming up in Java 7 and with closures (which will be useful to wicket imho),
> wicket HAS to change and use the new feature-set. At that point i know that
> there will again be a debate whether we want to go with newer feature set
> (especially closures etc) or not. Its just a matter of getting used to and
> once you do, you will know how "elegant" generification really is.
>
> Regards
> Vyas, Anirudh
> || ॐ ||
>
> On Tue, Jul 15, 2008 at 4:00 AM, Martijn Dashorst <
> martijn.dashorst@...> wrote:
>
>> You're right that 'slave' is too strong a word. I apologize.
>> Wilhelmsen Tor Iver reconstructed my intent much better.
>>
>> Martijn
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@...
>> For additional commands, e-mail: users-help@...
>>
>>
>

Re: generics

by JulianS :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I converted our project to 1.4 as an experiment. It's quite large (257 source files). It was a bit tedious changing xxxModel to xxDefaultModel, etc, but it wasn't too bad. I haven't fixed all the warnings though.

I think the design will benefit us and the conversion will be worth it. We use this pattern a lot: data provider + data panel + data view. Generifying the models these classes deal with reduces confusion, potential runtime errors and code size (the latter because you can get rid of casts and you can move some code to superclasses).

Thanks to the Wicket team yet again!
Julian

Re: generics

by igor.vaynberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

this is actually a perfect example where generifying Component broke
down in 1.4m2. dataview does not use its model, it uses the
dataprovider which it stores as a field. so right now you can just say
new DataView<Foo> and it will expect IDataProvider<Foo> and you are
free to attach any type of model to the dataview you want.

in 1.4m2 if we reused the same type declaration for dataprovider and
dataview then you would be forced to only use imodel<foo> for the
dataview which is a completely arbitrary restriction.

to fix the above we would have to allow two type declarations, one for
model and one for dataprovider. so now you have to do new
DataView<Void,Foo> which is very noisy not to mention you have to
remember which one is for the model and which one is for the
dataprovider.

in m3 we do not have this problem...

-igor

On Wed, Jul 16, 2008 at 11:34 AM, JulianS <jsinai@...> wrote:

>
> I converted our project to 1.4 as an experiment. It's quite large (257 source
> files). It was a bit tedious changing xxxModel to xxDefaultModel, etc, but
> it wasn't too bad. I haven't fixed all the warnings though.
>
> I think the design will benefit us and the conversion will be worth it. We
> use this pattern a lot: data provider + data panel + data view. Generifying
> the models these classes deal with reduces confusion, potential runtime
> errors and code size (the latter because you can get rid of casts and you
> can move some code to superclasses).
>
> Thanks to the Wicket team yet again!
> Julian
> --
> View this message in context: http://www.nabble.com/generics-tp18083910p18493875.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@...
> For additional commands, e-mail: users-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: generics

by Stefan Simik :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I ported all our projects to 1.4-m3  (from 1.4-m2).
It was quite large - about 500 source files. Everything
worked out nicely.

I can say, that I am very happy with actual generics style.
I think, that this is how generics should be applied in Wicket.

Good work!
Thanks to the Wicket team yet again!
Stefan Simik

Re: generics

by Lauri Piispanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

igor.vaynberg wrote:
so now you have to do new
DataView<Void,Foo> which is very noisy not to mention you have to
remember which one is for the model and which one is for the
dataprovider.

-igor
I don't know if this is too late, and haven't played with DataViews for a while but why couldn't you do something to this extent:

public abstract class DataViewBase<T> extends AbstractPageableView<T>
{

        public <K> DataViewBase(String id, IDataProvider<K> dataProvider)
        {
                ...snip...
        }

                ...snip...

        private static final class ModelIterator<K> implements Iterator<IModel<K>>
        {
                ...snip...
        }

}


as DataView's children aren't actually supposed to use T - that's what the DataView's model would use but chooses to ignore it (and we can't know if some subclass would actually _want_ to use the model for something). Just drop the T parameter and avoid the noise if required.
< Prev | 1 - 2 - 3 - 4 - 5 | Next >