Hi,
Pass an IModel<DomainObject>model into your dataprovider instead of the
DomainObject itself.
e.g.
class MyPanel
private final IModel<DomainObject>model;
public MyPanel (String id) {
super (id);
model = new LoadableDetachableModel() {
protected DomainObject load() {// return object
}
add (new DataTable ("table", columns, new DomainObjectAwareProvider
(model), ...);
}
protected void detatchModels() {
model.detatch();
super.detatchModels();
}
}
The detachment of the model can be managed by the panel that creates the
model and you can just use the object returned from the model within
your data provider. This is better than passing the ID because your
provider can just work against the DomainObject without also having to
be responsible for loading it.
Regards,
Mike
Hi,
I have a DataProvider that implements IDataProvider, and for example in the
size method I need to call the service as follows:
public int size() {
return service.countAllByDomainObjectY(domainObjectY);
}
DomainObjectX contains a manytoone relationship with DomainObjectY.
So, this countAllByDomainObjectY internally searches by the domainObjectY's
id and returns the count of DomainObjectX associated with that specific
domainObjectY.
Now, in order to do this I would need to have domainObjectY as a property of
the DataProvider which I think it is not good because it would be
serialized.
Should I change the service to receive just the domainObjectY's id and only
"save" this id as a property of the DataProvider?
--
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/DataProvider-calling-a-Service-Dao-that-requires-a-domain-object-tp3341572p3341572.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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]