package com.constellio.model.services.schemas.validators; import static com.constellio.model.entities.records.Record.PUBLIC_TOKEN; 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 ManualTokenValidator implements RecordMetadataValidator<List<String>> { @Override public void validate(Metadata metadata, List<String> tokens, ConfigProvider configProvider, ValidationErrors validationErrors) { if (tokens != null) { for (String token : tokens) { if (token != null && !token.equals(PUBLIC_TOKEN)) { if (!token.startsWith("r") && !token.startsWith("w") && !token.startsWith("d")) { Map<String, Object> parameters = new HashMap<>(); parameters.put("invalidToken", token); validationErrors.add(getClass(), "tokenMustStartWith_R_W_OR_D", parameters); } } } } } }