private ValidationError checkTypes(DataSet dataSet, ColumnType[] types) { for (int i = 0; i < dataSet.getColumns().size(); i++) { ColumnType columnType = dataSet.getColumnByIndex(i).getColumnType(); if (i < types.length && !columnType.equals(types[i])) { return createValidationError(ERROR_COLUMN_TYPE, i, types[i], columnType); } } return null; }
private ValidationError checkTypes(DataSet dataSet, ColumnType[] types) { for (int i = 0; i < dataSet.getColumns().size(); i++) { ColumnType columnType = dataSet.getColumnByIndex(i).getColumnType(); if (i < types.length && !columnType.equals(types[i])) { return createValidationError(ERROR_COLUMN_TYPE, i, types[i], columnType); } } return null; }
public ValidationError check(DataSet dataSet) { if (minColumns != -1 && dataSet.getColumns().size() < minColumns) { return createValidationError(ERROR_COLUMN_NUMBER); } if (maxColumns != -1 && dataSet.getColumns().size() > maxColumns) { return createValidationError(ERROR_COLUMN_NUMBER); } ValidationError error = null; boolean ok = false; int currentColumns = -1; for (ColumnType[] types : columnTypeList) { if (currentColumns < 0 || currentColumns < types.length) currentColumns = types.length; error = checkTypes(dataSet, types); if (!ok && error == null) ok = true; } if (!ok) return error; // Check extra columns type if (currentColumns > 0 && extraColumnsAllowed && extraColumnsType != null && dataSet.getColumns().size() > currentColumns) { for (int i = currentColumns; i < dataSet.getColumns().size(); i++) { ColumnType columnType = dataSet.getColumnByIndex(i).getColumnType(); if (!columnType.equals(extraColumnsType)) { return createValidationError(ERROR_COLUMN_TYPE, i, extraColumnsType, columnType); } } } return null; }
public ValidationError check(DataSet dataSet) { if (minColumns != -1 && dataSet.getColumns().size() < minColumns) { return createValidationError(ERROR_COLUMN_NUMBER); } if (maxColumns != -1 && dataSet.getColumns().size() > maxColumns) { return createValidationError(ERROR_COLUMN_NUMBER); } ValidationError error = null; boolean ok = false; int currentColumns = -1; for (ColumnType[] types : columnTypeList) { if (currentColumns < 0 || currentColumns < types.length) currentColumns = types.length; error = checkTypes(dataSet, types); if (!ok && error == null) ok = true; } if (!ok) return error; // Check extra columns type if (currentColumns > 0 && extraColumnsAllowed && extraColumnsType != null && dataSet.getColumns().size() > currentColumns) { for (int i = currentColumns; i < dataSet.getColumns().size(); i++) { ColumnType columnType = dataSet.getColumnByIndex(i).getColumnType(); if (!columnType.equals(extraColumnsType)) { return createValidationError(ERROR_COLUMN_TYPE, i, extraColumnsType, columnType); } } } return null; }
protected ValidationError createValidationError(int error, Object... params) { switch (error) { case ERROR_GROUP_NOT_ALLOWED: return new ValidationError(error, "Group not allowed"); case ERROR_GROUP_REQUIRED: String groupColumn = groupsTitle != null ? groupsTitle : "Group"; return new ValidationError(error, groupColumn + " column required"); case ERROR_GROUP_NUMBER: return new ValidationError(error, "Max. groups allowed exceeded " + maxGroups); case ERROR_DUPLICATED_COLUMN_ID: String columnId = (String) params[0]; return new ValidationError(error, "Column id '" + columnId + "' is duplicated"); } return super.createValidationError(error, params); }
protected ValidationError createValidationError(int error, Object... params) { switch (error) { case ERROR_GROUP_NOT_ALLOWED: return new ValidationError(error, "Group not allowed"); case ERROR_GROUP_REQUIRED: String groupColumn = groupsTitle != null ? groupsTitle : "Group"; return new ValidationError(error, groupColumn + " column required"); case ERROR_GROUP_NUMBER: return new ValidationError(error, "Max. groups allowed exceeded " + maxGroups); case ERROR_DUPLICATED_COLUMN_ID: String columnId = (String) params[0]; return new ValidationError(error, "Column id '" + columnId + "' is duplicated"); } return super.createValidationError(error, params); }