Example usage for org.apache.wicket.model IWrapModel setObject

List of usage examples for org.apache.wicket.model IWrapModel setObject

Introduction

In this page you can find the example usage for org.apache.wicket.model IWrapModel setObject.

Prototype

default void setObject(final T object) 

Source Link

Document

Sets the model object.

Usage

From source file:com.servoy.j2db.server.headlessclient.MediaUploadPage.java

License:Open Source License

/**
 * @param pageMap/*from w w  w .  j  av a  2 s  .c o m*/
 * @param model
 * @param dataProviderID
 */
@SuppressWarnings("nls")
public MediaUploadPage(IPageMap pageMap, final RecordItemModel model, final WebDataImgMediaField field,
        final IApplication application) {
    super(pageMap);
    add(new PageContributor(application, "contribution"));
    mfuf = null;
    fuf = new SingleFileUpload("panel", application);
    Form form = new Form("form") {
        private static final long serialVersionUID = 1L;
        private boolean close = false;

        @Override
        protected void onSubmit() {
            FileUpload fu = fuf.getFileUpload();
            if (fu != null) {
                // use the wrap model so that form variables also work.
                IWrapModel wrappedModel = model.wrapOnInheritance(field);
                wrappedModel.setObject(fu.getBytes());
                field.getStylePropertyChanges().setChanged();

                model.setValue(field, field.getDataProviderID() + IMediaFieldConstants.FILENAME,
                        fu.getClientFileName());
                String contentType = fu.getContentType();
                model.setValue(field, field.getDataProviderID() + IMediaFieldConstants.MIMETYPE, contentType);
            }
            close = true;
        }

        /**
         * @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.internal.HtmlHeaderContainer)
         */
        @Override
        public void renderHead(HtmlHeaderContainer container) {
            super.renderHead(container);
            if (close) {
                container.getHeaderResponse().renderOnLoadJavascript("window.opener.triggerAjaxUpdate();");
            }
        }
    };

    form.add(fuf);
    form.setMultiPart(true);
    add(form);
    FeedbackPanel panel = new FeedbackPanel("feedback"); //$NON-NLS-1$
    add(panel);

    add(CSSPackageResource.getHeaderContribution(
            "/servoy-webclient/templates/" + application.getClientProperty(WEBCONSTANTS.WEBCLIENT_TEMPLATES_DIR)
                    + "/servoy_web_client_default.css"));
}