EntityModel

2009-11-11 Thread Sam Barrow

Does anybody how to pass a smart EntityModel (link below) to another
page? We use a different repository for each entity type. I can't get it
to work. I have tried storing the repository as a field on the
EntityModel and using an abstract method on EntityModel to retrieve it.

http://wicketinaction.com/2008/09/building-a-smart-entitymodel/



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: EntityModel

2009-11-11 Thread Matthias Keller

Hi Sam

What exactly do you mean by repository? Do you have to load every entity 
from another place?
in load(), we have the code to load every possible entity in our 
implementation, for example:


T entity;
if (this.clazz == User.class) {
   entity = userService.load(...);
} else if (this.clazz == Company.class) {
   entity = companyService.load(...);
} else .

And so on. In the end, the entity is loaded from wherever it is defined 
for this class...


Matt

Sam Barrow wrote:

Does anybody how to pass a smart EntityModel (link below) to another
page? We use a different repository for each entity type. I can't get it
to work. I have tried storing the repository as a field on the
EntityModel and using an abstract method on EntityModel to retrieve it.

http://wicketinaction.com/2008/09/building-a-smart-entitymodel/
  




smime.p7s
Description: S/MIME Cryptographic Signature


Re: EntityModel

2009-11-11 Thread Sam Barrow
We have close to a hundred repositories, this wouldn't work. How do you
inject the services into the EntityModel anyway?

On Thu, 2009-11-12 at 08:34 +0100, Matthias Keller wrote:
> Hi Sam
> 
> What exactly do you mean by repository? Do you have to load every entity 
> from another place?
> in load(), we have the code to load every possible entity in our 
> implementation, for example:
> 
> T entity;
> if (this.clazz == User.class) {
> entity = userService.load(...);
> } else if (this.clazz == Company.class) {
> entity = companyService.load(...);
> } else .
> 
> And so on. In the end, the entity is loaded from wherever it is defined 
> for this class...
> 
> Matt
> 
> Sam Barrow wrote:
> > Does anybody how to pass a smart EntityModel (link below) to another
> > page? We use a different repository for each entity type. I can't get it
> > to work. I have tried storing the repository as a field on the
> > EntityModel and using an abstract method on EntityModel to retrieve it.
> >
> > http://wicketinaction.com/2008/09/building-a-smart-entitymodel/
> >   
> 


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: EntityModel

2009-11-11 Thread Matthias Keller

Hi Sam

We use Spring to inject them.
Well, somewhere you'll need that logic what class is loaded by which 
repo - you could of course do it in a more generic way using factories 
or a kind of a mapper or whatever...

Since we only have around 10 classes, this is easy.

If you use hibernate, you can have it for free since you can instruct 
hibernate to load the instance given the class and the id, for example:

T entity =  entityManager.find(entityClass, id);

Matt

Sam Barrow wrote:

We have close to a hundred repositories, this wouldn't work. How do you
inject the services into the EntityModel anyway?

On Thu, 2009-11-12 at 08:34 +0100, Matthias Keller wrote:
  

Hi Sam

What exactly do you mean by repository? Do you have to load every entity 
from another place?
in load(), we have the code to load every possible entity in our 
implementation, for example:


T entity;
if (this.clazz == User.class) {
entity = userService.load(...);
} else if (this.clazz == Company.class) {
entity = companyService.load(...);
} else .

And so on. In the end, the entity is loaded from wherever it is defined 
for this class...


Matt

Sam Barrow wrote:


Does anybody how to pass a smart EntityModel (link below) to another
page? We use a different repository for each entity type. I can't get it
to work. I have tried storing the repository as a field on the
EntityModel and using an abstract method on EntityModel to retrieve it.

http://wicketinaction.com/2008/09/building-a-smart-entitymodel/
  
  



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

  



--
matthias.kel...@ergon.ch  +41 44 268 83 98
Ergon Informatik AG, Kleinstrasse 15, CH-8008 Zürich
http://www.ergon.ch
__
e r g o nsmart people - smart software




smime.p7s
Description: S/MIME Cryptographic Signature


Re: EntityModel

2009-11-11 Thread Sam Barrow
Yes that shouldn't be a problem I just need to figure out the injection,
how do you do this? I use wicket-spring also.

