Example usage for org.apache.wicket.util.lang Bytes kilobytes

List of usage examples for org.apache.wicket.util.lang Bytes kilobytes

Introduction

In this page you can find the example usage for org.apache.wicket.util.lang Bytes kilobytes.

Prototype

public static Bytes kilobytes(final double kilobytes) 

Source Link

Document

Instantiate immutable Bytes value object..

Usage

From source file:au.org.theark.study.web.component.correspondence.form.DetailForm.java

License:Open Source License

public void initialiseDetailForm() {
    initialiseOperatorDropDown();//w ww  .  j a va 2  s  .c  o  m
    // create new DateTextField and assign date format
    dateFld = new DateTextField("correspondence.date", au.org.theark.core.Constants.DD_MM_YYYY);
    ArkDatePicker datePicker = new ArkDatePicker();
    datePicker.bind(dateFld);
    dateFld.add(datePicker);

    timeTxtFld = new TextField<String>("correspondence.time");
    initialiseModeTypeDropDown();
    initialiseDirectionTypeDropDown();
    initialiseOutcomeTypeDropDown();
    reasonTxtArea = new TextArea<String>("correspondence.reason");
    detailsTxtArea = new TextArea<String>("correspondence.details");
    commentsTxtArea = new TextArea<String>("correspondence.comments");

    billableItemLbl = new Label("billableItemDescription");
    billableItemLbl.setOutputMarkupId(true);
    billableItemLbl.setVisible(true);

    studyNameLbl = new Label("studyName");
    studyNameLbl.setOutputMarkupId(true);
    studyNameLbl.setVisible(true);

    // fileUploadField = new FileUploadField("correspondence.attachmentFilename", new Model<List<FileUpload>>());
    fileUploadField = new FileUploadField("file");
    setMaxSize(Bytes.kilobytes(2048));

    fileNameLbl = new Label("correspondence.attachmentFilename");
    fileNameLbl.setOutputMarkupId(true);

    clearButton = new AjaxButton("clearButton") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            fileUploadField.clearInput();
            target.add(fileUploadField);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            fileUploadField.clearInput();
            target.add(fileUploadField);
        }
    };
    clearButton.add(new AttributeModifier("title", new Model<String>("Clear Attachment")));

    deleteButton = new AjaxButton("deleteButton") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            containerForm.getModelObject().getCorrespondence().setAttachmentPayload(null);
            containerForm.getModelObject().getCorrespondence().setAttachmentFilename(null);
            this.setVisible(false);
            target.add(fileNameLbl);
            target.add(this);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            containerForm.getModelObject().getCorrespondence().setAttachmentPayload(null);
            containerForm.getModelObject().getCorrespondence().setAttachmentFilename(null);
            this.setVisible(false);
            target.add(fileNameLbl);
            target.add(this);
        }

        @Override
        public boolean isVisible() {
            return (containerForm.getModelObject().getCorrespondence().getAttachmentFilename() != null)
                    && !containerForm.getModelObject().getCorrespondence().getAttachmentFilename().isEmpty();
        }
    };
    deleteButton.add(new AttributeModifier("title", new Model<String>("Delete Attachment")));
    deleteButton.setOutputMarkupId(true);

    workTrackingContainer = new WebMarkupContainer("worktrackingcontainer");
    workTrackingContainer.setVisible(false);

    initBillableItemTypeDropDown();
    initWorkRequestDropDown();

    addDetailFormComponents();
    attachValidators();

    historyButtonPanel = new HistoryButtonPanel(containerForm, arkCrudContainerVO.getEditButtonContainer(),
            arkCrudContainerVO.getDetailPanelFormContainer());
}

From source file:au.org.theark.study.web.component.managestudy.form.DetailForm.java

License:Open Source License

private void initStudyLogo() {
    // Set maximum logo image size to 100K
    setMaxSize(Bytes.kilobytes(Constants.STUDY_LOGO_FILESIZE_KB));

    if (containerForm.getModelObject().getStudy() != null
            && containerForm.getModelObject().getStudy().getStudyLogoBlob() != null) {
        final java.sql.Blob studyLogoBlob = containerForm.getModelObject().getStudy().getStudyLogoBlob();

        if (studyLogoBlob != null) {
            BlobImageResource blobImageResource = new BlobImageResource() {
                private static final long serialVersionUID = 1L;

                @Override/*from  w  w w  .j  a v a 2 s .  c om*/
                protected Blob getBlob() {
                    return studyLogoBlob;
                }
            };

            studyLogoImage = new NonCachingImage("study.studyLogoImage", blobImageResource);
        }
    } else {
        studyLogoImage = new NonCachingImage("study.studyLogoImage", NO_STUDY_LOGO);
    }

    studyLogoImage.setVisible(true);
    studyLogoImage.setOutputMarkupPlaceholderTag(true);
    studyCrudVO.getDetailPanelFormContainer().addOrReplace(studyLogoImage);
}

