Example usage for org.apache.wicket.markup.html.form.upload FileUpload getContentType

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

Introduction

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

Prototype

public String getContentType() 

Source Link

Usage

From source file:com.apachecon.memories.UploadForm.java

License:Apache License

@Override
protected void onSubmit() {
    // for (FileUpload upload : uploadField.getFileUploads()) {
    FileUpload upload = uploadField.getFileUpload();
    if (!contentTypes.contains(upload.getContentType())) {
        warn("File " + upload.getClientFileName() + " is not supported. Only images can be shared");
    } else {//ww w  . j  a  v  a 2  s  . co m
        try {
            ScrapbookApplication.getImageService().newFile(upload);
            info("File " + upload.getClientFileName() + " has been uploaded and now it waiting for approval");
        } catch (Exception e) {
            logger.error("Error processing uploaded file", e);
            error("An error occured during file ");
        }
        // }
    }
}

From source file:com.evolveum.midpoint.web.page.admin.cases.PageCaseWorkItem.java

License:Apache License

private void closeCaseWorkItemPerformed(AjaxRequestTarget target) {
    OperationResult result = new OperationResult(OPERATION_SAVE_CASE_WORK_ITEM);
    Task task = createSimpleTask(OPERATION_SAVE_CASE_WORK_ITEM);
    try {//from www .j  a v  a  2  s  . c  om

        CaseWorkItemDto dto = caseWorkItemDtoModel.getObject();
        CaseManagementService cms = getCaseManagementService();
        AbstractWorkItemOutputType output = new AbstractWorkItemOutputType().comment(dto.getComment())
                .outcome("SUCCESS");
        FileUploadField evidenceUploadField = (FileUploadField) get(ID_MAIN_FORM).get(ID_CASE_WORK_ITEM_FORM)
                .get(ID_CASE_WORK_ITEM_FORM_EVIDENCE);
        if (evidenceUploadField != null) {
            FileUpload evidence = evidenceUploadField.getFileUpload();
            if (evidence != null) {
                String filename = evidence.getClientFileName();
                String contentType = evidence.getContentType();
                output = output.evidence(evidence.getBytes()).evidenceContentType(contentType)
                        .evidenceFilename(filename);
            }
        }
        cms.completeWorkItem(caseId, caseWorkItemId, output, task, result);
    } catch (Exception ex) {
        result.recordFatalError("Couldn't close case work item.", ex);
        LoggingUtils.logUnexpectedException(LOGGER, "Couldn't close case work item", ex);
    }
    processResult(target, result, false);
}

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

License:Open Source License

/**
 * @param pageMap//from   w ww  . 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"));
}

From source file:com.socialsite.course.AddNotePanel.java

License:Open Source License

public AddNotePanel(String id, final IModel<Course> model) {
    super(id);//from w ww  . ja v  a2 s  . c o  m
    this.course = model.getObject();
    Form<Void> form = new Form<Void>("form");
    add(form);
    form.add(fileUploadField = new FileUploadField("file"));
    form.add(new RequiredTextField<String>("description", new PropertyModel<String>(this, "description")));
    form.add(new SubmitLink("submit") {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            final FileUpload upload = fileUploadField.getFileUpload();
            if (upload == null || upload.getSize() == 0) {
                error("upload a file");
            } else if (upload.getSize() > 1024 * 1024) {
                // TODO change this to 10MB
                error("file size too large");
            } else {
                final Course course = courseDao.load(model.getObject().getId());
                Note note = new Note();
                note.setCourse(course);
                note.setTime(new Date());
                note.setDescription(description);
                note.setFileName(upload.getClientFileName());
                note.setData(upload.getBytes());
                note.setContentType(upload.getContentType());
                noteDao.save(note);

                CourseNoteMsg noteMsg = new CourseNoteMsg();
                noteMsg.setTime(new Date());
                noteMsg.setNote(note);
                noteMsg.setUsers(new HashSet<User>(course.getStudents()));

                messageDao.save(noteMsg);

            }
        }
    });

    add(feedback = new FeedbackPanel("feedback"));
}

From source file:com.socialsite.image.ImagePanel.java

License:Open Source License

/**
 * //from ww w.j a  va  2  s . c  o m
 * @param component
 *            component id
 * @param id
 *            id used to fetch the image
 * @param imageType
 *            type of the image (userimage , courseimage etc)
 * @param thumb
 *            will show thumb image if true
 * @param lastModified
 *            lastmodified date of the image
 */
