Thanks Michael for your quick response.
Let me know if I got it correctly:
I created the following generic model:
public class GenericDetachableModel extends LoadableDetachableModel {
private final long id;
private final Service service;
public GenericDetachableModel(T object, Service service) {
this(object, object.getId(), service);
}
public GenericDetachableModel(T object, long id, Service service) {
super(object);
if (id == 0) {
throw new IllegalArgumentException();
}
this.id = id;
this.service = service;
}
@Override
protected T load() {
return (T) service.find(id);
}
}
Now, when I create the DataProvider in my page I can use:
myModel = new GenericDetachableModel( domainObjectY, aService );
...
myDataProv = new MyDataProvider( myModel, aService );
And then inside MyDataProvider I can use:
public MyDataProvider(IModel myModel, Service aService) {
this.myModel = myModel;
this.aService = aService;
}
public int size() {
return service.countAllByDomainObjectY( myModel.getObject() );
}
public void detach() {
myModel.detach();
}
Is this ok?
Should myModel property in MyDataProvider be @Transient?
Is it ok to call myModel.detach() inside the MyDataProvider's detach? or
should I do it outside? (I mean, from the page where I created the
DataProvider)
Thanks in advance!
--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/DataProvider-calling-a-Service-Dao-that-requires-a-domain-object-tp3341572p3341770.html
Sent from the Users forum mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]