From source file:biz.turnonline.ecosystem.origin.frontend.FrontendApplication.java

License:Apache License

@Override
public IDataStoreEvictionStrategy getEvictionStrategy() {
    return new MemorySizeEvictionStrategy(Bytes.kilobytes(200L));
}

From source file:ca.travelagency.config.CompanyPage.java

License:Apache License

private Form<Void> uploadForm() {
    Form<Void> form = new Form<Void>(UPLOAD_FORM) {
        private static final long serialVersionUID = 1L;

        @Override//from  ww w . ja  v  a 2  s.c  om
        protected void onSubmit() {
            FileUpload fileUpload = fileUploadField.getFileUpload();
            if (fileUpload == null) {
                return;
            }
            String code = ApplicationProperties.make().getCode();
            File companyLogoFile = UploadUtils.getCompanyLogoFile(code);
            try {
                companyLogoFile.createNewFile();
                fileUpload.writeTo(companyLogoFile);
            } catch (Exception e) {
                throw new RuntimeException("Unable to write logo image", e);
            }
        }
    };
    form.setMultiPart(true);
    form.setMaxSize(Bytes.kilobytes(100));

    form.add(new ComponentFeedbackPanel(FEEDBACK, form));

    fileUploadField = new FileUploadField(UPLOAD_FIELD, new ListModel<FileUpload>());
    form.add(fileUploadField);

    return form;
}

From source file:com.evolveum.midpoint.web.page.PageTest.java

License:Apache License

private void initLayout() {
    Form form = new Form("form");
    form.setMaxSize(Bytes.kilobytes(192));
    //        form.setMultiPart(true);
    add(form);// w  ww  . ja  va  2s  .  c o  m

    FileUploadField fileUpload = new FileUploadField("fileInput");
    form.add(fileUpload);

    AjaxSubmitButton save = new AjaxSubmitButton("save", createStringResource("pageUser.button.save")) {

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            setResponsePage(PageUsers.class);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }
    };
    form.add(save);
}

From source file:com.locke.tricks.a.A.java

License:Apache License

public A() {
    add(new AttachmentPanel("attachmentPanel", getCss(), Bytes.kilobytes(256),
            new AbstractReadOnlyModel<List<IAttachment>>() {

                @Override//from www .ja v a2  s.c o  m
                public List<IAttachment> getObject() {
                    return attachments;
                }
            }, Feature.POPUP_EDITOR_LINK, Feature.DOWNLOAD_LINK, Feature.REMOVE_LINK));
}

From source file:com.locke.tricks.d.D.java

License:Apache License

public D() {
    add(new AttachmentPanel("attachmentPanel", getCss(), Bytes.kilobytes(256),
            new AbstractReadOnlyModel<List<IAttachment>>() {

                @Override//from  ww  w. j av  a  2s . c  om
                public List<IAttachment> getObject() {
                    return attachments;
                }
            }, Feature.POPUP_EDITOR_LINK, Feature.DOWNLOAD_LINK, Feature.REMOVE_LINK));
}

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

License:Open Source License

/**
 * @see wicket.protocol.http.WebApplication#init()
 *///from  www  .j a  v  a 2 s . c  o m
