i agree - that's why i think it would be difficult to avoid an
eventual NPE in something like
customer.getAddress().getCity().getBlabla()  in that case


On Wed, Oct 29, 2008 at 1:09 PM, James Carman
<[EMAIL PROTECTED]> wrote:
> You shouldn't muddy up your "domain" with view-specific logic (the
> IModel interface).
>
> On Wed, Oct 29, 2008 at 5: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]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to