Example usage for org.apache.wicket.markup.html.form.upload FileUploadField FileUploadField

List of usage examples for org.apache.wicket.markup.html.form.upload FileUploadField FileUploadField

Introduction

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

Prototype

@SuppressWarnings("unchecked")
public FileUploadField(final String id, IModel<? extends List<FileUpload>> model) 

Source Link

Usage

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// ww  w  . j a  v a 2  s  . c o  m
        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:ch.bd.qv.quiz.panels.AdminPanel.java

License:Apache License

public AdminPanel(String id) {
    super(id);/*from w  w  w  . j  av a2s  .  c o  m*/
    add(new FeedbackPanel("feedback"));
    Form form = new Form("form");
    form.setMultiPart(true);
    form.add(fup = new FileUploadField("fileupload", new Model()));
    fup.setRequired(true);
    form.add(new AjaxSubmitLink("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            List<FileUpload> uploads = fup.getConvertedInput();
            try {
                uploadBean.purgeAndUpload(uploads.get(0).getBytes());
            } catch (Exception e) {
                AdminPanel.this.get("feedback").error(Throwables.getStackTraceAsString(e));
            }
            target.add(findParent(AdminPanel.class));
        }

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

From source file:com.chitek.ignition.drivers.generictcp.meta.config.ui.MessageConfigUI.java

License:Apache License

private void addComponents() {

    // Select the first message for initial display
    if (getConfig().messages.isEmpty()) {
        // No messages configured. Create a new message with id=1.
        getConfig().addMessageConfig(new MessageConfig(1));
    }/*  w w  w  . j  a  va  2  s.c  o  m*/

    currentMessage = getConfig().getMessageList().get(0);
    currentMessage.calcOffsets(getConfig().getMessageIdType().getByteSize());
    currentMessageId = currentMessage.getMessageId();

    // *******************************************************************************************
    // *** Form for XML import
    final FileUploadField uploadField = new FileUploadField("upload-field", new ListModel<FileUpload>());

    Form<?> uploadForm = new Form<Object>("upload-form") {
        @Override
        protected void onSubmit() {
            try {
                FileUpload upload = uploadField.getFileUpload();
                if (upload != null) {
                    handleOnUpload(upload.getInputStream());
                } else {
                    warn(new StringResourceModel("warn.noFileToUpload", this, null).getString());
                }
            } catch (Exception e) {
                this.error(new StringResourceModel("import.error", this, null).getString() + " Exception: "
                        + e.toString());
            }
        }
    };
    uploadForm.add(uploadField);

    SubmitLink importLink = new SubmitLink("import-link");
    uploadForm.add(importLink);

    add(uploadForm);

    // *******************************************************************************************
    // *** The message configuration
    currentMessageModel = new PropertyModel<MessageConfig>(this, "currentMessage");
    editForm = new Form<MessageConfig>("edit-form",
            new CompoundPropertyModel<MessageConfig>(currentMessageModel)) {
        @Override
        protected void onError() {
            // Validation error - reset the message dropdown to the original value
            // Clear input causes the component to reload the model
            currentMessageIdDropdown.clearInput();
            super.onError();
        }
    };

    editForm.add(new MessageFormValidator());

    WebMarkupContainer tableContainer = new WebMarkupContainer("table-container");

    messageIdTypeDropDown = getMessageIdTypeDropdown();
    tableContainer.add(messageIdTypeDropDown);

    currentMessageIdDropdown = getCurrentMessageIdDropdown();

    tableContainer.add(currentMessageIdDropdown);
    Button buttonNew = new Button("new");
    buttonNew.add(new AjaxFormSubmitBehavior("onclick") {
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            handleNew(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target) {
            handleError(target);
        }
    });
    tableContainer.add(buttonNew);

    Button buttonCopy = new Button("copy");
    buttonCopy.add(new AjaxFormSubmitBehavior("onclick") {
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            handleCopy(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target) {
            handleError(target);
        }
    });
    tableContainer.add(buttonCopy);

    Button deleteButton = new Button("delete");
    deleteButton.add(new AjaxEventBehavior("onclick") {
        @Override
        protected void onEvent(AjaxRequestTarget target) {
            handleDelete(target);
        }
    });
    tableContainer.add(deleteButton);

    messageTypeDropdown = getMessageTypeDropdown();
    tableContainer.add(messageTypeDropdown);

    tableContainer.add(getQueueModeDropdown());

    tableContainer.add(new CheckBox("usePersistance").setOutputMarkupId(true));

    WebMarkupContainer listEditorContainer = new WebMarkupContainer("list-editor");

    messageIdTextField = getMessageIdTextField();
    listEditorContainer.add(messageIdTextField);

    messageAliasTextField = getMessageAliasTextField();
    listEditorContainer.add(messageAliasTextField);

    // Create the list editor
    editor = new ListEditor<TagConfig>("tags",
            new PropertyModel<List<TagConfig>>(currentMessageModel, "tags")) {
        @Override
        protected void onPopulateItem(EditorListItem<TagConfig> item) {

            item.setModel(new CompoundPropertyModel<TagConfig>(item.getModelObject()));

            BinaryDataType dataType = item.getModelObject().getDataType();
            boolean enable = dataType.isSpecial() ? false : true;

            // Offset is displayed only for information
            item.add(new Label("offset").setOutputMarkupId(true));

            if (enable) {
                item.add(getIdTextField());
            } else {
                // The static TextField has no validation. Validation would fail for special tags.
                item.add(getSpecialIdTextField().setEnabled(false));
            }

            item.add(getAliasTextField().setVisible(enable));

            item.add(getSizeTextField().setEnabled(dataType.isArrayAllowed()));

            item.add(getTagLengthTypeDropDown().setEnabled(dataType.supportsVariableLength()));

            item.add(getDataTypeDropdown());

            // Create the edit links to be used in the list editor
            item.add(getInsertLink());
            item.add(getDeleteLink());
            item.add(getMoveUpLink().setVisible(item.getIndex() > 0));
            item.add(getMoveDownLink().setVisible(item.getIndex() < getList().size() - 1));
        }
    };
    listEditorContainer.add(editor);

    Label noItemsLabel = new Label("no-items-label", new StringResourceModel("noitems", this, null)) {
        @Override
        public boolean isVisible() {
            return editor.getList().size() == 0;
        }
    };

    listEditorContainer.add(noItemsLabel);

    listEditorContainer.add(new EditorSubmitLink("add-row-link") {
        @Override
        public void onSubmit() {
            editor.addItem(new TagConfig());

            // Adjust the visibility of the edit links
            updateListEditor(editor);
        }
    });

    listEditorContainer.setOutputMarkupId(true);

    tableContainer.add(listEditorContainer);
    editForm.add(tableContainer);

    // XML export
    SubmitLink exportLink = new SubmitLink("export-link", editForm) {
        @Override
        public void onSubmit() {
            ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(getResourceStream(),
                    getFileName());
            handler.setContentDisposition(ContentDisposition.ATTACHMENT);
            handler.setCacheDuration(Duration.NONE);
            getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
        }

        private String getFileName() {
            return String.format("MsgConfig_%s.xml", currentMessageModel.getObject().getMessageId());
        }

        private IResourceStream getResourceStream() {
            String config = currentMessageModel.getObject().toXMLString();
            return new StringResourceStream(config, "text/xml");
        }
    };
    editForm.add(exportLink);

    uploadForm.add(editForm);
}

From source file:com.doculibre.constellio.wicket.panels.admin.acl.AddEditPolicyACLPanel.java

License:Open Source License

public AddEditPolicyACLPanel(String id, PolicyACL policyACL) {
    super(id, false);
    this.policyACLModel = new ReloadableEntityModel<PolicyACL>(policyACL);

    Form form = getForm();/* w w  w. ja  v  a  2s  . c  o m*/
    form.setModel(new CompoundPropertyModel(policyACLModel));
    form.add(new SetFocusBehavior(form));

    fileUploadField = new FileUploadField("file", fileUploadModel);
    fileUploadField.setRequired(true);
    form.add(fileUploadField);
}

From source file:com.tysanclan.site.projectewok.pages.member.admin.TangoImporterPage.java

License:Open Source License

/**
 * /*from   w w  w  .  ja  v a 2 s .c  o  m*/
 */
public TangoImporterPage() {
    super("Tango Conversion Page");

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

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            PasswordTextField keyField = (PasswordTextField) get("masterKey");

            if (userDAO.findAll().isEmpty()) {

                if (keyField.getModelObject().equals(TysanApplication.MASTER_KEY)) {
                    FileUploadField field = (FileUploadField) get("fileUploader");
                    FileUpload upload = field.getFileUpload();

                    if (upload == null) {
                        error("You must upload a file");
                        return;
                    }

                    try {
                        TysanScheduler.getScheduler()
                                .scheduleTask(new TangoImportTask(upload.getInputStream()));
                        info("Tango import background job started");
                    } catch (IOException e) {
                        error("Internal error: Unable to read upload");
                    }

                } else {
                    error("Master key invalid");
                }
            } else {
                error("Import can only be run on an empty database!");
            }

        }

    };
    uploadForm.add(new PasswordTextField("masterKey", new Model<String>("")));
    uploadForm.add(new FileUploadField("fileUploader", new ListModel<FileUpload>()));
    add(uploadForm);

}

