afiar the proxy based model is null safe.

Martijn

On Wed, Oct 29, 2008 at 11:47 AM, francisco treacy
<[EMAIL PROTECTED]> wrote:
> hi maarten
>
>> About the null checking, I will see if I can avoid having nested null values
>> in my proof-of-concept project.
>
> thing is the object chain is going to be resolved before it gets
> passed in - there's nothing you can do about it inside your class :(
> an eventual null pointer exception would be thrown before your
> constructor is called.
>
> francisco
>
>
>
>
>
>>
>>>
>>> On Wed, Oct 29, 2008 at 10:42 AM, Maarten Bosteels
>>> <[EMAIL PROTECTED]>wrote:
>>>
>>> > On Wed, Oct 29, 2008 at 8:35 AM, Wayne Pope <[EMAIL PROTECTED]
>>> >
>>> > wrote:
>>> > >
>>> > > Hi,
>>> > >
>>> > > Francisco and I here where discussing whether we could figure a way of
>>> > > having some form of static/compile time checking on our
>>> > > (Compound)PropertyModels, as I'm a bit concerned long term about some
>>> > nasty
>>> > > runtime bugs that might slip through the testing coverage. Francisco
>>> > found
>>> > > this thread - I'm wondering what the status is? I had a look at:
>>> > > https://issues.apache.org/jira/browse/WICKET-1327
>>> > >
>>> > > and there doesn't look like any activity since Feb. Anyone been using
>>> > this
>>> > > or come up with a different solution?
>>> > >
>>> > > Ideally I think it would be just great if we had an eclipse plugin that
>>> > > could just check for this (a bit like checkstyle or something) but a
>>> > runtime
>>> > > solution as proposed above seems really smart as well. However I'd
>>> rather
>>> > > keep is 100% java (ie not cglib) if possible.
>>> >
>>> > Hello,
>>> >
>>> > If you want something 100% java you could copde your domain models like
>>> > this:
>>> >
>>> > public class Customer implements Serializable {
>>> >  public final IModel<String> firstName = new Model<String>();
>>> >  public final IModel<String> lastName = new Model<String>();
>>> > }
>>> >
>>> > and use it like this:
>>> >
>>> > form.add(new TextField<String>("firstName", customer.firstName));
>>> > form.add(new TextField<String>("lastName", customer.lastName));
>>> >
>>> > => no need to generate ugly getters/setters for all your properties
>>> > => pure java
>>> > => refactoring-safe
>>> > => navigation + code-completion from IDE
>>> > => you can still override setObject() and/or setObject() when needed
>>> >
>>> > In this example I have used wicket's IModel and Model but you could
>>> > also use Property<String> from https://bean-properties.dev.java.net/
>>> > which has a lot of other benefits (a pity that the project is stalled a
>>> > bit).
>>> >
>>> > Note that I haven't used this extensively but I sure do want to test
>>> > it out in the near future..
>>> >
>>> > One problem I see with this approach is when you need null-checking
>>> > for nested properties:
>>> > eg:  new TextField<String>("city", customer.address.getObject().city );
>>> >
>>> > Let me know what you think about it.
>>> >
>>> > Maarten
>>> >
>>> >
>>> > > Thanks for any update if anyone knows anything!
>>> > > Wayne
>>> > >
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > Johan Compagner wrote:
>>> > >>
>>> > >> no i really dont like that
>>> > >> then everywhere there code they need to do that, that is not an
>>> option.
>>> > >> and they have to program themselfs agains the proxy api. I dont want
>>> > that
>>> > >> developers also have the learn/do that
>>> > >> This is something commons-proxy needs to do
>>> > >>
>>> > >> On Sat, Mar 8, 2008 at 3:29 PM, James Carman <
>>> > [EMAIL PROTECTED]>
>>> > >> wrote:
>>> > >>
>>> > >>> Couldn't you also do:
>>> > >>>
>>> > >>> ProxyFactory pf = ...;
>>> > >>> new SharedPropertyModel<Customer>(pf, customer);
>>> > >>>
>>> > >>> So, the client tells you what proxy factory implementation to use.
>>> > >>>
>>> > >>> On 3/8/08, James Carman <[EMAIL PROTECTED]> wrote:
>>> > >>> > I see the JIRA, I'll go ahead and start the discussion on the dev
>>> > list.
>>> > >>> >
>>> > >>> >
>>> > >>> >  On 3/8/08, James Carman <[EMAIL PROTECTED]> wrote:
>>> > >>> >  > On 3/8/08, Johan Compagner <[EMAIL PROTECTED]> wrote:
>>> > >>> >  >
>>> > >>> >  > > for wicket this is a feature it really should have
>>> > >>> >  >  >  now it defeats the purpose i have to make a decission in
>>> > wicket
>>> > >>> which
>>> > >>> >  >  >  factory i use
>>> > >>> >  >  >  Then i can just as well directly compile against cglib.
>>> > >>> >  >  >  I cant make the api that way that the developer has to give
>>> > that
>>> > >>> factory to
>>> > >>> >  >  >  use. That would be completely horrible,
>>> > >>> >  >  >
>>> > >>> >  >
>>> > >>> >  >
>>> > >>> >  > You could always implement your own brand of discovery for your
>>> > >>> >  >  project (perhaps by using the service discovery feature built
>>> > into
>>> > >>> the
>>> > >>> >  >  jdk).
>>> > >>> >  >
>>> > >>> >  >  I like the idea of splitting it (and doing it the slf4j way
>>> > rather
>>> > >>> >  >  than the JCL way).  I have actually suggested that we start an
>>> > >>> >  >  exploratory branch of JCL to make it work more like slf4j
>>> (we've
>>> > >>> been
>>> > >>> >  >  talking about this since 2005).  Anyway, if you file a JIRA
>>> > issue,
>>> > >>> >  >  I'll make sure we have a discussion with the other devs.  For
>>> > your
>>> > >>> >  >  immediate purposes, commons-discovery is available also.
>>> > >>> >  >
>>> > >>> >
>>> > >>>
>>> > >>> ---------------------------------------------------------------------
>>> > >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> > >>> For additional commands, e-mail: [EMAIL PROTECTED]
>>> > >>>
>>> > >>>
>>> > >>
>>> > >>
>>> > >
>>> > > --
>>> > > View this message in context:
>>> >
>>> http://www.nabble.com/CompoundModel-based-on-proxies-tp15317807p20222077.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]
>>> >
>>> >
>>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to