Example usage for org.apache.wicket.extensions.ajax.markup.html.form.upload UploadProgressBar UploadProgressBar

List of usage examples for org.apache.wicket.extensions.ajax.markup.html.form.upload UploadProgressBar UploadProgressBar

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html.form.upload UploadProgressBar UploadProgressBar.

Prototype

public UploadProgressBar(final String id, final Form<?> form, final FileUploadField uploadField) 

Source Link

Document

Constructor that will display the upload progress bar for submissions of the given form, that include a file upload in the given file upload field; i.e.

Usage

From source file:de.inren.frontend.banking.BankDataImportPanel.java

License:Apache License

private void addFinanceUpload() {
    // Add one file input field
    FileUploadField fileUploadField = new FileUploadField("financeInput");
    final Form<Void> progressUploadForm = new Form<Void>("financeForm") {
        @Override/*from   w w w  .j  a v a  2  s.  co m*/
        protected void onSubmit() {
            final List<FileUpload> uploads = fileUploadField.getFileUploads();
            if (uploads != null) {
                for (FileUpload upload : uploads) {

                    try {
                        // Paarse and insert into db
                        if (upload.getClientFileName().toLowerCase()
                                .startsWith("MeineFinanzen".toLowerCase())) {
                            bankDataService.importFinanceCsv(upload.getBytes());
                        } else {
                            throw new IllegalStateException("Unknown Filetype");
                        }
                    } catch (Exception e) {
                        throw new IllegalStateException("Unable to read data.", e);
                    }
                }
            }
        };
    };
    // set this form to multipart mode (allways needed for uploads!)
    progressUploadForm.setMultiPart(true);
    progressUploadForm.add(fileUploadField);
    progressUploadForm.add(new UploadProgressBar("financeProgress", progressUploadForm, fileUploadField));
    add(progressUploadForm);
}

From source file:de.inren.frontend.banking.BankDataImportPanel.java

License:Apache License

private void addTransactionUpload() {
    // Add one file input field
    FileUploadField fileUploadField = new FileUploadField("transactionInput");
    final Form<Void> progressUploadForm = new Form<Void>("transactionForm") {
        @Override//from  w ww .  j av  a2  s . c o m
        protected void onSubmit() {
            final List<FileUpload> uploads = fileUploadField.getFileUploads();
            if (uploads != null) {
                for (FileUpload upload : uploads) {

                    try {
                        // Paarse and insert into db
                        if (upload.getClientFileName().toLowerCase()
                                .startsWith("Umsatzanzeige".toLowerCase())) {
                            bankDataService.importTransactionCsv(upload.getBytes());
                        } else {
                            throw new IllegalStateException("Unknown Filetype");
                        }
                    } catch (Exception e) {
                        throw new IllegalStateException("Unable to read data.", e);
                    }
                }
            }
        };
    };
    // set this form to multipart mode (allways needed for uploads!)
    progressUploadForm.setMultiPart(true);
    progressUploadForm.add(fileUploadField);
    progressUploadForm.add(new UploadProgressBar("transactionProgress", progressUploadForm, fileUploadField));
    add(progressUploadForm);
}

From source file:de.inren.frontend.health.backup.BackupRestorePanel.java

License:Apache License

@Override
protected void initGui() {
    // Backup User
    add(getMyBackupLink("userLink"));
    // Backup all Users
    add(getAllBackupLink("allLink"));
    // Restore with progress bar
    final FileUploadForm progressUploadForm = new FileUploadForm("restore");
    progressUploadForm// w  w  w.j  av  a 2s.c om
            .add(new UploadProgressBar("progress", progressUploadForm, progressUploadForm.fileUploadField));
    add(progressUploadForm);
}

From source file:de.inren.frontend.storehouse.ActionPanel.java

License:Apache License