From source file:com.tysanclan.site.projectewok.pages.member.ProposeAchievementPage.java

License:Open Source License

public ProposeAchievementPage(int tabIndex) {
    super("Propose Achievement");

    this.tabIndex = tabIndex;

    add(new ListView<AchievementProposal>("proposals", ModelMaker.wrap(achievementProposalDAO.findAll())) {

        private static final long serialVersionUID = 1L;

        @Override// ww  w .j  av  a 2s  .  c  o m
        protected void populateItem(final ListItem<AchievementProposal> item) {
            AchievementProposal proposal = item.getModelObject();

            item.add(new Image("icon", new StoredImageResource(proposal.getIcon().getImage())));

            item.add(new Label("name", proposal.getName()));
            item.add(new Label("description", proposal.getDescription()).setEscapeModelStrings(false));
            item.add(new Label("game", proposal.getGame() != null ? proposal.getGame().getName() : "-"));
            item.add(new Label("group", proposal.getGroup() != null ? proposal.getGroup().getName() : "-"));
        }

    });

    List<AchievementIcon> icons = achievementService.getAvailableIcons(getUser());

    add(getIconListview("icons", icons, new IconClickResponder() {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AchievementIcon icon) {
            setResponsePage(new ProposeAchievementPage2(icon));
        }
    }));

    add(new WebMarkupContainer("noIcons").setVisible(icons.isEmpty()));

    add(getIconListview("approved", getApprovedIcons(getUser()), null));
    add(getIconListview("pending", getPendingIcons(getUser()), null));

    add(getIconListview("rejected", getRejectedIcons(getUser()), new IconClickResponder() {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AchievementIcon icon) {
            achievementService.deleteIcon(getUser(), icon);

            setResponsePage(new ProposeAchievementPage(2));
        }
    }));

    final FileUploadField uploadField = new FileUploadField("file", new ListModel<FileUpload>());
    uploadField.setRequired(true);

    final TextField<String> purposeField = new TextField<String>("purpose", new Model<String>(""));
    purposeField.setRequired(true);

    final CheckBox privateIconBox = new CheckBox("private", new Model<Boolean>(true));

    Form<AchievementIcon> uploadForm = new Form<AchievementIcon>("uploadIcon") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit() {
            List<FileUpload> uploads = uploadField.getModelObject();
            String purpose = purposeField.getModelObject();
            Boolean privateIcon = privateIconBox.getModelObject();

            if (uploads != null && !uploads.isEmpty()) {
                FileUpload upload = uploads.get(0);

                AchievementIcon icon = achievementService.uploadAchievementIcon(getUser(), upload.getBytes(),
                        purpose, privateIcon);

                if (icon != null) {
                    setResponsePage(new ProposeAchievementPage(2));
                } else {
                    error("Invalid image type, or not a 48x48 pixel image");
                }
            } else {
                error("No valid file uploaded");
            }

        }

    };

    uploadForm.setMultiPart(true);

    uploadForm.add(uploadField);
    uploadForm.add(purposeField);
    uploadForm.add(privateIconBox);

    add(uploadForm);

}

