the editor can handle the support subset of JSON Table Schema

This commit is contained in:
Andreas Billmann
2016-09-18 14:17:39 +02:00
parent 4354afdf1d
commit 70855e614a
15 changed files with 547 additions and 334 deletions

View File

@@ -32,35 +32,36 @@ import java.util.ArrayList;
import java.util.List;
/**
* validation configuration
* Configuration based on JSON Table Schema
* @see <a href="http://specs.frictionlessdata.io/json-table-schema/">JSON Table Schema</a>
*/
public class ValidationConfiguration {
@SerializedName("fields")
private FieldConfiguration[] fieldConfigurations;
private Field[] fields;
public FieldConfiguration[] getFieldConfigurations() {
return fieldConfigurations;
public Field[] getFields() {
return fields;
}
public void setFieldConfigurations(FieldConfiguration[] fieldConfigurations) {
this.fieldConfigurations = fieldConfigurations;
public void setFields(Field[] fields) {
this.fields = fields;
}
public FieldConfiguration getFieldConfiguration(String column) {
for (FieldConfiguration fieldConfiguration: fieldConfigurations) {
if (fieldConfiguration.getName().equals(column)) {
return fieldConfiguration;
public Field getFieldConfiguration(String column) {
for (Field field : fields) {
if (field.getName().equals(column)) {
return field;
}
}
return null;
}
public String[] headerNames() {
if (fieldConfigurations != null) {
if (fields != null) {
List<String> headerNames = new ArrayList<>();
for (FieldConfiguration fieldConfiguration: fieldConfigurations) {
headerNames.add(fieldConfiguration.getName());
for (Field field : fields) {
headerNames.add(field.getName());
}
return headerNames.toArray(new String[headerNames.size()]);
}
@@ -69,11 +70,11 @@ public class ValidationConfiguration {
}
public void setHeaderNames(String[] header) {
fieldConfigurations = new FieldConfiguration[header.length];
fields = new Field[header.length];
int i = 0;
for (String headerName: header) {
fieldConfigurations[i] = new FieldConfiguration();
fieldConfigurations[i].setName(headerName);
fields[i] = new Field();
fields[i].setName(headerName);
i++;
}
}