List of usage examples for org.apache.wicket.validation ValidationError setVariable
public ValidationError setVariable(String name, Object value)
From source file:org.devgateway.eudevfin.ui.common.validators.Field12CodeValidator.java
License:Open Source License
@Override public void validate(IValidatable<Category> validatable) { if (!Strings.isEmpty(transactionType)) { if (validatable.getValue() != null && validatable.getValue().isLastAncestor()) { ValidationError error = new ValidationError(this); validatable.error(decorateParentError(error, validatable)); }/*w w w . j a va2s. c o m*/ } if ((Strings.isEqual(transactionType, SB.BILATERAL_ODA_ADVANCE_QUESTIONNAIRE) || Strings.isEqual(transactionType, SB.MULTILATERAL_ODA_ADVANCE_QUESTIONNAIRE))) { // Check value against pattern if (validatable.getValue() != null && pattern.matcher(validatable.getValue().getDisplayableCode()).matches() == reverse) { ValidationError error = new ValidationError(this); error.setVariable("pattern", pattern.pattern()); validatable.error(decorate(error, validatable)); } } }
From source file:org.devgateway.eudevfin.ui.common.validators.Field8CodeValidator.java
License:Open Source License
@Override public void validate(IValidatable<Category> validatable) { if (!Strings.isEmpty(transactionType) && (Strings.isEqual(transactionType, SB.MULTILATERAL_ODA_ADVANCE_QUESTIONNAIRE) || Strings.isEqual(transactionType, SB.MULTILATERAL_ODA_CRS))) { // Check value against pattern if (validatable.getValue() != null && pattern.matcher(validatable.getValue().getCode()).matches() == reverse) { ValidationError error = new ValidationError(this); error.setVariable("pattern", pattern.pattern()); validatable.error(decorate(error, validatable)); }/*from ww w.ja va 2s . c om*/ } }
From source file:org.devgateway.toolkit.forms.validators.EarlierThanDateFieldValidator.java
License:Open Source License
@Override public void validate(final IValidatable<Date> validatable) { highDate.getField().validate();//from ww w.j a v a 2s. co m if (!highDate.getField().isValid()) { return; } Date endDate = (Date) highDate.getField().getConvertedInput(); if (endDate != null && validatable.getValue() != null && endDate.before(validatable.getValue())) { ValidationError error = new ValidationError(this); error.setVariable("highDateName", new StringResourceModel(highDate.getLabelKey(), highDate.getParent(), null).getString()); validatable.error(error); } }
From source file:org.devgateway.toolkit.forms.validators.EarlierThanDateValidator.java
License:Open Source License
@Override public void validate(final IValidatable<Date> validatable) { if (highDate == null) { return;//from w w w.j a v a 2 s . co m } if (validatable.getValue() != null && highDate.before(validatable.getValue())) { ValidationError error = new ValidationError(this); error.setVariable("highDate", highDate); validatable.error(error); } }
From source file:org.geogig.geoserver.web.repository.RepositoryEditPanel.java
License:Open Source License
public RepositoryEditPanel(final String wicketId, IModel<RepositoryInfo> model, final boolean isNew) { super(wicketId, model); config = new GeoGigRepositoryInfoFormComponent("repositoryConfig", model, isNew); config.setVisible(true);/*from www . j av a 2s .co m*/ add(config); add(new IValidator<RepositoryInfo>() { private static final long serialVersionUID = 224160688160723504L; @Override public void validate(IValidatable<RepositoryInfo> validatable) { if (isNew) { config.processInput(); } ValidationError error = new ValidationError(); RepositoryInfo repo = validatable.getValue(); final URI location = repo.getLocation(); final RepositoryResolver resolver = RepositoryResolver.lookup(location); final String scheme = location.getScheme(); if (isNew && repoNameExists(repo.getRepoName())) { error.addKey("errRepositoryNameExists"); } else if ("file".equals(scheme)) { File repoDir = new File(location); final File parent = repoDir.getParentFile(); if (!parent.exists() || !parent.isDirectory()) { error.addKey("errParentDoesntExist"); } if (!parent.canWrite()) { error.addKey("errParentReadOnly"); } if (isNew) { if (repoDir.exists()) { error.addKey("errDirectoryExists"); } } else if (!isGeogigDirectory(repoDir)) { error.addKey("notAGeogigRepository"); } } else if ("postgresql".equals(scheme)) { try { if (isNew) { if (resolver.repoExists(location)) { error.addKey("errRepositoryExists"); } } else { // try to connect Repository repository = null; try { repository = resolver.open(location); } finally { if (repository != null) { repository.close(); } } } } catch (Exception ex) { // likely failed to connect LOGGER.error("Failed to connect to PostgreSQL database", ex); error.addKey("errCannotConnectToDatabase"); // find root cause error.setVariable("message", PostgresConnectionErrorHandler.getMessage(ex)); } } if (!error.getKeys().isEmpty()) { validatable.error(error); } } }); }
From source file:org.geogig.geoserver.web.repository.RepositoryImportPanel.java
License:Open Source License
public RepositoryImportPanel(String id, IModel<RepositoryInfo> model) { super(id, model); setOutputMarkupId(true);//from ww w. ja v a2 s.com // build the backing form model ImportRepositoryFormModel formModel = new ImportRepositoryFormModel(model); // add the dropdown to switch between configurations dropdownPanel = new DropDownChoiceParamPanel("configChoicePanel", new DropDownModel(model), new ResourceModel("RepositoryImportPanel.repositoryType", "Repository Type"), DropDownModel.CONFIG_LIST, true); final DropDownChoice<Serializable> dropDownChoice = dropdownPanel.getFormComponent(); dropDownChoice.add(new AjaxFormComponentUpdatingBehavior("change") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { final String value = dropDownChoice.getModelObject().toString(); repoDirectoryComponent.setVisible(DropDownModel.DIRECTORY_CONFIG.equals(value)); pgPanel.setVisible(DropDownModel.PG_CONFIG.equals(value)); repoNamePanel.setVisible(DropDownModel.PG_CONFIG.equals(value)); target.add(settingsPanel); } }); add(dropdownPanel); settingsPanel = new WebMarkupContainer("settingsContainer"); settingsPanel.setOutputMarkupId(true); add(settingsPanel); repoNamePanel = new TextParamPanel("repositoryNamePanel", new PropertyModel(formModel, "repoName"), new ResourceModel("RepositoryImportPanel.repositoryName", "Repository Name"), true); repoNamePanel.setOutputMarkupId(true); repoNamePanel.getFormComponent().setOutputMarkupId(true); repoNamePanel.setVisible(DropDownModel.PG_CONFIG.equals(dropDownChoice.getModelObject().toString())); settingsPanel.add(repoNamePanel); pgPanel = new PostgresConfigFormPanel("pgPanel", new PropertyModel<>(formModel, "pgBean")); pgPanel.setVisible(DropDownModel.PG_CONFIG.equals(dropDownChoice.getModelObject().toString())); settingsPanel.add(pgPanel); repoDirectoryComponent = new RepoDirectoryComponent("repoDirectoryPanel", formModel); repoDirectoryComponent.setOutputMarkupId(true); repoDirectoryComponent .setVisible(DropDownModel.DIRECTORY_CONFIG.equals(dropDownChoice.getModelObject().toString())); settingsPanel.add(repoDirectoryComponent); add(new IValidator<RepositoryInfo>() { private static final long serialVersionUID = 1L; @Override public void validate(IValidatable<RepositoryInfo> validatable) { ValidationError error = new ValidationError(); RepositoryInfo repo = validatable.getValue(); final URI location = repo.getLocation(); // look for already configured repos List<RepositoryInfo> existingRepos = RepositoryManager.get().getAll(); for (RepositoryInfo configuredRepo : existingRepos) { if (configuredRepo.getLocation().equals(location)) { error.addKey("errRepositoryAlreadyConfigured"); // quit looking break; } } if (error.getKeys().isEmpty()) { final RepositoryResolver resolver = RepositoryResolver.lookup(location); final String scheme = location.getScheme(); if ("file".equals(scheme)) { File repoDir = new File(location); if (!repoDir.exists() || !repoDir.isDirectory()) { error.addKey("errRepositoryDirectoryDoesntExist"); } if (!isGeogigDirectory(repoDir)) { error.addKey("notAGeogigRepository"); } } else if ("postgresql".equals(scheme)) { try { if (!resolver.repoExists(location)) { error.addKey("errRepositoryDoesntExist"); } } catch (Exception ex) { // likely failed to connect LOGGER.error("Failed to connect to PostgreSQL database", ex); error.addKey("errCannotConnectToDatabase"); // find root cause error.setVariable("message", PostgresConnectionErrorHandler.getMessage(ex)); } } } if (!error.getKeys().isEmpty()) { validatable.error(error); } } }); }
From source file:org.geoserver.web.data.store.StoreNameValidator.java
License:Open Source License
/** * Performs the cross validation between the selected workspace and the assigned store name * <p>/*from w w w .j a v a 2 s. c om*/ * If there's already a {@link StoreInfo} in the selected workspace with the same name than the * choosed one the store name form component is set with a proper {@link IValidationError error * message} * </p> * * @see IFormValidator#validate(Form) */ public void validate(final Form form) { final FormComponent[] components = getDependentFormComponents(); final FormComponent wsComponent = components[0]; final FormComponent nameComponent = components[1]; WorkspaceInfo workspace = (WorkspaceInfo) wsComponent.getConvertedInput(); String name = (String) nameComponent.getConvertedInput(); if (name == null) { if (required) { ValidationError error = new ValidationError(); error.addMessageKey("StoreNameValidator.storeNameRequired"); nameComponent.error((IValidationError) error); } return; } Catalog catalog = GeoServerApplication.get().getCatalog(); final StoreInfo existing = catalog.getStoreByName(workspace, name, StoreInfo.class); if (existing != null) { final String existingId = existing.getId(); if (!existingId.equals(edittingStoreId)) { ValidationError error = new ValidationError(); error.addMessageKey("StoreNameValidator.storeExistsInWorkspace"); error.setVariable("workspace", workspace.getName()); error.setVariable("storeName", name); nameComponent.error((IValidationError) error); } } }
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.validation.AnswerCountValidator.java
License:Open Source License
private void validateMultipleOpenAnswer(IValidatable<T> validatable, Question question, QuestionCategory questionCategory, OpenAnswerDefinition openAnswerDefinition) { if (openAnswerDefinition.hasRequiredChild()) { List<OpenAnswer> openAnswers = activeQuestionnaireAdministrationService.findOpenAnswers(question, questionCategory.getCategory()); // check child open answer requiredness for (OpenAnswerDefinition childOpenAnswerDefinition : openAnswerDefinition.getOpenAnswerDefinitions()) { if (childOpenAnswerDefinition.isRequired()) { boolean found = false; for (OpenAnswer openAnswer : openAnswers) { if (openAnswer.getOpenAnswerDefinitionName().equals(childOpenAnswerDefinition.getName())) { found = true;/*w w w .ja v a 2s. c o m*/ break; } } if (!found) { ValidationError error = newValidationError(question); error.addMessageKey(KEY_PREFIX + ".OpenRequired"); error.setVariable("open", QuestionnaireStringResourceModelHelper .getStringResourceModel(question, questionCategory, childOpenAnswerDefinition) .getObject()); validatable.error(error); } } } } }
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.validation.AnswerCountValidator.java
License:Open Source License
private ValidationError newValidationError(Question question) { ValidationError error = new ValidationError(); error.setVariable("question", new QuestionnaireStringResourceModel(question, "label").getString()); return error; }
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.validation.AnswerCountValidator.java
License:Open Source License
private ValidationError newValidationError(Question question, Integer minCount, Integer maxCount, int count) { ValidationError error = newValidationError(question); error.setVariable("count", count); String key = ""; if (minCount != null) { error.setVariable("min", minCount); key = KEY_PREFIX + ".Min"; }//w ww . j a va 2 s . c o m if (maxCount != null) { error.setVariable("max", maxCount); if (key.length() == 0) { key = "AnswerCountValidator.Max"; } else { key = "AnswerCountValidator.Count"; } } error.addMessageKey(key); return error; }