From source file:com.tysanclan.site.projectewok.pages.member.RequestAchievementPage2.java

License:Open Source License

public RequestAchievementPage2(Achievement achievement) {
    super("Request achievement " + achievement.getName());

    achievementModel = ModelMaker.wrap(achievement);

    final FileUploadField uploadField = new FileUploadField("screenshot", new ListModel<FileUpload>());
    final TextArea<String> evidenceField = new BBCodeTextArea("evidence", "");

    Form<Achievement> form = new Form<Achievement>("evidenceForm") {
        private static final long serialVersionUID = 1L;

        @SpringBean// w  ww.  ja  v  a  2 s.  c o m
        private AchievementService service;

        @Override
        protected void onSubmit() {
            FileUpload upload = uploadField.getFileUpload();
            String evidence = evidenceField.getModelObject();

            if (upload != null) {
                if (!ImageUtil.isGIFImage(upload.getBytes()) && !ImageUtil.isPNGImage(upload.getBytes())
                        && !ImageUtil.isJPEGImage(upload.getBytes())) {
                    error("Please supply a valid JPG, GIF or PNG image");
                    return;
                }
            } else {
                if (evidence == null || evidence.isEmpty()) {
                    error("Please provide either a screenshot or a textual description of why you qualify for this achievement");
                    return;
                }
            }

            AchievementRequest request = service.requestAchievement(getUser(), achievementModel.getObject(),
                    upload != null ? upload.getBytes() : null, evidence);
            if (request != null) {
                setResponsePage(new RequestAchievementPage());
            } else {
                error("Failed to create request");
            }

        }
    };

    form.setMultiPart(true);

    form.add(uploadField);
    form.add(evidenceField);

    add(form);

    form.add(new Label("name", achievement.getName()));

    Game game = achievement.getGame();

    form.add(new Image("icon", new StoredImageResource(achievement.getIcon().getImage())));
    form.add(new Image("game", new StoredImageResource(game != null ? game.getImage() : new byte[0]))
            .setVisible(game != null));

    boolean hasGroup = achievement.getGroup() != null;

    form.add(new Label("group", hasGroup ? achievement.getGroup().getName() : "-").setVisible(hasGroup));
    form.add(new Label("description", achievement.getDescription()).setEscapeModelStrings(false));
}

