mirror of
https://github.com/frosch95/SmartCSV.fx.git
synced 2026-04-11 13:38:23 +02:00
editor should support new config ... first steps
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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<>();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user