public ImagePanel(final String component, final long id, final ImageType imageType, final Date lastModified,
        final boolean thumb, final boolean changeLink) {
    super(component);

    this.changeLink = changeLink;

    // allow the modal window to update the panel
    setOutputMarkupId(true);
    final ResourceReference imageResource = new ResourceReference(imageType.name());
    final Image userImage;
    final ValueMap valueMap = new ValueMap();
    valueMap.add("id", id + "");

    // the version is used to change the url dynamically if the image is
    // changed. This will allow the browser to cache images
    // reference http://code.google.com/speed/page-speed/docs/caching.html
    // #Use fingerprinting to dynamically enable caching.
    valueMap.add("version", lastModified.getTime() + "");
    if (thumb) {
        valueMap.add("thumb", "true");
    }
    add(userImage = new Image("userimage", imageResource, valueMap));
    userImage.setOutputMarkupId(true);

    final ModalWindow modal;
    add(modal = new ModalWindow("modal"));

    modal.setContent(new UploadPanel(modal.getContentId()) {

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

        @Override
        public String onFileUploaded(final FileUpload upload) {

            if (upload == null || upload.getSize() == 0) {
                // No image was provided
                error("Please upload an image.");
            } else if (!checkContentType(upload.getContentType())) {
                error("Only images of types png, jpg, and gif are allowed.");
            } else {
                saveImage(upload.getBytes());
            }

            return null;
        }

        @Override
        public void onUploadFinished(final AjaxRequestTarget target, final String filename,
                final String newFileUrl) {

            final ResourceReference imageResource = new ResourceReference(imageType.name());

            final ValueMap valueMap = new ValueMap();
            valueMap.add("id", id + "");
            // change the image lively
            valueMap.add("version", new Date().getTime() + "");
            if (thumb) {
                valueMap.add("thumb", "true");
            }

            userImage.setImageResourceReference(imageResource, valueMap);
            // update the image after the user changes it
            target.addComponent(userImage);
        }
    });
    modal.setTitle(" Select the image ");
    modal.setCookieName("modal");

    modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public boolean onCloseButtonClicked(final AjaxRequestTarget target) {
            return true;
        }
    });

    modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public void onClose(final AjaxRequestTarget target) {
        }
    });

    add(new AjaxLink<Void>("changeimage") {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            if (changeLink) {
                // TODO allow admins to change the university image and
                // allow
                // staffs to change the course image
                // it. don't show it for thumb images
                return hasRole(SocialSiteRoles.OWNER) || hasRole(SocialSiteRoles.STAFF);
            }
            return false;

        }

        @Override
        public void onClick(final AjaxRequestTarget target) {
            modal.show(target);
        }
    });
}

From source file:com.userweave.components.image.ImageListPanel.java

License:Open Source License

private boolean isZipFile(FileUpload fileUpload) {
    return fileUpload.getContentType().equals("application/zip");
}

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

License:Open Source License