@Override
protected void init() {
    if (ApplicationServerRegistry.get() == null)
        return; // TODO this is a workaround to allow mobile test client that only starts Tomcat not to give exceptions (please remove if mobile test client initialises a full app. server in the future)

    getResourceSettings().setResourceWatcher(new ServoyModificationWatcher(Duration.seconds(5)));
    //      getResourceSettings().setResourcePollFrequency(Duration.seconds(5));
    getResourceSettings().setAddLastModifiedTimeToResourceReferenceUrl(true);
    getResourceSettings().setDefaultCacheDuration((int) Duration.days(365).seconds());
    getMarkupSettings().setCompressWhitespace(true);
    getMarkupSettings().setMarkupCache(new ServoyMarkupCache(this));
    // getMarkupSettings().setStripWicketTags(true);
    getResourceSettings().setResourceStreamLocator(new ServoyResourceStreamLocator(this));
    getResourceSettings().setPackageResourceGuard(new ServoyPackageResourceGuard());
    // getResourceSettings().setResourceFinder(createResourceFinder());
    getResourceSettings().setThrowExceptionOnMissingResource(false);
    getApplicationSettings().setPageExpiredErrorPage(ServoyExpiredPage.class);
    getApplicationSettings().setClassResolver(new ServoyClassResolver());
    getSessionSettings().setMaxPageMaps(15);
    //      getRequestCycleSettings().setGatherExtendedBrowserInfo(true);

    getSecuritySettings().setCryptFactory(new CachingKeyInSessionSunJceCryptFactory());

    Settings settings = Settings.getInstance();
    getDebugSettings().setOutputComponentPath(
            Utils.getAsBoolean(settings.getProperty("servoy.webclient.debug.wicketpath", "false"))); //$NON-NLS-1$ //$NON-NLS-2$
    if (Utils.getAsBoolean(settings.getProperty("servoy.webclient.nice.urls", "false"))) //$NON-NLS-1$ //$NON-NLS-2$
    {
        mount(new HybridUrlCodingStrategy("/solutions", SolutionLoader.class)); //$NON-NLS-1$
        mount(new HybridUrlCodingStrategy("/application", MainPage.class)); //$NON-NLS-1$
        mount(new HybridUrlCodingStrategy("/ss", SolutionLoader.class) //$NON-NLS-1$
        {
            /**
             * @see wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy#matches(wicket.IRequestTarget)
             */
            @Override
            public boolean matches(IRequestTarget requestTarget) {
                return false;
            }
        });
    } else {
        mountBookmarkablePage("/solutions", SolutionLoader.class); //$NON-NLS-1$
        mount(new BookmarkablePageRequestTargetUrlCodingStrategy("/ss", SolutionLoader.class, null) //$NON-NLS-1$
        {
            /**
             * @see wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy#matches(wicket.IRequestTarget)
             */
            @Override
            public boolean matches(IRequestTarget requestTarget) {
                return false;
            }
        });
    }

    long maxSize = Utils.getAsLong(settings.getProperty("servoy.webclient.maxuploadsize", "0"), false); //$NON-NLS-1$ //$NON-NLS-2$
    if (maxSize > 0) {
        getApplicationSettings().setDefaultMaximumUploadSize(Bytes.kilobytes(maxSize));
    }

    getSharedResources().putClassAlias(IApplication.class, "application"); //$NON-NLS-1$
    getSharedResources().putClassAlias(PageContributor.class, "pc"); //$NON-NLS-1$
    getSharedResources().putClassAlias(MaskBehavior.class, "mask"); //$NON-NLS-1$
    getSharedResources().putClassAlias(Application.class, "servoy"); //$NON-NLS-1$
    getSharedResources().putClassAlias(org.wicketstuff.calendar.markup.html.form.DatePicker.class,
            "datepicker"); //$NON-NLS-1$
    getSharedResources().putClassAlias(YUILoader.class, "yui"); //$NON-NLS-1$
    getSharedResources().putClassAlias(JQueryLoader.class, "jquery"); //$NON-NLS-1$
    getSharedResources().putClassAlias(TinyMCELoader.class, "tinymce"); //$NON-NLS-1$
    getSharedResources().putClassAlias(org.apache.wicket.markup.html.WicketEventReference.class, "wicketevent"); //$NON-NLS-1$
    getSharedResources().putClassAlias(org.apache.wicket.ajax.WicketAjaxReference.class, "wicketajax"); //$NON-NLS-1$
    getSharedResources().putClassAlias(MainPage.class, "servoyjs"); //$NON-NLS-1$
    getSharedResources().putClassAlias(org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.class,
            "modalwindow"); //$NON-NLS-1$

    PackageResource.bind(this, IApplication.class, "images/open_project.gif"); //$NON-NLS-1$
    PackageResource.bind(this, IApplication.class, "images/save.gif"); //$NON-NLS-1$

    mountSharedResource("/formcss", "servoy/formcss"); //$NON-NLS-1$//$NON-NLS-2$

    sharedMediaResource = new SharedMediaResource();
    getSharedResources().add("media", sharedMediaResource); //$NON-NLS-1$

    mount(new SharedResourceRequestTargetUrlCodingStrategy("mediafolder", "servoy/media") //$NON-NLS-1$ //$NON-NLS-2$
    {
        @Override
        protected void appendParameters(AppendingStringBuffer url, Map<String, ?> parameters) {
            if (parameters != null && parameters.size() > 0) {
                Object solutionName = parameters.get("s"); //$NON-NLS-1$
                if (solutionName != null)
                    appendPathParameter(url, null, solutionName.toString());
                Object resourceId = parameters.get("id"); //$NON-NLS-1$
                if (resourceId != null)
                    appendPathParameter(url, null, resourceId.toString());

                StringBuilder queryParams = new StringBuilder();
                for (Entry<?, ?> entry1 : parameters.entrySet()) {
                    Object value = ((Entry<?, ?>) entry1).getValue();
                    if (value != null) {
                        Object key = ((Entry<?, ?>) entry1).getKey();
                        if (!"s".equals(key) && !"id".equals(key)) //$NON-NLS-1$ //$NON-NLS-2$
                        {
                            if (value instanceof String[]) {
                                String[] values = (String[]) value;
                                for (String value1 : values) {
                                    if (queryParams.length() > 0)
                                        queryParams.append("&"); //$NON-NLS-1$
                                    queryParams.append(key).append("=").append(value1);//$NON-NLS-1$
                                }
                            } else {
                                if (queryParams.length() > 0)
                                    queryParams.append("&"); //$NON-NLS-1$
                                queryParams.append(key).append("=").append(value);//$NON-NLS-1$
                            }
                        }
                    }
                }
                if (queryParams.length() > 0) {
                    url.append("?").append(queryParams);//$NON-NLS-1$
                }
            }
        }

        @Override
        protected void appendPathParameter(AppendingStringBuffer url, String key, String value) {
            String escapedValue = value;
            String[] values = escapedValue.split("/");//$NON-NLS-1$
            if (values.length > 1) {
                StringBuilder sb = new StringBuilder(escapedValue.length());
                for (String str : values) {
                    sb.append(urlEncodePathComponent(str));
                    sb.append('/');
                }
                sb.setLength(sb.length() - 1);
                escapedValue = sb.toString();
            } else {
                escapedValue = urlEncodePathComponent(escapedValue);
            }

            if (!Strings.isEmpty(escapedValue)) {
                if (!url.endsWith("/"))//$NON-NLS-1$
                {
                    url.append("/");//$NON-NLS-1$
                }
                if (key != null)
                    url.append(urlEncodePathComponent(key)).append("/");//$NON-NLS-1$
                url.append(escapedValue);
            }
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy#decodeParameters(java.lang.String, java.util.Map)
         */
        @Override
        protected ValueMap decodeParameters(String urlFragment, Map<String, ?> urlParameters) {
            ValueMap map = new ValueMap();
            final String[] pairs = urlFragment.split("/"); //$NON-NLS-1$
            if (pairs.length > 1) {
                map.add("s", pairs[1]); //$NON-NLS-1$
                StringBuffer sb = new StringBuffer();
                for (int i = 2; i < pairs.length; i++) {
                    sb.append(pairs[i]);
                    sb.append("/"); //$NON-NLS-1$
                }
                sb.setLength(sb.length() - 1);
                map.add("id", sb.toString()); //$NON-NLS-1$
            }
            if (urlParameters != null) {
                map.putAll(urlParameters);
            }
            return map;
        }
    });

    getSharedResources().add("resources", new ServeResources()); //$NON-NLS-1$

    getSharedResources().add("formcss", new FormCssResource(this)); //$NON-NLS-1$

    if (settings.getProperty("servoy.webclient.error.page", null) != null) //$NON-NLS-1$
    {
        getApplicationSettings().setInternalErrorPage(ServoyErrorPage.class);
    }
    if (settings.getProperty("servoy.webclient.pageexpired.page", null) != null) //$NON-NLS-1$
    {
        getApplicationSettings().setPageExpiredErrorPage(ServoyPageExpiredPage.class);
    }

    addPreComponentOnBeforeRenderListener(new IComponentOnBeforeRenderListener() {
        public void onBeforeRender(Component component) {
            if (component instanceof IServoyAwareBean) {
                IModel model = component.getInnermostModel();
                WebForm webForm = component.findParent(WebForm.class);
                if (model instanceof RecordItemModel && webForm != null) {
                    IRecord record = (IRecord) ((RecordItemModel) model).getObject();
                    FormScope fs = webForm.getController().getFormScope();

                    if (record != null && fs != null) {
                        ((IServoyAwareBean) component).setSelectedRecord(new ServoyBeanState(record, fs));
                    }
                }
            } else {
                if (!component.isEnabled()) {
                    boolean hasOnRender = (component instanceof IFieldComponent
                            && ((IFieldComponent) component)
                                    .getScriptObject() instanceof ISupportOnRenderCallback
                            && ((ISupportOnRenderCallback) ((IFieldComponent) component).getScriptObject())
                                    .getRenderEventExecutor().hasRenderCallback());
                    if (!hasOnRender) {
                        // onrender may change the enable state
                        return;
                    }
                }
                Component targetComponent = null;
                boolean hasFocus = false, hasBlur = false;
                if (component instanceof IFieldComponent
                        && ((IFieldComponent) component).getEventExecutor() != null) {
                    targetComponent = component;
                    if (component instanceof WebBaseSelectBox) {
                        Component[] cs = ((WebBaseSelectBox) component).getFocusChildren();
                        if (cs != null && cs.length == 1)
                            targetComponent = cs[0];
                    }
                    if (component instanceof WebDataHtmlArea)
                        hasFocus = true;

                    // always install a focus handler when in a table view to detect change of selectedIndex and test for record validation
                    if (((IFieldComponent) component).getEventExecutor().hasEnterCmds()
                            || component.findParent(WebCellBasedView.class) != null
                            || (((IFieldComponent) component)
                                    .getScriptObject() instanceof ISupportOnRenderCallback
                                    && ((ISupportOnRenderCallback) ((IFieldComponent) component)
                                            .getScriptObject()).getRenderEventExecutor().hasRenderCallback())) {
                        hasFocus = true;
                    }
                    // Always trigger event on focus lost:
                    // 1) check for new selected index, record validation may have failed preventing a index changed
                    // 2) prevent focus gained to be called when field validation failed
                    // 3) general ondata change
                    hasBlur = true;
                } else if (component instanceof WebBaseLabel) {
                    targetComponent = component;
                    hasFocus = true;
                }

                if (targetComponent != null) {
                    MainPage mainPage = targetComponent.findParent(MainPage.class);
                    if (mainPage.isUsingAjax()) {
                        AbstractAjaxBehavior eventCallback = mainPage.getPageContributor().getEventCallback();
                        if (eventCallback != null) {
                            String callback = eventCallback.getCallbackUrl().toString();
                            if (component instanceof WebDataRadioChoice
                                    || component instanceof WebDataCheckBoxChoice
                                    || component instanceof WebDataLookupField
                                    || component instanceof WebDataComboBox
                                    || component instanceof WebDataListBox
                                    || component instanceof WebDataHtmlArea) {
                                // is updated via ServoyChoiceComponentUpdatingBehavior or ServoyFormComponentUpdatingBehavior, this is just for events
                                callback += "&nopostdata=true";
                            }
                            for (IBehavior behavior : targetComponent.getBehaviors()) {
                                if (behavior instanceof EventCallbackModifier) {
                                    targetComponent.remove(behavior);
                                }
                            }
                            if (hasFocus) {
                                StringBuilder js = new StringBuilder();
                                js.append("eventCallback(this,'focus','").append(callback).append("',event)"); //$NON-NLS-1$ //$NON-NLS-2$
                                targetComponent.add(new EventCallbackModifier("onfocus", true, //$NON-NLS-1$
                                        new Model<String>(js.toString())));
                                targetComponent.add(new EventCallbackModifier("onmousedown", true, //$NON-NLS-1$
                                        new Model<String>("focusMousedownCallback(event)"))); //$NON-NLS-1$
                            }
                            if (hasBlur) {
                                boolean blockRequest = false;
                                // if component has ondatachange, check for blockrequest
                                if (component instanceof ISupportEventExecutor
                                        && ((ISupportEventExecutor) component).getEventExecutor()
                                                .hasChangeCmd()) {
                                    WebClientSession webClientSession = WebClientSession.get();
                                    blockRequest = webClientSession != null && webClientSession.blockRequest();
                                }

                                StringBuilder js = new StringBuilder();
                                js.append("postEventCallback(this,'blur','").append(callback) //$NON-NLS-1$
                                        .append("',event," + blockRequest + ")"); //$NON-NLS-1$
                                targetComponent.add(new EventCallbackModifier("onblur", true, //$NON-NLS-1$
                                        new Model<String>(js.toString())));
                            }
                        }
                    }
                }
            }
        }
    });
}

From source file:eu.uqasar.web.pages.qmodel.QModelImportPage.java

License:Apache License

public QModelImportPage(PageParameters parameters) {
    super(parameters);
    logger.info("QModelImportPage::QModelImportPage start");
    final Form<?> form = new Form<Void>("form") {

        /**/*from ww  w. j a v a 2s  .c  om*/
         *
         */
        private static final long serialVersionUID = 4949407424211758709L;

        @Override
        protected void onSubmit() {
            logger.info("QModelImportPage::onSubmit starts");
            errorMessage = "";

            try {

                FileUpload upload = file.getFileUpload();
                if (upload == null) {
                    errorMessage = "qmodel.empty.file.error";
                    logger.info("QModelImportPage::onSubmit no file uploaded");
                } else {
                    logger.info("QModelImportPage::onSubmit some file uploaded");

                    if (upload.getSize() > Bytes.kilobytes(MAX_SIZE).bytes()) {
                        errorMessage = "qmodel.max.file.error";
                        logger.info("QModelImportPage::onSubmit MAX_SIZE size" + upload.getSize());
                    } else {
                        logger.info("QModelImportPage::onSubmit file name " + upload.getClientFileName()
                                + " File-Size: " + Bytes.bytes(upload.getSize()).toString() + "content-type "
                                + upload.getContentType());

                        user = UQasar.getSession().getLoggedInUser();
                        if (user.getCompany() != null) {
                            company = companyService.getById(user.getCompany().getId());
                        }

                        if (upload.getContentType() != null && upload.getContentType().equals(XML_CONTENT)) {
                            //parsing
                            qm = parse(upload, true);
                        } else if (upload.getContentType() != null
                                && (upload.getContentType().equals(JSON_CONTENT)
                                        || upload.getContentType().equals(OCT_CONTENT))) {
                            //json candidate
                            qm = parse(upload, false);
                        } else {
                            //file not valid
                            errorMessage = "qmodel.type.file.error";
                        }
                    }
                }

                if (qm != null) {
                    qm.setUpdateDate(DateTime.now().toDate());
                    if (qm.getCompanyId() != 0) {
                        qm.setCompany(companyService.getById(qm.getCompanyId()));
                    } else {
                        if (company != null) {
                            qm.setCompany(company);
                            qm.setCompanyId(company.getId());
                        }
                    }
                    qm = (QModel) qmodelService.create(qm);
                }
            } catch (uQasarException ex) {
                if (ex.getMessage().contains("nodeKey")) {
                    errorMessage = "qmodel.key.unique";
                }
            } catch (JsonProcessingException ex) {
                logger.info("JsonProcessingException----------------------------------------");
                if (ex.getMessage().contains("expecting comma to separate ARRAY entries")) {
                    errorMessage = "qmodel.json.parse.error";
                } else if (ex.getMessage().contains("Unexpected character")) {
                    errorMessage = "qmodel.json.char.error";
                } else if (ex.getMessage().contains("Can not construct instance")) {
                    errorMessage = "qmodel.json.enum.error";
                } else {
                    logger.info("JsonProcessingException----------------------------");
                    errorMessage = "qmodel.xml.parse.error";
                }
            } catch (JAXBException ex) {
                logger.info("JAXBException----------------------------");
                errorMessage = "qmodel.xml.parse.error";
            } catch (Exception ex) {
                logger.info("IOException----------------------------");
                errorMessage = "qmodel.import.importError";
            } finally {
                PageParameters parameters = new PageParameters();
                if (null != errorMessage && !errorMessage.equals("")) {
                    logger.info("Attaching error message");
                    parameters.add(QModelImportPage.LEVEL_PARAM, FeedbackMessage.ERROR);
                    parameters.add(QModelImportPage.MESSAGE_PARAM,
                            getLocalizer().getString(errorMessage, this));
                    setResponsePage(QModelImportPage.class, parameters);
                } else {

                    logger.info("qmodel successfully created: redirection");
                    //qmodel successfully created: redirection
                    parameters.add(BasePage.LEVEL_PARAM, FeedbackMessage.SUCCESS);
                    parameters.add(BasePage.MESSAGE_PARAM,
                            getLocalizer().getString("treenode.imported.message", this));
                    parameters.add("qmodel-key", qm.getNodeKey());
                    parameters.add("name", qm.getName());
                    setResponsePage(QModelViewPage.class, parameters);
                }
            }
        }
    };

    // create the file upload field
    file = new FileUploadField("file");
    form.addOrReplace(file);

    form.add(new Label("max", new AbstractReadOnlyModel<String>() {
        /**
         *
         */
        private static final long serialVersionUID = 3532428309651830468L;

        @Override
        public String getObject() {
            return (Bytes.kilobytes(MAX_SIZE)).toString();
        }
    }));

    // add progress bar
    form.add(new UploadProgressBar("progress", form, file));

    ServletContext context = ((WebApplication) getApplication()).getServletContext();
    // Download xml example
    File filexml = new File(context.getRealPath("/assets/files/qmodel.xml"));
    DownloadLink xmlLink = new DownloadLink("xmlLink", filexml);
    form.add(xmlLink);

    // Download json example
    File filejson = new File(context.getRealPath("/assets/files/qmodel.json"));
    DownloadLink jsonLink = new DownloadLink("jsonLink", filejson);
    form.add(jsonLink);

    add(form);

    logger.info("QModelImportPage::QModelImportPage ends");
}

From source file:eu.uqasar.web.pages.tree.projects.ProjectImportPage.java

License:Apache License

public ProjectImportPage(PageParameters parameters) {
    super(parameters);

    upload = new FileUploadField("file");

    final Form<?> form = new Form<Void>("form") {

        private static final long serialVersionUID = -8541751079487127243L;

        @Override/*from ww w. j  av  a 2  s. c o m*/
        protected void onSubmit() {
            Project p = null;
            try {
                FileUpload file = upload.getFileUpload();
                if (file == null) {
                    logger.info("File upload failed");
                    error = true;
                } else {
                    if (file.getSize() > Bytes.kilobytes(MAX_SIZE).bytes()) {
                        logger.info("File is too big");
                        error = true;
                    } else {
                        String content = file.getContentType();
                        if (content != null) {
                            logger.info("Parser called");
                            p = parseProject(file, content);
                            p = (Project) treeNodeService.create(p);

                            // set company to qmodel
                            user = UQasar.getSession().getLoggedInUser();
                            if (user != null && user.getCompany() != null) {
                                p.setCompany(user.getCompany());
                            }
                        } else {
                            logger.info("Upload file is invalid");
                            error = true;
                        }
                    }
                }
            } catch (uQasarException ex) {
                if (ex.getMessage().contains("nodeKey")) {
                    error = true;
                    logger.info("duplicated nodeKey");
                    errorMessage = "import.key.unique";
                }
            } catch (Exception ex) {
                error = true;
                logger.error(ex.getMessage(), ex);
            } finally {
                PageParameters parameters = new PageParameters();

                if (error) {
                    parameters.add(BasePage.LEVEL_PARAM, FeedbackMessage.ERROR);

                    if (errorMessage != null && errorMessage.contains("key")) {
                        parameters.add(QModelImportPage.MESSAGE_PARAM,
                                getLocalizer().getString(errorMessage, this));
                    } else {
                        parameters.add(BasePage.MESSAGE_PARAM,
                                getLocalizer().getString("import.importError", this));
                    }
                    setResponsePage(ProjectImportPage.class, parameters);
                } else {
                    parameters.add(BasePage.LEVEL_PARAM, FeedbackMessage.SUCCESS);
                    parameters.add(BasePage.MESSAGE_PARAM,
                            getLocalizer().getString("import.importMessage", this));
                    // TODO what if p == null?
                    parameters.add("project-key", p != null ? p.getNodeKey() : "?");
                    setResponsePage(ProjectViewPage.class, parameters);
                }
            }
        }
    };
    form.add(upload);
    form.setMaxSize(Bytes.kilobytes(MAX_SIZE));
    form.add(new Label("max", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 3532428309651830468L;

        @Override
        public String getObject() {
            return form.getMaxSize().toString();
        }
    }));

    form.add(new UploadProgressBar("progress", form, upload));
    form.add(new Button("uploadButton", new StringResourceModel("upload.button", this, null)));

    add(form);

}