On Thu, 2009-11-12 at 08:53 +0100, Matthias Keller wrote:
> Hi Sam
> 
> We use Spring to inject them.
> Well, somewhere you'll need that logic what class is loaded by which 
> repo - you could of course do it in a more generic way using factories 
> or a kind of a mapper or whatever...
> Since we only have around 10 classes, this is easy.
> 
> If you use hibernate, you can have it for free since you can instruct 
> hibernate to load the instance given the class and the id, for example:
> T entity =  entityManager.find(entityClass, id);
> 
> Matt
> 
> Sam Barrow wrote:
> > We have close to a hundred repositories, this wouldn't work. How do you
> > inject the services into the EntityModel anyway?
> >
> > On Thu, 2009-11-12 at 08:34 +0100, Matthias Keller wrote:
> >   
> >> Hi Sam
> >>
> >> What exactly do you mean by repository? Do you have to load every entity 
> >> from another place?
> >> in load(), we have the code to load every possible entity in our 
> >> implementation, for example:
> >>
> >> T entity;
> >> if (this.clazz == User.class) {
> >> entity = userService.load(...);
> >> } else if (this.clazz == Company.class) {
> >> entity = companyService.load(...);
> >> } else .
> >>
> >> And so on. In the end, the entity is loaded from wherever it is defined 
> >> for this class...
> >>
> >> Matt
> >>
> >> Sam Barrow wrote:
> >> 
> >>> Does anybody how to pass a smart EntityModel (link below) to another
> >>> page? We use a different repository for each entity type. I can't get it
> >>> to work. I have tried storing the repository as a field on the
> >>> EntityModel and using an abstract method on EntityModel to retrieve it.
> >>>
> >>> http://wicketinaction.com/2008/09/building-a-smart-entitymodel/
> >>>   
> >>>   
> >
> >
> > -
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >   
> 
> 


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: EntityModel

2009-11-12 Thread Matthias Keller

Injection is easy

Just call:
InjectorHolder.getInjector().inject(this);
in your EntityModel constructor.

That's it.
While developing if you hot-redeploy often, you might also want to do a 
check in load() like:

if (this.whateverService == null)
   InjectorHolder.getInjector().inject(this);

Matt

Sam Barrow wrote:

Yes that shouldn't be a problem I just need to figure out the injection,
how do you do this? I use wicket-spring also.

On Thu, 2009-11-12 at 08:53 +0100, Matthias Keller wrote:
  

Hi Sam

We use Spring to inject them.
Well, somewhere you'll need that logic what class is loaded by which 
repo - you could of course do it in a more generic way using factories 
or a kind of a mapper or whatever...

Since we only have around 10 classes, this is easy.

If you use hibernate, you can have it for free since you can instruct 
hibernate to load the instance given the class and the id, for example:

T entity =  entityManager.find(entityClass, id);

Matt

Sam Barrow wrote:


We have close to a hundred repositories, this wouldn't work. How do you
inject the services into the EntityModel anyway?

On Thu, 2009-11-12 at 08:34 +0100, Matthias Keller wrote:
  
  

Hi Sam

What exactly do you mean by repository? Do you have to load every entity 
from another place?
in load(), we have the code to load every possible entity in our 
implementation, for example:


T entity;
if (this.clazz == User.class) {
entity = userService.load(...);
} else if (this.clazz == Company.class) {
entity = companyService.load(...);
} else .

And so on. In the end, the entity is loaded from wherever it is defined 
for this class...


Matt

Sam Barrow wrote:



Does anybody how to pass a smart EntityModel (link below) to another
page? We use a different repository for each entity type. I can't get it
to work. I have tried storing the repository as a field on the
EntityModel and using an abstract method on EntityModel to retrieve it.

http://wicketinaction.com/2008/09/building-a-smart-entitymodel/
  
  
  




smime.p7s
Description: S/MIME Cryptographic Signature


Re: EntityModel

2009-11-12 Thread Sam Barrow
Oh okay. I've been trying to use @SpringBean which of course didn't work
because EntityModel is not a component. Thanks alot!

