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

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

Introduction

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

Prototype

@Override
public final void success(final Serializable message) 

Source Link

Document

Registers an success feedback message for this component

Usage

From source file:org.geoserver.taskmanager.web.ConfigurationPage.java

License:Open Source License

protected AjaxSubmitLink saveOrApplyButton(final String id, final boolean doReturn) {
    return new AjaxSubmitLink(id) {
        private static final long serialVersionUID = 3735176778941168701L;

        @Override// w w w  . j  a  v  a2 s .  com
        public void onSubmit(AjaxRequestTarget target, Form<?> form) {
            attributesModel.save(true);
            List<ValidationError> errors = TaskManagerBeans.get().getTaskUtil()
                    .validate(configurationModel.getObject());
            if (!errors.isEmpty()) {
                for (ValidationError error : errors) {
                    //TODO: use localized resource based on error type instead of toString
                    form.error(error.toString());
                }
                addFeedbackPanels(target);
                return;
            } else if (!configurationModel.getObject().isTemplate() && !initMode) {
                configurationModel.getObject().setValidated(true);
            }

            try {
                originalConfigurationModel.setObject(TaskManagerBeans.get().getDataUtil().saveScheduleAndRemove(
                        InitConfigUtil.unwrap(configurationModel.getObject()), removedTasks,
                        batchesPanel.getRemovedBatches()));
                configurationModel
                        .setObject(initMode ? InitConfigUtil.wrap(originalConfigurationModel.getObject())
                                : originalConfigurationModel.getObject());
                removedTasks.clear();
                batchesPanel.getRemovedBatches().clear();
                if (doReturn) {
                    doReturn();
                } else {
                    oldTasks = new HashMap<>(configurationModel.getObject().getTasks());
                    oldBatches = new HashMap<>(configurationModel.getObject().getBatches());
                    form.success(new ParamResourceModel("success", getPage()).getString());
                    target.add(batchesPanel);
                    ((MarkupContainer) batchesPanel.get("form:batchesPanel:listContainer:items")).removeAll();
                    addFeedbackPanels(target);
                    if (initMode) {
                        setResponsePage(new InitConfigurationPage(configurationModel));
                    }
                }
            } catch (ConstraintViolationException e) {
                form.error(new ParamResourceModel("duplicate", getPage()).getString());
                addFeedbackPanels(target);
            } catch (Exception e) {
                LOGGER.log(Level.WARNING, e.getMessage(), e);
                Throwable rootCause = ExceptionUtils.getRootCause(e);
                form.error(rootCause == null ? e.getLocalizedMessage() : rootCause.getLocalizedMessage());
                addFeedbackPanels(target);
            }
        }

        protected void onError(AjaxRequestTarget target, Form<?> form) {
            addFeedbackPanels(target);
        }
    };
}