Example usage for org.apache.wicket.markup.html.form Form getMaxSize

List of usage examples for org.apache.wicket.markup.html.form Form getMaxSize

Introduction

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

Prototype

public final Bytes getMaxSize() 

Source Link

Document

Gets the maximum size for uploads.

Usage

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   w  w w  .  ja  v  a2 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);

}

From source file:org.sakaiproject.ddo.tool.pages.DropOffForm.java

License:Educational Community License

public DropOffForm() {
    disableLink(studentOverviewLink);/*from  ww w. j  a v a 2 s .  c  om*/

    // create the form
    final Form<?> dropOffForm = new Form<Void>("dropOffForm") {
        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            String currentUserId = sakaiProxy.getCurrentUserId();

            String notifyName = "";
            String notifyEmail = "";

            Submission s = new Submission();

            s.setPrimaryLanguageIsEnglish(primaryLanguageIsEnglish.getModelObject());
            s.setPrimaryLanguage(primaryLanguage.getModelObject());
            s.setAssignmentTitle(assignmentTitle.getModelObject());
            s.setInstructorRequirements(instructorRequirements.getModelObject());
            s.setDueDate(dueDate.getModelObject());

            if (courseTitle.getModelObject().equals("Other")) {
                s.setCourseTitle(courseOther.getModelObject());
            } else {
                s.setCourseTitle(courseTitle.getModelObject());
            }

            if (instructors.getModelObject().equals("Other")) {
                String instructor = instructorNameOther.getModelObject() + " ("
                        + instructorEmailOther.getModelObject() + ")";
                s.setInstructor(instructor);
                notifyEmail = instructorEmailOther.getModelObject();
            } else {
                s.setInstructor(instructors.getModelObject());
                notifyEmail = sakaiProxy.getUserEmail(instructors.getModelObject());
            }

            s.setFeedbackFocus(feedbackFocus.getModelObject());

            FileUpload file = uploadField.getFileUpload();

            if (file == null) {
                error(getString("error.null_file"));
            } else if (file.getSize() == 0) {
                error(getString("error.empty_file"));
            } else if (!Arrays.asList(SubmissionFile.AcceptableMimeTypes).contains(file.getContentType())) {
                error(getString("error.unacceptable_filetype"));
            } else {

                String mimeType = file.getContentType();
                String fileName = file.getClientFileName();

                //ok so get bytes of file uploaded
                byte[] documentBytes = file.getBytes();

                //create resource id
                String documentRef = sakaiProxy.getDocumentResourcePath(fileName);

                if (!sakaiProxy.saveFile(documentRef, currentUserId, fileName, mimeType, documentBytes)) {
                    error(getString("error.save"));
                    return;
                } else {
                    s.setDocumentRef(documentRef);
                }

                s.setSubmittedBy(currentUserId);
                s.setStatus(Submission.STATUS_WAITING);

                if (projectLogic.addSubmission(s)) {
                    if (notifyInstructor.getModelObject())
                        sakaiProxy.sendNotificationToInstructor(notifyEmail, currentUserId, s);
                    if (receipt.getModelObject())
                        sakaiProxy.sendReceipt(currentUserId, s);
                    getSession().info(getString("success.save_submission"));
                    setResponsePage(new StudentOverview());
                } else {
                    error(getString("error.save_submission"));
                }
            }
        }
    };

    final String userid = sakaiProxy.getCurrentUserId();

    dropOffForm.setMaxSize(Bytes.megabytes(15));
    add(dropOffForm);

    dropOffForm
            .add(primaryLanguageIsEnglish = new CheckBox("primaryLanguageIsEnglish", Model.of(Boolean.TRUE)));
    dropOffForm.add(primaryLanguage = new TextField<String>("primaryLanguage", new Model<String>()));
    dropOffForm.add(assignmentTitle = new TextField<String>("assignmentTitle", new Model<String>()));
    dropOffForm
            .add(instructorRequirements = new TextArea<String>("instructorRequirements", new Model<String>()));

    Set<String> sectionsSet = sakaiProxy.getCurrentSectionsForCurrentUser();
    List<String> sectionsList = new ArrayList<String>();

    if (!sectionsSet.isEmpty()) {
        sectionsList = new ArrayList<String>(sectionsSet);
    }
    sectionsList.add("Other");

    DropDownChoice<String> sDD = new DropDownChoice<String>("courseTitle", new Model<String>(), sectionsList,
            new IChoiceRenderer<String>() {
                @Override
                public Object getDisplayValue(String section) {
                    if (section.equals("Other")) {
                        return "Other";
                    } else {
                        return sakaiProxy.getCourseOfferingTitleForSection(section);
                    }
                }

                @Override
                public String getIdValue(String section, int i) {
                    return section;
                }
            });

    dropOffForm.add(courseTitle = sDD);

    Set<String> instructorSet = sakaiProxy.getCurrentInstructorsForCurrentUser();
    List<String> instructorList = new ArrayList<String>();

    if (!instructorSet.isEmpty()) {
        instructorList = new ArrayList<String>(instructorSet);
    }
    instructorList.add("Other");

    DropDownChoice<String> iDD = new DropDownChoice<String>("instructors", new Model<String>(), instructorList,
            new IChoiceRenderer<String>() {
                @Override
                public Object getDisplayValue(String userId) {
                    if (userId.equals("Other")) {
                        return "Other";
                    } else {
                        return sakaiProxy.getUserDisplayName(userId);
                    }
                }

                @Override
                public String getIdValue(String userId, int i) {
                    return userId;
                }
            });

    dropOffForm.add(instructors = iDD);

    dropOffForm.add(courseOther = new TextField<String>("courseOther", new Model<String>()));
    dropOffForm.add(instructorNameOther = new TextField<String>("instructorNameOther", new Model<String>()));
    dropOffForm.add(instructorEmailOther = new TextField<String>("instructorEmailOther", new Model<String>()));
    dropOffForm.add(notifyInstructor = new CheckBox("notifyInstructor", Model.of(Boolean.FALSE)));
    dropOffForm.add(receipt = new CheckBox("receipt", Model.of(Boolean.TRUE)));

    dropOffForm.add(feedbackFocus = new TextArea<String>("feedbackFocus", new Model<String>()));

    dueDate = new DateTextField("dueDate", new PropertyModel<Date>(this, "date"));
    DatePicker datePicker = new DatePicker();
    datePicker.setShowOnFieldClick(true);
    datePicker.setAutoHide(true);
    dueDate.add(datePicker);
    dropOffForm.add(dueDate);

    assignmentTitle.setRequired(true);
    instructors.setRequired(true);
    courseTitle.setRequired(true);
    dueDate.setRequired(true);

    dropOffForm.add(uploadField = new FileUploadField("uploadField"));
    uploadField.setRequired(true);

    dropOffForm.add(
            new Label("max", MessageFormat.format(getString("dropoff.form.max"), dropOffForm.getMaxSize())));

    Link<Void> cancel = new Link<Void>("cancelLink") {
        public void onClick() {
            setResponsePage(new StudentOverview());
        }
    };
    dropOffForm.add(cancel);

    Link<Void> cancel2 = new Link<Void>("cancelLink2") {
        public void onClick() {
            setResponsePage(new StudentOverview());
        }
    };
    add(cancel2);

    SubmitLink submit = new SubmitLink("submitLink");
    dropOffForm.add(submit);

    dropOffForm.add(new Label("displayName", sakaiProxy.getCurrentUserDisplayName()));
    dropOffForm.add(new Label("email", sakaiProxy.getUserEmail(userid)));
    dropOffForm.add(new Label("username", sakaiProxy.getUserDisplayId(userid)));
}