private void addUpload() {
    // Add one file input field
    FileUploadField fileUploadField = new FileUploadField("fileInput");
    final Form progressUploadForm = new Form("restore") {
        @Override/*  www  .j av a2s  .  c  o m*/
        protected void onSubmit() {
            final List<FileUpload> uploads = fileUploadField.getFileUploads();
            if (uploads != null) {
                for (FileUpload upload : uploads) {

                    try {
                        String digest = storehouseService.doImport(upload.getInputStream(), upload.getMD5());
                        Picture picture = new Picture();
                        picture.setDigest(digest);
                        picture.setFilename(upload.getClientFileName());
                        picture = pictureService.savePicture(picture);
                        Folder srcFolder = ActionPanel.this.getModel().getObject();
                        folderService.insertIntoFolder(srcFolder, picture);
                        PageParameters parameters = new PageParameters();
                        parameters.add("id", srcFolder.getId());
                        throw new RestartResponseException(FileManagerPage.class, parameters);
                    } catch (Exception e) {
                        throw new IllegalStateException("Unable to restore data.", e);
                    }
                }
            }
        };
    };
    // set this form to multipart mode (allways needed for uploads!)
    progressUploadForm.setMultiPart(true);
    progressUploadForm.add(fileUploadField);
    progressUploadForm.add(new UploadProgressBar("progress", progressUploadForm, fileUploadField));

    add(progressUploadForm);
}

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") {

        /**/* w w  w .  ja  v a  2  s .com*/
         *
         */
        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/*  w  ww .  j  a  v  a2s  . 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);

}

From source file:eu.uqasar.web.pages.user.panels.UserPicturePanel.java

License:Apache License

public UserPicturePanel(final String id, final User usr) {
    super(id);//from   w w w. ja  v  a  2s . c  om
    this.user = usr;

    // Form for uploading profile images
    fileUploadForm = new Form<>("fileUploadForm");
    fileUploadForm.setOutputMarkupId(true);

    // User image
    userPhoto = new NonCachingImage("userImage", user.getProfilePicture(User.PictureDimensions.Large));
    userPhoto.setOutputMarkupId(true);
    fileUploadForm.add(userPhoto);
    uploadField = new FileUploadField("fileUploadField");
    fileUploadForm.add(uploadField.setOutputMarkupId(true));
    fileUploadForm.setMaxSize(Bytes.kilobytes(MAX_SIZE));
    fileUploadForm.add(new Label("max", Model.of(Bytes.kilobytes(MAX_SIZE))));
    fileUploadForm.add(new AjaxSubmitLink("submit") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            // Check whether an image has been provided to be uploaded
            FileUpload fileUpload = uploadField.getFileUpload();

            if (fileUpload != null) {
                try {
                    uploadHelper.processUserFileUpload(fileUpload, user);
                    userPhoto.setImageResource(user.getProfilePicture(User.PictureDimensions.Large));
                    uploadField.clearInput();
                    target.add(uploadField);
                    target.add(userPhoto);
                } catch (IOException e) {
                    getPage().error(e.getLocalizedMessage());
                    target.add(((BasePage) getPage()).getFeedbackPanel());
                }
            }
        }
    });

    fileUploadForm.add(new AjaxSubmitLink("clear") {

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            uploadHelper.removeUserPictures(user);
            target.add(userPhoto);
        }
    });
    fileUploadForm.add(new UploadProgressBar("progress", fileUploadForm, uploadField));
    add(fileUploadForm);

    fileUploadForm.add(new AjaxSubmitLink("uploadGravatar") {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            // Attempt to download image from gravatar
            try {
                byte[] rawImage = gv.download(user.getMail());
                if (rawImage != null) {
                    uploadHelper.processUserFileUpload(rawImage, user);
                    userPhoto.setImageResource(user.getProfilePicture(User.PictureDimensions.Large));
                    uploadField.clearInput();
                    target.add(uploadField);
                    target.add(userPhoto);
                }
            } catch (IOException e) {
                uploadHelper.removeUserPictures(user);
                target.add(userPhoto);
            }
        }
    });
}

From source file:it.av.youeat.web.page.RistoranteEditPicturePage.java

License:Apache License

/**
 * @param parameters// w  w w  .ja v  a2s.  c om
 * @throws YoueatException
 */