private boolean isTxtFile(FileUpload fileUpload) {
    return fileUpload.getContentType().equals("text/plain");
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.data.AddDataFilePage.java

License:Apache License

private void setupComponents(final int experimentId) {

    final Experiment experiment = facade.read(experimentId);
    model = new ListModel<FileUpload>(new ArrayList<FileUpload>());
    fileUploadField = new MultiFileUploadField("file", model);

    Form<List<FileUpload>> uploadForm = new Form<List<FileUpload>>("uploadForm");

    ComponentFeedbackMessageFilter fileFilter = new ComponentFeedbackMessageFilter(fileUploadField);
    final FeedbackPanel fileFeedback = new FeedbackPanel("fileFeedback", fileFilter);
    fileFeedback.setOutputMarkupId(true);

    uploadForm.add(fileUploadField);/*from  w  ww.ja v a2 s. c  om*/
    uploadForm.add(fileFeedback);

    AjaxButton submit = new AjaxButton("submit", ResourceUtils.getModel("button.addDataFile")) {

        private static final long serialVersionUID = 1L;

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

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

            try {

                List<FileUpload> fileUploadList = model.getObject();
                if (!fileUploadList.isEmpty()) {
                    for (FileUpload fileUpload : fileUploadList) {

                        DataFile file = new DataFile();
                        file.setMimetype(fileUpload.getContentType());
                        file.setFilename(fileUpload.getClientFileName());
                        file.setFileContentStream(fileUpload.getInputStream());
                        file.setExperiment(experiment);
                        fileFacade.create(file);
                    }
                }

                setResponsePage(ExperimentsDetailPage.class,
                        PageParametersUtils.getDefaultPageParameters(experimentId));
            } catch (Exception ex) {
                error(ResourceUtils.getString("error.file.add.error"));
                log.error(ex.getMessage(), ex);
                target.add(getFeedback());
                target.add(fileFeedback);
            }
        }
    };
    uploadForm.add(submit);
    add(uploadForm);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.ExperimentFormPage.java

License:Apache License

private void setupComponents(final Model<Experiment> model) {
    final ListModel<FileUpload> fileModel = new ListModel<FileUpload>(new ArrayList<FileUpload>());

    ComponentFeedbackMessageFilter filter = new ComponentFeedbackMessageFilter(this);
    getFeedback().setFilter(filter);//from   ww  w  .j ava  2 s  .c  o  m
    EEGDataBaseSession.get().clearCreateExperimentLicenseMap();

    WizardModel wizardModel = new WizardModel();
    wizardModel.add(new AddExperimentScenarioForm(model));
    wizardModel.add(new AddExperimentResultsForm(fileModel));

    Wizard wizard = new Wizard("wizard", wizardModel, false) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onFinish() {

            Experiment experiment = model.getObject();

            ResearchGroup group = experiment.getResearchGroup();
            if (group != null && group.isLock()) {
                this.error(ResourceUtils.getString("text.group.lock.experiment.create", group.getTitle()));
                setResponsePage(getPage());
                return;
            }

            Set<DataFile> files = new HashSet<DataFile>();
            try {
                List<FileUpload> fileUploadList = fileModel.getObject();
                // files are required only for create experiment, not editation
                if (experiment.getExperimentId() == 0 && fileUploadList.isEmpty()) {
                    this.error(ResourceUtils.getString("required.dataFile"));
                    setResponsePage(getPage());
                    return;
                }
                for (FileUpload fileUpload : fileUploadList) {
                    DataFile file = new DataFile();
                    file.setMimetype(fileUpload.getContentType());
                    file.setFilename(fileUpload.getClientFileName());
                    file.setFileContentStream(fileUpload.getInputStream());
                    files.add(file);
                }
            } catch (Exception ex) {
                error("File saving failed");
                log.error(ex.getMessage(), ex);
            }

            Person logged = EEGDataBaseSession.get().getLoggedUser();
            experiment.setPersonByOwnerId(logged);

            // persist the experiment
            Integer id = experiment.getExperimentId();
            if (experiment.getExperimentId() != 0) {
                facade.update(experiment);
            } else {
                id = facade.create(experiment);
            }

            // persist licenses
            for (ExperimentLicence expLic : EEGDataBaseSession.get().getCreateExperimentLicenseMap().values()) {
                expLic.setExperiment(experiment);
                experimentLicenseFacade.create(expLic);
            }
            EEGDataBaseSession.get().clearCreateExperimentLicenseMap();

            // persist data files
            for (DataFile file : files) {
                file.setExperiment(experiment);
                fileFacade.create(file);
            }

            setResponsePage(ExperimentsDetailPage.class, PageParametersUtils.getDefaultPageParameters(id));
        }

        @Override
        protected Component newFeedbackPanel(String id) {

            ComponentFeedbackMessageFilter filter = new ComponentFeedbackMessageFilter(this);
            return new FeedbackPanel(id, filter);
        }

        @Override
        protected Component newButtonBar(String id) {
            return new AjaxWizardButtonBar(id, this);
        }

        @Override
        public void onCancel() {
            EEGDataBaseSession.get().clearCreateExperimentLicenseMap();
            throw new RestartResponseAtInterceptPageException(ExperimentsDetailPage.class, getPageParameters());
        }

    };

    add(wizard);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.ScenarioForm.java

License:Apache License

public ScenarioForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<Scenario>(new Scenario()));

    add(new Label("addScenarioHeader", ResourceUtils.getModel("pageTitle.addScenario")));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);/*from ww  w. jav a  2 s .co  m*/
    add(feedback);

    setMultiPart(true);

    Person owner = getModel().getObject().getPerson();
    if (owner == null)
        owner = EEGDataBaseSession.get().getLoggedUser();

    getModel().getObject().setPerson(owner);

    List<ResearchGroup> choices = researchGroupFacade.getResearchGroupsWhereAbleToWriteInto(owner);
    if (choices == null || choices.isEmpty())
        choices = Arrays.asList(getModel().getObject().getResearchGroup());

    DropDownChoice<ResearchGroup> groups = new DropDownChoice<ResearchGroup>("researchGroup", choices,
            new ChoiceRenderer<ResearchGroup>("title"));
    groups.setRequired(true);

    TextField<String> title = new TextField<String>("title");
    title.setLabel(ResourceUtils.getModel("label.scenarioTitle"));
    title.setRequired(true);
    // title.add(new TitleExistsValidator());

    TextField<Integer> length = new TextField<Integer>("scenarioLength", Integer.class);
    length.setRequired(true);
    length.add(RangeValidator.minimum(0));

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel(ResourceUtils.getModel("label.scenarioDescription"));

    final WebMarkupContainer fileContainer = new WebMarkupContainer("contailer");
    fileContainer.setVisibilityAllowed(false);
    fileContainer.setOutputMarkupPlaceholderTag(true);

    /*
     * TODO file field for xml was not visible in old portal. I dont know why. So I hided it but its implemented and not tested.
     */
    // hidded line in old portal
    final DropDownChoice<ScenarioSchemas> schemaList = new DropDownChoice<ScenarioSchemas>("schemaList",
            new Model<ScenarioSchemas>(), scenariosFacade.getListOfScenarioSchemas(),
            new ChoiceRenderer<ScenarioSchemas>("schemaName", "schemaId"));
    schemaList.setOutputMarkupPlaceholderTag(true);
    schemaList.setRequired(true);
    schemaList.setLabel(ResourceUtils.getModel("label.scenarioSchema"));
    schemaList.setVisibilityAllowed(false);

    final FileUploadField file = new FileUploadField("file", new ListModel<FileUpload>());
    file.setOutputMarkupId(true);
    file.setLabel(ResourceUtils.getModel("description.fileType.dataFile"));
    file.setOutputMarkupPlaceholderTag(true);

    // hidded line in old portal
    final FileUploadField xmlfile = new FileUploadField("xmlfile", new ListModel<FileUpload>());
    xmlfile.setOutputMarkupId(true);
    xmlfile.setLabel(ResourceUtils.getModel("label.xmlDataFile"));
    xmlfile.setOutputMarkupPlaceholderTag(true);
    xmlfile.setVisibilityAllowed(false);

    // hidded line in old portal
    final RadioGroup<Boolean> schema = new RadioGroup<Boolean>("schema", new Model<Boolean>(Boolean.FALSE));
    schema.add(new Radio<Boolean>("noschema", new Model<Boolean>(Boolean.FALSE), schema));
    schema.add(new Radio<Boolean>("fromschema", new Model<Boolean>(Boolean.TRUE), schema));
    schema.setOutputMarkupPlaceholderTag(true);
    schema.setVisibilityAllowed(false);
    schema.add(new AjaxFormChoiceComponentUpdatingBehavior() {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            schemaList.setVisibilityAllowed(schema.getModelObject());
            xmlfile.setRequired(!xmlfile.isRequired());

            target.add(xmlfile);
            target.add(schemaList);
        }
    });

    CheckBox privateCheck = new CheckBox("privateScenario");
    final CheckBox dataAvailable = new CheckBox("dataAvailable", new Model<Boolean>());
    dataAvailable.add(new AjaxFormComponentUpdatingBehavior("onChange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {

            fileContainer.setVisibilityAllowed(dataAvailable.getModelObject());
            file.setRequired(!file.isRequired());
            target.add(fileContainer);
        }
    });

    fileContainer.add(file, xmlfile, schema, schemaList);

    add(groups, title, length, description, privateCheck, dataAvailable, fileContainer);

    add(new AjaxButton("submitForm", this) {

        private static final long serialVersionUID = 1L;

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

            FileUpload uploadedFile = file.getFileUpload();
            Scenario scenario = ScenarioForm.this.getModelObject();

            if (!scenariosFacade.canSaveTitle(scenario.getTitle(), scenario.getScenarioId())) {
                error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                target.add(feedback);
                return;
            } else {
                // loading non-XML scenario file
                if ((uploadedFile != null) && (!(uploadedFile.getSize() == 0))) {

                    String name = uploadedFile.getClientFileName();
                    // when uploading from localhost some browsers will specify the entire path, we strip it
                    // down to just the file name
                    name = Strings.lastPathComponent(name, '/');
                    name = Strings.lastPathComponent(name, '\\');

                    // File uploaded
                    String filename = name.replace(" ", "_");
                    scenario.setScenarioName(filename);

                    scenario.setMimetype(uploadedFile.getContentType());
                    try {
                        scenario.setFileContentStream(uploadedFile.getInputStream());
                    } catch (IOException e) {
                        log.error(e.getMessage(), e);
                        error("Error while saving data.");
                        target.add(feedback);
                    }
                }

                // Creating new
                scenariosFacade.create(scenario);

                /*
                 * clean up after upload file, and set model to null or will be problem with page serialization when redirect start - DON'T DELETE IT !
                 */
                ScenarioForm.this.setModelObject(null);

                window.close(target);
            }
        }

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

            target.add(feedback);
        }
    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}