erm, if all your OfferListModel do is have something in load() then why do you subclass it instead of the LDM directly?
-igor On Dec 5, 2007 9:57 AM, Sergio García <[EMAIL PROTECTED]> wrote: > > > igor.vaynberg wrote: > > > > looks like your page has a reference to some huge object which causes > > a problem when the page is serialzed - so maybe that loadable > > detachable model of yours is not very detachable... > > > > > > -igor > > > > > > I don't know what i'm doing wrong. I have a abstract detachable model: > > > > private abstract class OfferListModel extends LoadableDetachableModel{ > @Override > protected Object load() { > String stateAsString = stateDropDown.getModelObjectAsString(); > Integer year = (Integer) yearDropDown.getModelObject(); > String userAsString = userDropDown.getModelObjectAsString(); > > if (StaticComboLists.OFFER_STATE_ALL.equals(stateAsString)) { > stateAsString = null; > } > > if (StaticComboLists.USER_FILTER_ALL.equals(userAsString)) { > userAsString = null; > }else { > userAsString = getSignInSession().getUser().getLogin(); > } > > OffersListParameters parameters = > new OffersListParameters(userAsString, year, stateAsString); > > ClassifiedOffersList offersList = > offersService.findOffers(parameters); > > return offersList; > } > } > > And eight implementations of it, like this one: > > private class BeingPreparedOfferListModel extends OfferListModel{ > private static final long serialVersionUID = -1772413039827980131L; > > @Override > protected Object load() { > ClassifiedOffersList offersList = (ClassifiedOffersList) > super.load(); > return offersList.getBeingPrepared(); > } > } > > > Each instance is used like this: > > BeingPreparedOfferListModel beingPreparedOfferListModel = > new BeingPreparedOfferListModel(); > > beingPreparedContainer = > new DisabledIfEmptyMarkupContainer("beingPreparedContainer", > beingPreparedOfferListModel); > beingPreparedContainer.add(new > beingPreparedOfferListView("beingPreparedListView",beingPreparedOfferListModel)); > > Where the ListView has a reference to a detachable model, and > DisabledIfEmptyMarkupContainer has a reference also to the DetachableModel: > > public class DisabledIfEmptyMarkupContainer extends WebMarkupContainer{ > > private static final long serialVersionUID = 8749215642567364820L; > private LoadableDetachableModel model; > > > public DisabledIfEmptyMarkupContainer(String id, LoadableDetachableModel > model) { > super(id); > this.model = model; > setOutputMarkupPlaceholderTag(true); > } > > > @SuppressWarnings("unchecked") > @Override > protected void onBeforeRender() { > super.onBeforeRender(); > if (((Collection) model.getObject()).isEmpty()) { > add(new VisibilityFalseAttributeModifier()); > }else { > add(new VisibilityTrueAttributeModifier("block")); > } > model.detach(); > > } > > > } > > > Is something wrong that i can't see? > > > > -- > View this message in context: > http://www.nabble.com/OutOfMemoryError%3A-Java-heap-space-tf4950580.html#a14177105 > > 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]