public RistoranteEditPicturePage(PageParameters parameters) throws YoueatException {
    add(getFeedbackPanel());
    ristoranteId = parameters.get(YoueatHttpParams.RISTORANTE_ID).toString("");
    if (StringUtils.isBlank(ristoranteId)) {
        throw new RestartResponseAtInterceptPageException(getApplication().getHomePage());
    }

    pictForm = new Form<Ristorante>("ristorantePicturesForm", new LoadableDetachableModel<Ristorante>() {
        @Override
        protected Ristorante load() {
            return ristoranteService.getByID(ristoranteId);
        }
    });
    add(pictForm);
    // pictForm.setOutputMarkupId(true);
    pictForm.setMultiPart(true);
    pictForm.setMaxSize(Bytes.megabytes(1));
    FileUploadField uploadField = new FileUploadField("uploadField");
    pictForm.add(uploadField);
    pictForm.add(new UploadProgressBar("progressBar", pictForm, uploadField));
    pictForm.add(new SubmitButton("submitForm", pictForm));

    picturesList = new ListView<RistorantePicture>("picturesList", new PicturesModel()) {
        @Override
        protected void populateItem(final ListItem<RistorantePicture> item) {
            // Button disabled, because the getPicture is not yet implemented
            item.add(new SubmitLink("publish-unpublish", pictForm) {
                @Override
                public void onSubmit() {
                    item.getModelObject().setActive(!item.getModelObject().isActive());
                    try {
                        ristorantePictureService.save(item.getModelObject());
                    } catch (YoueatException e) {
                        error(getString("genericErrorMessage"));
                    }
                }

                @Override
                protected void onComponentTag(ComponentTag tag) {
                    super.onComponentTag(tag);
                    if (item.getModelObject().isActive()) {
                        tag.getAttributes().put("title", getString("button.unpublish"));
                        tag.getAttributes().put("class", "unpublishPictureButton");
                    } else {
                        tag.getAttributes().put("title", getString("button.publish"));
                        tag.getAttributes().put("class", "publishPictureButton");
                    }
                }
            }.setVisible(false));
            item.add(new SubmitLink("remove", pictForm) {
                @Override
                public void onSubmit() {
                    try {
                        RistorantePicture picture = item.getModelObject();
                        Ristorante risto = ((Ristorante) getForm().getModelObject());
                        risto.getPictures().remove(picture);
                        ristoranteService.updateNoRevision(risto);
                        ristorantePictureService.remove(picture);
                        picturesList.setModel(new PicturesModel());
                    } catch (YoueatException e) {
                        error(getString("genericErrorMessage"));
                    }
                }
            });
            Link<RistorantePicture> imageLink = new Link<RistorantePicture>("pictureLink", item.getModel()) {
                @Override
                public void onClick() {
                    setResponsePage(new ImageViewPage(getModelObject().getPicture()));
                }
            };
            imageLink.add(ImageRisto.getThumbnailImage("picture", item.getModelObject().getPicture(), false));
            item.add(imageLink);
        }
    };
    picturesList.setOutputMarkupId(true);
    picturesList.setReuseItems(false);
    picturesListContainer = new WebMarkupContainer("picturesListContainer");
    picturesListContainer.setOutputMarkupId(true);
    pictForm.add(picturesListContainer);
    picturesListContainer.add(picturesList);

    ButtonOpenRisto buttonOpenAddedRisto = new ButtonOpenRisto("buttonOpenAddedRisto", pictForm.getModel(),
            true);
    add(buttonOpenAddedRisto);

    ButtonOpenRisto buttonOpenAddedRistoRight = new ButtonOpenRisto("buttonOpenAddedRistoRight",
            pictForm.getModel(), true);
    add(buttonOpenAddedRistoRight);
}

From source file:nl.mpi.lamus.web.components.UploadPanel.java

License:Open Source License

public UploadPanel(String id, IModel<Workspace> model, FeedbackPanel feedbackPanel) {

    super(id, model, feedbackPanel);

    this.model = model;

    // Add upload form with progress bar that uses HTML <input type="file" multiple />, so it can upload
    // more than one file in browsers which support "multiple" attribute
    final FileUploadForm progressUploadForm = new FileUploadForm("progressUpload");

    progressUploadForm//ww  w  . j ava 2 s. co  m
            .add(new UploadProgressBar("progress", progressUploadForm, progressUploadForm.fileUploadField));
    add(progressUploadForm);
}

From source file:org.apache.openmeetings.web.admin.backup.BackupPanel.java

License:Apache License

public BackupPanel(String id) {
    super(id);//from w w w.j a v a  2  s  .  c o  m

    add(feedback);

    BackupForm backupForm = new BackupForm("backupUpload");

    backupForm.add(new UploadProgressBar("progress", backupForm, backupForm.fileUploadField));

    add(backupForm);
    add(BootstrapFileUploadBehavior.INSTANCE);
}