From source file:com.userweave.module.methoden.iconunderstandability.page.conf.terms.ITMTermsUpload.java

License:Open Source License

/**
 * Initializes this panel. Adds the file upload field.
 *///from w w w.java2  s.c om
private void init() {
    IModel<List<FileUpload>> model = Model.ofList(new ArrayList());

    add(fileUploadField = new FileUploadField("imageFile", model));

    fileUploadField.setRequired(true);
}

From source file:com.zh.snmp.snmpweb.pages.snmp.DeviceConfigEditPanel.java

License:Open Source License

public DeviceConfigEditPanel(ModalWindow modal, IModel<DeviceConfigEntity> model) {
    super(modal, model, false);
    boolean isEdit = model.getObject().getId() != null;
    form.setDefaultModel(new CompoundPropertyModel<DeviceConfigEntity>(model.getObject()));
    form.add(new TextField("code").setRequired(true).setEnabled(!isEdit));
    form.add(new TextField("name").setRequired(true));
    form.add(file = new FileUploadField("uploadFile", new Model<FileUpload>()));
    //form.add(ne)

    file.setRequired(!isEdit).setVisible(!isEdit);
}

From source file:com.zh.snmp.snmpweb.pages.snmp.DeviceConfigImportPanel.java

License:Open Source License

public DeviceConfigImportPanel(final ModalWindow modal) {
    super(modal.getContentId());
    this.modal = modal;
    Form form = new Form("form");
    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    form.add(feedback);/*from www.  j  a  v a 2 s  .c o  m*/
    feedback.setOutputMarkupId(true);
    form.add(file = new FileUploadField("uploadFile", new Model<FileUpload>()));
    add(form);
    form.add(new JBetButton("upload", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            FileUpload upload = file.getFileUpload();
            SimpleMessageAppender appender = new SimpleMessageAppender();
            try {
                service.importConfiguration(upload.getInputStream(), appender);
            } catch (Exception e) {
                appender.addMessage("error.import.config");
                LOGGER.error("Hiba konfig upload kzben", e);
            }
            if (appender.getMessages().isEmpty()) {
                getBasePage().refreshPanel(target);
                modal.close(target);
            } else {
                for (ZhMessage mess : appender.getMessages()) {
                    error(new StringResourceModel(mess.getResourceKey(), this, null, mess.getParams())
                            .getString());
                }
                target.addComponent(feedback);
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });
    form.add(new JBetButton("cancel", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            modal.close(target);
        }
    }.setDefaultFormProcessing(false));
}