From source file:org.sakaiproject.ddo.tool.pages.EditFeedback.java

License:Educational Community License

public EditFeedback(long feedbackId) {
    disableLink(staffOverviewLink);// www.j  a v a2  s .c o m
    this.f = projectLogic.getFeedback(feedbackId);
    this.s = projectLogic.getSubmission(f.getSubmissionId());

    //s.setStatus(Submission.STATUS_UNDER);
    //projectLogic.updateSubmissionStatus(s);

    add(new Label("name", sakaiProxy.getUserDisplayName(s.getSubmittedBy())));
    add(new Label("primaryLanguageIsEnglish", s.getPrimaryLanguageIsEnglish() ? "Yes" : "No"));
    add(new Label("primaryLanguage", s.getPrimaryLanguage()));
    add(new Label("submissionDate", df.format(s.getSubmissionDate())));
    add(new Label("email", sakaiProxy.getUserEmail(s.getSubmittedBy())));
    add(new Label("username", sakaiProxy.getUserDisplayId(s.getSubmittedBy())));

    Link<Void> streamDownloadLink = new Link<Void>("document") {

        @Override
        public void onClick() {

            AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() {

                @Override
                public void write(OutputStream output) throws IOException {
                    output.write(sakaiProxy.getResource(s.getDocumentRef()).getBytes());
                }
            };

            ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(rstream,
                    sakaiProxy.getResource(s.getDocumentRef()).getFileName());
            getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
        }
    };

    add(streamDownloadLink);
    SubmissionFile sf = sakaiProxy.getResource(s.getDocumentRef());
    streamDownloadLink.add(new Label("fileName", sf == null ? "Cannot find file." : sf.getFileName()));
    add(new ContextImage("submissionIcon",
            new Model<String>(sakaiProxy.getResourceIconUrl(s.getDocumentRef()))));
    add(new Label("fileSize", sakaiProxy.getResourceFileSize(s.getDocumentRef())));

    add(new Label("assignmentTitle", s.getAssignmentTitle()));
    add(new Label("course", s.getCourseTitle()));

    String instructorDisplayName = sakaiProxy.getUserDisplayName(s.getInstructor());
    String instructorEmail = sakaiProxy.getUserEmail(s.getInstructor());
    if ("".equals(instructorDisplayName)) {
        add(new Label("instructor", s.getInstructor()));
    } else {
        add(new Label("instructor", instructorDisplayName + " (" + instructorEmail + ")"));
    }

    add(new Label("dueDate",
            s.getDueDate() != null ? dueFormat.format(s.getDueDate()) : getString("error.no_due_date")));
    add(new MultiLineLabel("feedbackFocus", s.getFeedbackFocus()));
    add(new MultiLineLabel("instructorRequirements", s.getInstructorRequirements()));

    final Form<?> feedbackForm = new Form<Void>("feedbackForm") {
        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            String currentUserId = sakaiProxy.getCurrentUserId();

            f.setComments(comments.getModelObject());

            FileUpload file = uploadField.getFileUpload();

            String oldFileReference = "";

            // Check if the reviewer would like to replace or add a new reviewed file
            if (replaceReview.getModelObject().booleanValue()) {
                // Remove previously submitted file if there was one.
                if (f.getReviewedDocumentRef() != null && !f.getReviewedDocumentRef().isEmpty()) {
                    oldFileReference = f.getReviewedDocumentRef();
                }
                if (file == null) {
                    f.setReviewedDocumentRef("");
                } else if (file.getSize() == 0) {
                    error(getString("error.empty_file"));
                    return;
                } else {

                    String mimeType = file.getContentType();
                    String fileName = file.getClientFileName();

                    //ok so get bytes of file uploaded
                    byte[] documentBytes = file.getBytes();

                    //create resource id
                    String documentRef = sakaiProxy.getDocumentResourcePath(fileName);

                    if (!sakaiProxy.saveFile(documentRef, currentUserId, fileName, mimeType, documentBytes)) {
                        error(getString("error.save"));
                        return;
                    } else {
                        f.setReviewedDocumentRef(documentRef);
                    }
                }
            }

            if (f.getComments() == null && file == null) {
                error(getString("error.no_feedback"));
                return;
            }

            f.setReviewDate(new Date());
            f.setReviewedBy(currentUserId);

            if (projectLogic.updateFeedback(f) && projectLogic.updateSubmissionStatus(s)) {
                // Only delete old file on a successful save
                if (!oldFileReference.isEmpty()) {
                    sakaiProxy.removeResource(oldFileReference);
                }
                getSession().info(getString("success.save_feedback"));
                setResponsePage(new StaffOverview());
            } else {
                error(getString("error.save_feedback"));
            }

        }
    };

    feedbackForm.setMaxSize(Bytes.megabytes(15));
    add(feedbackForm);

    feedbackForm.add(comments = new TextArea<String>("comments", Model.of(f.getComments())));

    feedbackForm.add(uploadField = new FileUploadField("uploadField"));

    feedbackForm.add(replaceReview = new CheckBox("replaceReview", Model.of(Boolean.FALSE)));

    if (f.getReviewedDocumentRef() != null && !f.getReviewedDocumentRef().isEmpty()) {
        Link<Void> feedbackDownloadLink = new Link<Void>("feedbackDoc") {

            @Override
            public void onClick() {

                AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() {

                    @Override
                    public void write(OutputStream output) throws IOException {
                        output.write(sakaiProxy.getResource(f.getReviewedDocumentRef()).getBytes());
                    }
                };

                ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(rstream,
                        sakaiProxy.getResource(f.getReviewedDocumentRef()).getFileName());
                getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
            }
        };

        feedbackForm.add(feedbackDownloadLink);
        SubmissionFile ff = sakaiProxy.getResource(f.getReviewedDocumentRef());
        feedbackDownloadLink.add(new Label("fFileName", ff == null ? "Cannot find file" : ff.getFileName()));
        feedbackForm.add(new ContextImage("feedbackIcon",
                new Model<String>(sakaiProxy.getResourceIconUrl(f.getReviewedDocumentRef()))));
        String fileSize = "(" + sakaiProxy.getResourceFileSize(f.getReviewedDocumentRef()) + ")";
        feedbackForm.add(new Label("reviewFileSize", fileSize));
        feedbackForm.add(new Label("noDoc", getString("error.no_document")).setVisible(false));
    } else {
        Link<Void> feedbackDownloadLink = new Link<Void>("feedbackDoc") {
            @Override
            public void onClick() {
            }
        };
        feedbackForm.add(feedbackDownloadLink);
        feedbackDownloadLink.add(new Label("fFileName", ""));
        ContextImage icon = new ContextImage("feedbackIcon", "");
        icon.setVisible(false);
        feedbackForm.add(icon);
        feedbackForm.add(new Label("reviewFileSize", ""));
        feedbackForm.add(new Label("noDoc", getString("error.no_document")).setVisible(true));
    }

    feedbackForm.add(
            new Label("max", MessageFormat.format(getString("feedback.form.max"), feedbackForm.getMaxSize())));

    Link<Void> cancel = new Link<Void>("cancelLink") {
        public void onClick() {
            //s.setStatus(Submission.STATUS_WAITING);
            //projectLogic.updateSubmissionStatus(s);
            setResponsePage(new StaffOverview());
        }
    };
    feedbackForm.add(cancel);

    SubmitLink submit = new SubmitLink("submit");
    feedbackForm.add(submit);

}

