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]

Reply via email to