editor should support new config ... first steps

This commit is contained in:
2016-09-01 22:05:31 +02:00
committed by Andreas Billmann
parent 6f635f5e75
commit 04a54da798
8 changed files with 109 additions and 132 deletions

View File

@@ -55,6 +55,7 @@ import java.util.regex.Pattern;
import static java.util.Arrays.asList;
import static java.util.stream.Collectors.joining;
import static javafx.beans.binding.Bindings.when;
import static ninja.javafx.smartcsv.validation.ValidationFormatHelper.doubleToInteger;
/**
* controller for editing column validations
@@ -110,9 +111,6 @@ public class ValidationEditorController extends FXMLController {
@FXML
private Spinner<Integer> maxLengthSpinner;
@FXML
private TextField dateformatRuleTextField;
@FXML
private TextField regexpRuleTextField;
@@ -131,9 +129,6 @@ public class ValidationEditorController extends FXMLController {
@FXML
private CheckBox enableMaxLengthRule;
@FXML
private CheckBox enableDateRule;
@FXML
private CheckBox enableRegexpRule;
@@ -167,7 +162,6 @@ public class ValidationEditorController extends FXMLController {
initSpinner(minLengthSpinner, enableMinLengthRule);
initSpinner(maxLengthSpinner, enableMaxLengthRule);
initTextInputControl(dateformatRuleTextField, enableDateRule);
initTextInputControl(regexpRuleTextField, enableRegexpRule);
initTextInputControl(valueOfRuleTextField, enableValueOfRule);
initCodeAreaControl(groovyRuleTextArea, enableGroovyRule);
@@ -294,66 +288,45 @@ public class ValidationEditorController extends FXMLController {
private void updateForm() {
// updateCheckBox(
// validationConfiguration.getNotEmptyRuleFor(getSelectedColumn()),
// enableNotEmptyRule
// );
//
// updateCheckBox(
// validationConfiguration.getIntegerRuleFor(getSelectedColumn()),
// enableIntegerRule
// );
//
// updateCheckBox(
// validationConfiguration.getDoubleRuleFor(getSelectedColumn()),
// enableDoubleRule
// );
//
// updateCheckBox(
// validationConfiguration.getAlphanumericRuleFor(getSelectedColumn()),
// enableAlphanumericRule
// );
//
// updateCheckBox(
// validationConfiguration.getUniqueRuleFor(getSelectedColumn()),
// enableUniqueRule
// );
//
// updateSpinner(
// minLengthSpinner,
// validationConfiguration.getMinLengthRuleFor(getSelectedColumn()),
// enableMinLengthRule
// );
//
// updateSpinner(
// maxLengthSpinner,
// validationConfiguration.getMaxLengthRuleFor(getSelectedColumn()),
// enableMaxLengthRule
// );
//
// updateTextInputControl(
// dateformatRuleTextField,
// validationConfiguration.getDateRuleFor(getSelectedColumn()),
// enableDateRule
// );
//
// updateTextInputControl(
// regexpRuleTextField,
// validationConfiguration.getRegexpRuleFor(getSelectedColumn()),
// enableRegexpRule
// );
//
// updateTextInputControl(
// valueOfRuleTextField,
// validationConfiguration.getValueOfRuleFor(getSelectedColumn()),
// enableValueOfRule
// );
//
// updateCodeAreaControl(
// groovyRuleTextArea,
// validationConfiguration.getGroovyRuleFor(getSelectedColumn()),
// enableGroovyRule
// );
updateCheckBox(
(Boolean)validationConfiguration.getFieldConfiguration(getSelectedColumn()).getConstraints().get("required"),
enableNotEmptyRule
);
updateCheckBox(
(Boolean)validationConfiguration.getFieldConfiguration(getSelectedColumn()).getConstraints().get("unique"),
enableUniqueRule
);
updateSpinner(
minLengthSpinner,
doubleToInteger((Double)validationConfiguration.getFieldConfiguration(getSelectedColumn()).getConstraints().get("minLength")),
enableMinLengthRule
);
updateSpinner(
maxLengthSpinner,
doubleToInteger((Double)validationConfiguration.getFieldConfiguration(getSelectedColumn()).getConstraints().get("maxLength")),
enableMaxLengthRule
);
updateTextInputControl(
regexpRuleTextField,
(String)validationConfiguration.getFieldConfiguration(getSelectedColumn()).getConstraints().get("pattern"),
enableRegexpRule
);
updateTextInputControl(
valueOfRuleTextField,
(String)validationConfiguration.getFieldConfiguration(getSelectedColumn()).getConstraints().get("enum"),
enableValueOfRule
);
updateCodeAreaControl(
groovyRuleTextArea,
(String)validationConfiguration.getFieldConfiguration(getSelectedColumn()).getConstraints().get("groovy"),
enableGroovyRule
);
}
private void updateCheckBox(Boolean value, CheckBox ruleEnabled) {

View File

@@ -47,6 +47,15 @@ public class ValidationConfiguration {
this.fieldConfigurations = fieldConfigurations;
}
public FieldConfiguration getFieldConfiguration(String column) {
for (FieldConfiguration fieldConfiguration: fieldConfigurations) {
if (fieldConfiguration.getName().equals(column)) {
return fieldConfiguration;
}
}
return null;
}
public String[] headerNames() {
if (fieldConfigurations != null) {
List<String> headerNames = new ArrayList<>();

View File

@@ -3,7 +3,7 @@ package ninja.javafx.smartcsv.validation;
/**
* @author abi
*/
public class DateFormatHelper {
public class ValidationFormatHelper {
public static String dateFormat(String format, String defaultFormat) {
@@ -35,4 +35,9 @@ public class DateFormatHelper {
}
return defaultFormat;
}
public static Integer doubleToInteger(Double value) {
if (value == null) return null;
return (int)Math.round(value);
}
}

View File

@@ -32,7 +32,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static ninja.javafx.smartcsv.validation.DateFormatHelper.dateFormat;
import static ninja.javafx.smartcsv.validation.ValidationFormatHelper.dateFormat;
import static ninja.javafx.smartcsv.validation.ValidationFormatHelper.doubleToInteger;
/**
* This class checks all the validations defined in the
@@ -252,8 +253,5 @@ public class Validator {
return result;
}
private Integer doubleToInteger(Double value) {
if (value == null) return null;
return (int)Math.round(value);
}
}