/** @return */ private AbstractCriterionParameter createChromosomeNumberParameter() { final String label = "Chromosome Number"; TextFieldParameter textParameter = new TextFieldParameter( getParameters().size(), getRow().getRowIndex(), criterion.getChromosomeNumber()); textParameter.setLabel(label); ValueHandler valueChangeHandler = new ValueHandlerAdapter() { @Override public boolean isValid(String value) { return !StringUtils.isBlank(value); } @Override public void validate(String formFieldName, String value, ValidationAware action) { if (!isValid(value)) { action.addActionError("Chromosome number value required for " + label); } } @Override public void valueChanged(String value) { criterion.setChromosomeNumber(value); } }; textParameter.setValueHandler(valueChangeHandler); return textParameter; }
/** @return */ private AbstractCriterionParameter createFromCoordinateParameter() { final String label = "From"; TextFieldParameter textParameter = new TextFieldParameter( getParameters().size(), getRow().getRowIndex(), criterion.getDisplayChromosomeCoordinateLow()); textParameter.setLabel(label); ValueHandler valueChangeHandler = new ValueHandlerAdapter() { @Override public boolean isValid(String value) { return StringUtils.isBlank(value) || NumberUtils.isNumber(value); } @Override public void validate(String formFieldName, String value, ValidationAware action) { if (!isValid(value)) { action.addActionError("Numeric value required for " + label); } } @Override public void valueChanged(String value) { if (StringUtils.isBlank(value)) { criterion.setChromosomeCoordinateLow(null); } else { criterion.setChromosomeCoordinateLow(Integer.valueOf(value)); } } }; textParameter.setValueHandler(valueChangeHandler); return textParameter; }