From source file:org.sakaiproject.ddo.tool.pages.FeedbackFormPage.java

License:Educational Community License

public FeedbackFormPage(long submissionId) {
    disableLink(staffOverviewLink);//from   ww  w  . j  ava 2 s . co  m
    this.s = projectLogic.getSubmission(submissionId);

    s.setStatus(Submission.STATUS_UNDER);
    projectLogic.updateSubmissionStatus(s);

    add(new Label("name", sakaiProxy.getUserDisplayName(s.getSubmittedBy())));
    add(new Label("primaryLanguageIsEnglish", s.getPrimaryLanguageIsEnglish() ? "Yes" : "No"));
    add(new Label("primaryLanguage", s.getPrimaryLanguage()));
    add(new Label("submissionDate", df.format(s.getSubmissionDate())));
    add(new Label("email", sakaiProxy.getUserEmail(s.getSubmittedBy())));
    add(new Label("username", sakaiProxy.getUserDisplayId(s.getSubmittedBy())));

    Link<Void> streamDownloadLink = new Link<Void>("document") {

        @Override
        public void onClick() {

            AbstractResourceStreamWriter rstream = new AbstractResourceStreamWriter() {

                @Override
                public void write(OutputStream output) throws IOException {
                    output.write(sakaiProxy.getResource(s.getDocumentRef()).getBytes());
                }
            };

            ResourceStreamRequestHandler handler = new ResourceStreamRequestHandler(rstream,
                    sakaiProxy.getResource(s.getDocumentRef()).getFileName());
            getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
        }
    };

    add(streamDownloadLink);
    SubmissionFile sf = sakaiProxy.getResource(s.getDocumentRef());
    streamDownloadLink.add(new Label("fileName", sf == null ? "Cannot find file." : sf.getFileName()));
    add(new ContextImage("submissionIcon",
            new Model<String>(sakaiProxy.getResourceIconUrl(s.getDocumentRef()))));
    add(new Label("fileSize", sakaiProxy.getResourceFileSize(s.getDocumentRef())));

    add(new Label("assignmentTitle", s.getAssignmentTitle()));
    add(new Label("course", s.getCourseTitle()));

    String instructorDisplayName = sakaiProxy.getUserDisplayName(s.getInstructor());
    String instructorEmail = sakaiProxy.getUserEmail(s.getInstructor());
    if ("".equals(instructorDisplayName)) {
        add(new Label("instructor", s.getInstructor()));
    } else {
        add(new Label("instructor", instructorDisplayName + " (" + instructorEmail + ")"));
    }

    add(new Label("dueDate",
            s.getDueDate() != null ? dueFormat.format(s.getDueDate()) : getString("error.no_due_date")));
    add(new MultiLineLabel("feedbackFocus", s.getFeedbackFocus()));
    add(new MultiLineLabel("instructorRequirements", s.getInstructorRequirements()));

    final Form<?> feedbackForm = new Form<Void>("feedbackForm") {
        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            String currentUserId = sakaiProxy.getCurrentUserId();

            Feedback f = new Feedback();

            f.setComments(comments.getModelObject());

            FileUpload file = uploadField.getFileUpload();

            if (file == null) {
                f.setReviewedDocumentRef("");
            } else if (file.getSize() == 0) {
                error(getString("error.empty_file"));
                return;
            } else if (!Arrays.asList(SubmissionFile.AcceptableMimeTypes).contains(file.getContentType())) {
                error(getString("error.unacceptable_filetype"));
                return;
            } else {

                String mimeType = file.getContentType();
                String fileName = file.getClientFileName();

                //ok so get bytes of file uploaded
                byte[] documentBytes = file.getBytes();

                //create resource id
                String documentRef = sakaiProxy.getDocumentResourcePath(fileName);

                if (!sakaiProxy.saveFile(documentRef, currentUserId, fileName, mimeType, documentBytes)) {
                    error(getString("error.save"));
                    return;
                } else {
                    f.setReviewedDocumentRef(documentRef);
                }

            }

            if (f.getComments() == null && file == null) {
                error(getString("error.no_feedback"));
                return;
            }

            f.setSubmissionId(s.getSubmissionId());
            f.setReviewedBy(currentUserId);
            s.setStatus(Submission.STATUS_REVIEWED);

            if (projectLogic.addFeedback(f) && projectLogic.updateSubmissionStatus(s)) {
                getSession().info(getString("success.save_feedback"));
                setResponsePage(new StaffOverview());
            } else {
                error(getString("error.save_feedback"));
            }
        }
    };

    feedbackForm.setMaxSize(Bytes.megabytes(15));
    add(feedbackForm);
    feedbackForm.add(comments = new TextArea<String>("comments", new Model<String>()));
    feedbackForm.add(uploadField = new FileUploadField("uploadField"));

    feedbackForm.add(
            new Label("max", MessageFormat.format(getString("feedback.form.max"), feedbackForm.getMaxSize())));

    Link<Void> cancel = new Link<Void>("cancelLink") {
        public void onClick() {
            setResponsePage(new StaffOverview());
        }
    };
    feedbackForm.add(cancel);

    SubmitLink submit = new SubmitLink("submit");
    feedbackForm.add(submit);

}