package com.constellio.model.api.impl.schemas.validation.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.constellio.model.entities.schemas.ConfigProvider;
import com.constellio.model.entities.schemas.Metadata;
import com.constellio.model.entities.schemas.validation.RecordMetadataValidator;
import com.constellio.model.frameworks.validation.ValidationErrors;
public class Maximum50CharsRecordMultivalueMetadataValidator implements RecordMetadataValidator<List<String>> {
public static final String WAS_SIZE = "wasSize";
public static final String MAX_SIZE = "maxSize";
public static final String VALUE_LENGTH_TOO_LONG = "valueLengthTooLong";
@Override
public void validate(Metadata metadata, List<String> values, ConfigProvider configProvider,
ValidationErrors validationErrors) {
for (String value : values) {
if (value != null && value.length() > 50) {
Map<String, Object> parameters = new HashMap<>();
parameters.put(MAX_SIZE, "50");
parameters.put(WAS_SIZE, "" + value.length());
validationErrors.add(getClass(), VALUE_LENGTH_TOO_LONG, parameters);
}
}
}
}