On Thu, 2009-11-12 at 09:02 +0100, Matthias Keller wrote:
> Injection is easy
> 
> Just call:
> InjectorHolder.getInjector().inject(this);
> in your EntityModel constructor.
> 
> That's it.
> While developing if you hot-redeploy often, you might also want to do a 
> check in load() like:
> if (this.whateverService == null)
> InjectorHolder.getInjector().inject(this);
> 
> Matt
> 
> Sam Barrow wrote:
> > Yes that shouldn't be a problem I just need to figure out the injection,
> > how do you do this? I use wicket-spring also.
> >
> > On Thu, 2009-11-12 at 08:53 +0100, Matthias Keller wrote:
> >   
> >> Hi Sam
> >>
> >> We use Spring to inject them.
> >> Well, somewhere you'll need that logic what class is loaded by which 
> >> repo - you could of course do it in a more generic way using factories 
> >> or a kind of a mapper or whatever...
> >> Since we only have around 10 classes, this is easy.
> >>
> >> If you use hibernate, you can have it for free since you can instruct 
> >> hibernate to load the instance given the class and the id, for example:
> >> T entity =  entityManager.find(entityClass, id);
> >>
> >> Matt
> >>
> >> Sam Barrow wrote:
> >> 
> >>> We have close to a hundred repositories, this wouldn't work. How do you
> >>> inject the services into the EntityModel anyway?
> >>>
> >>> On Thu, 2009-11-12 at 08:34 +0100, Matthias Keller wrote:
> >>>   
> >>>   
> >>>> Hi Sam
> >>>>
> >>>> What exactly do you mean by repository? Do you have to load every entity 
> >>>> from another place?
> >>>> in load(), we have the code to load every possible entity in our 
> >>>> implementation, for example:
> >>>>
> >>>> T entity;
> >>>> if (this.clazz == User.class) {
> >>>> entity = userService.load(...);
> >>>> } else if (this.clazz == Company.class) {
> >>>> entity = companyService.load(...);
> >>>> } else .
> >>>>
> >>>> And so on. In the end, the entity is loaded from wherever it is defined 
> >>>> for this class...
> >>>>
> >>>> Matt
> >>>>
> >>>> Sam Barrow wrote:
> >>>> 
> >>>> 
> >>>>> Does anybody how to pass a smart EntityModel (link below) to another
> >>>>> page? We use a different repository for each entity type. I can't get it
> >>>>> to work. I have tried storing the repository as a field on the
> >>>>> EntityModel and using an abstract method on EntityModel to retrieve it.
> >>>>>
> >>>>> http://wicketinaction.com/2008/09/building-a-smart-entitymodel/
> >>>>>   
> >>>>>   
> >>>>>   
> 


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: EntityModel

2009-11-12 Thread James Carman
You still have to use @SpringBean with the injector.  @SpringBean
tells the injector where to inject things.

On Thu, Nov 12, 2009 at 3:10 AM, Sam Barrow  wrote:
> Oh okay. I've been trying to use @SpringBean which of course didn't work
> because EntityModel is not a component. Thanks alot!
>
> On Thu, 2009-11-12 at 09:02 +0100, Matthias Keller wrote:
>> Injection is easy
>>
>> Just call:
>> InjectorHolder.getInjector().inject(this);
>> in your EntityModel constructor.
>>
>> That's it.
>> While developing if you hot-redeploy often, you might also want to do a
>> check in load() like:
>> if (this.whateverService == null)
>>     InjectorHolder.getInjector().inject(this);
>>
>> Matt
>>
>> Sam Barrow wrote:
>> > Yes that shouldn't be a problem I just need to figure out the injection,
>> > how do you do this? I use wicket-spring also.
>> >
>> > On Thu, 2009-11-12 at 08:53 +0100, Matthias Keller wrote:
>> >
>> >> Hi Sam
>> >>
>> >> We use Spring to inject them.
>> >> Well, somewhere you'll need that logic what class is loaded by which
>> >> repo - you could of course do it in a more generic way using factories
>> >> or a kind of a mapper or whatever...
>> >> Since we only have around 10 classes, this is easy.
>> >>
>> >> If you use hibernate, you can have it for free since you can instruct
>> >> hibernate to load the instance given the class and the id, for example:
>> >> T entity =  entityManager.find(entityClass, id);
>> >>
>> >> Matt
>> >>
>> >> Sam Barrow wrote:
>> >>
>> >>> We have close to a hundred repositories, this wouldn't work. How do you
>> >>> inject the services into the EntityModel anyway?
>> >>>
>> >>> On Thu, 2009-11-12 at 08:34 +0100, Matthias Keller wrote:
>> >>>
>> >>>
>> >>>> Hi Sam
>> >>>>
>> >>>> What exactly do you mean by repository? Do you have to load every entity
>> >>>> from another place?
>> >>>> in load(), we have the code to load every possible entity in our
>> >>>> implementation, for example:
>> >>>>
>> >>>> T entity;
>> >>>> if (this.clazz == User.class) {
>> >>>>     entity = userService.load(...);
>> >>>> } else if (this.clazz == Company.class) {
>> >>>>     entity = companyService.load(...);
>> >>>> } else .
>> >>>>
>> >>>> And so on. In the end, the entity is loaded from wherever it is defined
>> >>>> for this class...
>> >>>>
>> >>>> Matt
>> >>>>
>> >>>> Sam Barrow wrote:
>> >>>>
>> >>>>
>> >>>>> Does anybody how to pass a smart EntityModel (link below) to another
>> >>>>> page? We use a different repository for each entity type. I can't get 
>> >>>>> it
>> >>>>> to work. I have tried storing the repository as a field on the
>> >>>>> EntityModel and using an abstract method on EntityModel to retrieve it.
>> >>>>>
>> >>>>> http://wicketinaction.com/2008/09/building-a-smart-entitymodel/
>> >>>>>
>> >>>>>
>> >>>>>
>>
>
>
> -
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org