Implementing validators for Description template related persist models (not completed)
This commit is contained in:
parent
63ffeabe62
commit
2a6b047327
|
@ -8,8 +8,6 @@ import eu.eudat.commons.validation.specification.Specification;
|
||||||
import eu.eudat.convention.ConventionService;
|
import eu.eudat.convention.ConventionService;
|
||||||
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
import eu.eudat.model.persist.descriptionproperties.PropertyDefinitionPersist;
|
import eu.eudat.model.persist.descriptionproperties.PropertyDefinitionPersist;
|
||||||
import jakarta.validation.Valid;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
import org.springframework.context.MessageSource;
|
import org.springframework.context.MessageSource;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
|
|
|
@ -1,28 +1,34 @@
|
||||||
package eu.eudat.model.persist;
|
package eu.eudat.model.persist;
|
||||||
|
|
||||||
import eu.eudat.commons.enums.DescriptionStatus;
|
import eu.eudat.commons.enums.DescriptionStatus;
|
||||||
import eu.eudat.commons.validation.old.FieldNotNullIfOtherSet;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import eu.eudat.commons.validation.old.ValidEnum;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
import eu.eudat.commons.validation.old.ValidId;
|
import eu.eudat.convention.ConventionService;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@FieldNotNullIfOtherSet(message = "{validation.hashempty}")
|
|
||||||
public class DescriptionStatusPersist {
|
public class DescriptionStatusPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@ValidId(message = "{validation.invalidid}")
|
|
||||||
private UUID id;
|
private UUID id;
|
||||||
|
|
||||||
@ValidEnum(message = "{validation.empty}")
|
public static final String _id = "id";
|
||||||
|
|
||||||
private DescriptionStatus status;
|
private DescriptionStatus status;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _status = "status";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String hash;
|
private String hash;
|
||||||
|
|
||||||
|
public static final String _hash = "hash";
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
@ -46,4 +52,40 @@ public class DescriptionStatusPersist {
|
||||||
public void setHash(String hash) {
|
public void setHash(String hash) {
|
||||||
this.hash = hash;
|
this.hash = hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(DescriptionStatusPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class DescriptionStatusPersistValidator extends BaseValidator<DescriptionStatusPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionStatusPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected DescriptionStatusPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<DescriptionStatusPersist> modelClass() {
|
||||||
|
return DescriptionStatusPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(DescriptionStatusPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isValidGuid(item.getId()))
|
||||||
|
.failOn(DescriptionStatusPersist._id).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionStatusPersist._id}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.iff(() -> this.isValidGuid(item.getId()))
|
||||||
|
.must(() -> this.isValidHash(item.getHash()))
|
||||||
|
.failOn(DescriptionStatusPersist._hash).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionStatusPersist._hash}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getStatus()))
|
||||||
|
.failOn(DescriptionStatusPersist._status).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionStatusPersist._status}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,55 +1,65 @@
|
||||||
package eu.eudat.model.persist;
|
package eu.eudat.model.persist;
|
||||||
|
|
||||||
|
|
||||||
import eu.eudat.commons.enums.DescriptionTemplateStatus;
|
import eu.eudat.commons.enums.DescriptionTemplateStatus;
|
||||||
import eu.eudat.commons.validation.old.FieldNotNullIfOtherSet;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import eu.eudat.commons.validation.old.ValidEnum;
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
import eu.eudat.commons.validation.old.ValidId;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
import eu.eudat.data.DescriptionTemplateEntity;
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
import eu.eudat.model.persist.descriptiontemplatedefinition.DefinitionPersist;
|
import eu.eudat.model.persist.descriptiontemplatedefinition.DefinitionPersist;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Size;
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@FieldNotNullIfOtherSet(message = "{validation.hashempty}")
|
|
||||||
public class DescriptionTemplatePersist {
|
public class DescriptionTemplatePersist {
|
||||||
|
|
||||||
@ValidId(message = "{validation.invalidid}")
|
|
||||||
private UUID id;
|
private UUID id;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
@Size(max = DescriptionTemplateEntity._labelLength, message = "{validation.largerthanmax}")
|
|
||||||
private String label = null;
|
private String label = null;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _label = "label";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
|
public static final int _labelLength = 250;
|
||||||
|
|
||||||
private String description = null;
|
private String description = null;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _description = "description";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String language = null;
|
private String language = null;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _language = "language";
|
||||||
@ValidId(message = "{validation.invalidid}")
|
|
||||||
private UUID type = null;
|
private UUID type = null;
|
||||||
|
|
||||||
@ValidEnum(message = "{validation.empty}")
|
public static final String _type = "type";
|
||||||
|
|
||||||
private DescriptionTemplateStatus status;
|
private DescriptionTemplateStatus status;
|
||||||
|
|
||||||
|
public static final String _status = "status";
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
@NotNull(message = "{validation.empty}")
|
||||||
@Valid
|
@Valid
|
||||||
private DefinitionPersist definition = null;
|
private DefinitionPersist definition = null;
|
||||||
|
|
||||||
|
public static final String _definition = "definition";
|
||||||
|
|
||||||
@Valid
|
@Valid
|
||||||
private List<UserDescriptionTemplatePersist> users = null;
|
private List<UserDescriptionTemplatePersist> users = null;
|
||||||
|
|
||||||
|
public static final String _users = "users";
|
||||||
|
|
||||||
private String hash;
|
private String hash;
|
||||||
|
|
||||||
|
public static final String _hash = "hash";
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
@ -121,6 +131,79 @@ public class DescriptionTemplatePersist {
|
||||||
public void setUsers(List<UserDescriptionTemplatePersist> users) {
|
public void setUsers(List<UserDescriptionTemplatePersist> users) {
|
||||||
this.users = users;
|
this.users = users;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(DescriptionTemplatePersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class DescriptionTemplatePersistValidator extends BaseValidator<DescriptionTemplatePersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplatePersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected DescriptionTemplatePersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<DescriptionTemplatePersist> modelClass() {
|
||||||
|
return DescriptionTemplatePersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(DescriptionTemplatePersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.iff(() -> this.isValidGuid(item.getId()))
|
||||||
|
.must(() -> this.isValidHash(item.getHash()))
|
||||||
|
.failOn(DescriptionTemplatePersist._hash).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._hash}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.iff(() -> !this.isValidGuid(item.getId()))
|
||||||
|
.must(() -> !this.isValidHash(item.getHash()))
|
||||||
|
.failOn(DescriptionTemplatePersist._hash).failWith(messageSource.getMessage("Validation_OverPosting", new Object[]{}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getLabel()))
|
||||||
|
.failOn(DescriptionTemplatePersist._label).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._label}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.iff(() -> !this.isEmpty(item.getLabel()))
|
||||||
|
.must(() -> this.lessEqual(item.getLabel(), DescriptionTemplatePersist._labelLength))
|
||||||
|
.failOn(DescriptionTemplatePersist._label).failWith(messageSource.getMessage("Validation_MaxLength", new Object[]{DescriptionTemplatePersist._label}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getDescription()))
|
||||||
|
.failOn(DescriptionTemplatePersist._description).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._description}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getLanguage()))
|
||||||
|
.failOn(DescriptionTemplatePersist._language).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._language}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> this.isValidGuid(item.getType()))
|
||||||
|
.failOn(DescriptionTemplatePersist._type).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._type}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getStatus()))
|
||||||
|
.failOn(DescriptionTemplatePersist._status).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._status}, LocaleContextHolder.getLocale())),
|
||||||
|
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getDefinition()))
|
||||||
|
.failOn(DescriptionTemplatePersist._definition).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._definition}, LocaleContextHolder.getLocale())),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getDefinition()))
|
||||||
|
.on(DescriptionTemplatePersist._definition)
|
||||||
|
.over(item.getDefinition())
|
||||||
|
.using(() -> this.validatorFactory.validator(DefinitionPersist.DefinitionPersistValidator.class)),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getUsers()))
|
||||||
|
.failOn(DescriptionTemplatePersist._users).failWith(messageSource.getMessage("Validation_Required", new Object[]{DescriptionTemplatePersist._users}, LocaleContextHolder.getLocale())),
|
||||||
|
this.navSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getUsers()))
|
||||||
|
.on(DescriptionTemplatePersist._users)
|
||||||
|
.over(item.getUsers())
|
||||||
|
.using(() -> null) //TODO (thgiannos)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,87 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class DefinitionPersist {
|
public class DefinitionPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private List<SectionPersist> sections = null;
|
||||||
@Valid
|
|
||||||
private List<SectionPersist> sections = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _sections = "sections";
|
||||||
@Valid
|
|
||||||
private List<PagePersist> pages = null;
|
|
||||||
|
|
||||||
public List<SectionPersist> getSections() {
|
private List<PagePersist> pages = null;
|
||||||
return sections;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSections(List<SectionPersist> sections) {
|
public static final String _pages = "pages";
|
||||||
this.sections = sections;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<PagePersist> getPages() {
|
public List<SectionPersist> getSections() {
|
||||||
return pages;
|
return sections;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSections(List<SectionPersist> sections) {
|
||||||
|
this.sections = sections;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<PagePersist> getPages() {
|
||||||
|
return pages;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPages(List<PagePersist> pages) {
|
||||||
|
this.pages = pages;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(DefinitionPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class DefinitionPersistValidator extends BaseValidator<DefinitionPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.DefinitionPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
public DefinitionPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<DefinitionPersist> modelClass() {
|
||||||
|
return DefinitionPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(DefinitionPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getSections()))
|
||||||
|
.failOn(DefinitionPersist._sections).failWith(messageSource.getMessage("Validation_Required", new Object[]{DefinitionPersist._sections}, LocaleContextHolder.getLocale())),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getSections()))
|
||||||
|
.on(DefinitionPersist._sections)
|
||||||
|
.over(item.getSections())
|
||||||
|
.using(() -> this.validatorFactory.validator(SectionPersist.SectionPersistValidator.class)),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getPages()))
|
||||||
|
.failOn(DefinitionPersist._pages).failWith(messageSource.getMessage("Validation_Required", new Object[]{DefinitionPersist._pages}, LocaleContextHolder.getLocale())),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getPages()))
|
||||||
|
.on(DefinitionPersist._pages)
|
||||||
|
.over(item.getPages())
|
||||||
|
.using(() -> this.validatorFactory.validator(PagePersist.PagePersistValidator.class))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setPages(List<PagePersist> pages) {
|
|
||||||
this.pages = pages;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,99 +1,215 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
||||||
|
|
||||||
|
import eu.eudat.commons.enums.FieldType;
|
||||||
import eu.eudat.commons.enums.FieldValidationType;
|
import eu.eudat.commons.enums.FieldValidationType;
|
||||||
import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.BaseFieldDataPersist;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.Valid;
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.*;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class FieldPersist {
|
public class FieldPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String id = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String id = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _id = "id";
|
||||||
private Integer ordinal = null;
|
|
||||||
|
|
||||||
private List<String> schematics;
|
private Integer ordinal = null;
|
||||||
|
|
||||||
private String defaultValue;
|
public static final String _ordinal = "ordinal";
|
||||||
|
|
||||||
@Valid
|
private List<String> schematics;
|
||||||
private List<RulePersist> visibilityRules;
|
|
||||||
|
|
||||||
private List<FieldValidationType> validations;
|
private String defaultValue;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private List<RulePersist> visibilityRules;
|
||||||
private Boolean includeInExport = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _visibilityRules = "visibilityRules";
|
||||||
@Valid
|
|
||||||
private BaseFieldDataPersist data = null;
|
|
||||||
|
|
||||||
public String getId() {
|
private List<FieldValidationType> validations;
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(String id) {
|
private Boolean includeInExport = null;
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getOrdinal() {
|
public static final String _includeInExport = "includeInExport";
|
||||||
return ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrdinal(Integer ordinal) {
|
private BaseFieldDataPersist data = null;
|
||||||
this.ordinal = ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<String> getSchematics() {
|
public static final String _data = "data";
|
||||||
return schematics;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSchematics(List<String> schematics) {
|
public String getId() {
|
||||||
this.schematics = schematics;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDefaultValue() {
|
public void setId(String id) {
|
||||||
return defaultValue;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDefaultValue(String defaultValue) {
|
public Integer getOrdinal() {
|
||||||
this.defaultValue = defaultValue;
|
return ordinal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<RulePersist> getVisibilityRules() {
|
public void setOrdinal(Integer ordinal) {
|
||||||
return visibilityRules;
|
this.ordinal = ordinal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVisibilityRules(List<RulePersist> visibilityRules) {
|
public List<String> getSchematics() {
|
||||||
this.visibilityRules = visibilityRules;
|
return schematics;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<FieldValidationType> getValidations() {
|
public void setSchematics(List<String> schematics) {
|
||||||
return validations;
|
this.schematics = schematics;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setValidations(List<FieldValidationType> validations) {
|
public String getDefaultValue() {
|
||||||
this.validations = validations;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getIncludeInExport() {
|
public void setDefaultValue(String defaultValue) {
|
||||||
return includeInExport;
|
this.defaultValue = defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIncludeInExport(Boolean includeInExport) {
|
public List<RulePersist> getVisibilityRules() {
|
||||||
this.includeInExport = includeInExport;
|
return visibilityRules;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BaseFieldDataPersist getData() {
|
public void setVisibilityRules(List<RulePersist> visibilityRules) {
|
||||||
return data;
|
this.visibilityRules = visibilityRules;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<FieldValidationType> getValidations() {
|
||||||
|
return validations;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValidations(List<FieldValidationType> validations) {
|
||||||
|
this.validations = validations;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getIncludeInExport() {
|
||||||
|
return includeInExport;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIncludeInExport(Boolean includeInExport) {
|
||||||
|
this.includeInExport = includeInExport;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BaseFieldDataPersist getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(BaseFieldDataPersist data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(FieldPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class FieldPersistValidator extends BaseValidator<FieldPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.FieldPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected FieldPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<FieldPersist> modelClass() {
|
||||||
|
return FieldPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(FieldPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getId()))
|
||||||
|
.failOn(FieldPersist._id).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldPersist._id}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getOrdinal()))
|
||||||
|
.failOn(FieldPersist._ordinal).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldPersist._ordinal}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getIncludeInExport()))
|
||||||
|
.failOn(FieldPersist._includeInExport).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldPersist._includeInExport}, LocaleContextHolder.getLocale())),
|
||||||
|
|
||||||
|
this.navSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getVisibilityRules()))
|
||||||
|
.on(FieldPersist._visibilityRules)
|
||||||
|
.over(item.getVisibilityRules())
|
||||||
|
.using(() -> this.validatorFactory.validator(RulePersist.RulePersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.AUTO_COMPLETE)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(AutoCompleteDataPersist.AutoCompleteDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.BOOLEAN_DECISION)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(BooleanDecisionDataPersist.BooleanDecisionPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.INTERNAL_DMP_ENTRIES_DATASETS)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(DatasetAutoCompleteDataPersist.DatasetAutoCompleteDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.INTERNAL_DMP_ENTRIES_DMPS)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(DmpAutoCompleteDataPersist.DmpAutoCompleteDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.CHECK_BOX)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(CheckBoxDataPersist.CheckBoxDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.DATE_PICKER)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(DatePickerDataPersist.DatePickerDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.EXTERNAL_DATASETS)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(ExternalDatasetDataPersist.ExternalDatasetDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.FREE_TEXT)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(FreeTextDataPersist.FreeTextDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.LICENSES)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(LicenseDataPersist.LicenseDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.ORGANIZATIONS)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(OrganizationDataPersist.OrganizationDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.PUBLICATIONS)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(PublicationDataPersist.PublicationDataPersistValidator.class)),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getData()) && item.getData().getFieldType() == FieldType.RADIO_BOX)
|
||||||
|
.on(FieldPersist._data)
|
||||||
|
.over(item.getData())
|
||||||
|
.using(() -> this.validatorFactory.validator(RadioBoxDataPersist.RadioBoxDataPersistValidator.class))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setData(BaseFieldDataPersist data) {
|
|
||||||
this.data = data;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,127 +1,187 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class FieldSetPersist {
|
public class FieldSetPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String id = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String id = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _id = "id";
|
||||||
private Integer ordinal = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private Integer ordinal = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String numbering = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _ordinal = "ordinal";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String title = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String numbering = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String description = null;
|
|
||||||
|
|
||||||
// @NotNull(message = "{validation.empty}")
|
public static final String _numbering = "numbering";
|
||||||
// @NotEmpty(message = "{validation.empty}")
|
|
||||||
private String extendedDescription = null;
|
|
||||||
|
|
||||||
// @NotNull(message = "{validation.empty}")
|
private String title = null;
|
||||||
// @NotEmpty(message = "{validation.empty}")
|
|
||||||
private String additionalInformation = null;
|
|
||||||
|
|
||||||
@Valid
|
public static final String _title = "title";
|
||||||
private MultiplicityPersist multiplicity= null;
|
|
||||||
|
|
||||||
|
private String description = null;
|
||||||
|
|
||||||
private Boolean hasCommentField = null;
|
public static final String _description = "description";
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String extendedDescription = null;
|
||||||
@Valid
|
|
||||||
private List<FieldPersist> fields = null;
|
|
||||||
|
|
||||||
public String getId() {
|
private String additionalInformation = null;
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(String id) {
|
private MultiplicityPersist multiplicity = null;
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getOrdinal() {
|
public static final String _multiplicity = "multiplicity";
|
||||||
return ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrdinal(Integer ordinal) {
|
private Boolean hasCommentField = null;
|
||||||
this.ordinal = ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNumbering() {
|
private List<FieldPersist> fields = null;
|
||||||
return numbering;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNumbering(String numbering) {
|
public static final String _fields = "fields";
|
||||||
this.numbering = numbering;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTitle() {
|
public String getId() {
|
||||||
return title;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTitle(String title) {
|
public void setId(String id) {
|
||||||
this.title = title;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public Integer getOrdinal() {
|
||||||
return description;
|
return ordinal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDescription(String description) {
|
public void setOrdinal(Integer ordinal) {
|
||||||
this.description = description;
|
this.ordinal = ordinal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getExtendedDescription() {
|
public String getNumbering() {
|
||||||
return extendedDescription;
|
return numbering;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setExtendedDescription(String extendedDescription) {
|
public void setNumbering(String numbering) {
|
||||||
this.extendedDescription = extendedDescription;
|
this.numbering = numbering;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAdditionalInformation() {
|
public String getTitle() {
|
||||||
return additionalInformation;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAdditionalInformation(String additionalInformation) {
|
public void setTitle(String title) {
|
||||||
this.additionalInformation = additionalInformation;
|
this.title = title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MultiplicityPersist getMultiplicity() {
|
public String getDescription() {
|
||||||
return multiplicity;
|
return description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMultiplicity(MultiplicityPersist multiplicity) {
|
public void setDescription(String description) {
|
||||||
this.multiplicity = multiplicity;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getHasCommentField() {
|
public String getExtendedDescription() {
|
||||||
return hasCommentField;
|
return extendedDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHasCommentField(Boolean hasCommentField) {
|
public void setExtendedDescription(String extendedDescription) {
|
||||||
this.hasCommentField = hasCommentField;
|
this.extendedDescription = extendedDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<FieldPersist> getFields() {
|
public String getAdditionalInformation() {
|
||||||
return fields;
|
return additionalInformation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setAdditionalInformation(String additionalInformation) {
|
||||||
|
this.additionalInformation = additionalInformation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MultiplicityPersist getMultiplicity() {
|
||||||
|
return multiplicity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMultiplicity(MultiplicityPersist multiplicity) {
|
||||||
|
this.multiplicity = multiplicity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getHasCommentField() {
|
||||||
|
return hasCommentField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHasCommentField(Boolean hasCommentField) {
|
||||||
|
this.hasCommentField = hasCommentField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<FieldPersist> getFields() {
|
||||||
|
return fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFields(List<FieldPersist> fields) {
|
||||||
|
this.fields = fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(FieldSetPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class FieldSetPersistValidator extends BaseValidator<FieldSetPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.FieldSetPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected FieldSetPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<FieldSetPersist> modelClass() {
|
||||||
|
return FieldSetPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(FieldSetPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getId()))
|
||||||
|
.failOn(FieldSetPersist._id).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldSetPersist._id}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getOrdinal()))
|
||||||
|
.failOn(FieldSetPersist._ordinal).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldSetPersist._ordinal}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getNumbering()))
|
||||||
|
.failOn(FieldSetPersist._numbering).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldSetPersist._numbering}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getTitle()))
|
||||||
|
.failOn(FieldSetPersist._title).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldSetPersist._title}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getDescription()))
|
||||||
|
.failOn(FieldSetPersist._description).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldSetPersist._description}, LocaleContextHolder.getLocale())),
|
||||||
|
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getMultiplicity()))
|
||||||
|
.on(FieldSetPersist._multiplicity)
|
||||||
|
.over(item.getMultiplicity())
|
||||||
|
.using(() -> this.validatorFactory.validator(MultiplicityPersist.MultiplicityValidator.class)),
|
||||||
|
this.navSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getFields()))
|
||||||
|
.on(FieldSetPersist._fields)
|
||||||
|
.over(item.getFields())
|
||||||
|
.using(() -> this.validatorFactory.validator(FieldPersist.FieldPersistValidator.class))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setFields(List<FieldPersist> fields) {
|
|
||||||
this.fields = fields;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +1,77 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.apache.commons.compress.utils.Lists;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class MultiplicityPersist {
|
public class MultiplicityPersist {
|
||||||
|
|
||||||
private Integer min = null;
|
private Integer min = null;
|
||||||
|
|
||||||
private Integer max = null;
|
private Integer max = null;
|
||||||
|
|
||||||
private String placeholder = null;
|
private String placeholder = null;
|
||||||
|
|
||||||
private Boolean tableView = null;
|
private Boolean tableView = null;
|
||||||
|
|
||||||
public Integer getMin() {
|
public Integer getMin() {
|
||||||
return min;
|
return min;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMin(Integer min) {
|
public void setMin(Integer min) {
|
||||||
this.min = min;
|
this.min = min;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getMax() {
|
public Integer getMax() {
|
||||||
return max;
|
return max;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMax(Integer max) {
|
public void setMax(Integer max) {
|
||||||
this.max = max;
|
this.max = max;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPlaceholder() {
|
public String getPlaceholder() {
|
||||||
return placeholder;
|
return placeholder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPlaceholder(String placeholder) {
|
public void setPlaceholder(String placeholder) {
|
||||||
this.placeholder = placeholder;
|
this.placeholder = placeholder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Boolean getTableView() {
|
public Boolean getTableView() {
|
||||||
return tableView;
|
return tableView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTableView(Boolean tableView) {
|
||||||
|
this.tableView = tableView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(MultiplicityValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class MultiplicityValidator extends BaseValidator<MultiplicityPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.MultiplicityValidator";
|
||||||
|
|
||||||
|
protected MultiplicityValidator(ConventionService conventionService, ErrorThesaurusProperties errors) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<MultiplicityPersist> modelClass() {
|
||||||
|
return MultiplicityPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(MultiplicityPersist item) {
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setTableView(Boolean tableView) {
|
|
||||||
this.tableView = tableView;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +1,90 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import java.util.Arrays;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import java.util.List;
|
||||||
|
|
||||||
public class PagePersist {
|
public class PagePersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String id = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String id = null;
|
||||||
private Integer ordinal = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _id = "id";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String title = null;
|
|
||||||
|
|
||||||
public String getId() {
|
private Integer ordinal = null;
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(String id) {
|
public static final String _ordinal = "ordinal";
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getOrdinal() {
|
private String title = null;
|
||||||
return ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrdinal(int ordinal) {
|
public static final String _title = "title";
|
||||||
this.ordinal = ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTitle() {
|
public String getId() {
|
||||||
return title;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getOrdinal() {
|
||||||
|
return ordinal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrdinal(int ordinal) {
|
||||||
|
this.ordinal = ordinal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(PagePersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class PagePersistValidator extends BaseValidator<PagePersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.PagePersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected PagePersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<PagePersist> modelClass() {
|
||||||
|
return PagePersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(PagePersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getId()))
|
||||||
|
.failOn(PagePersist._id).failWith(messageSource.getMessage("Validation_Required", new Object[]{PagePersist._id}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getOrdinal()))
|
||||||
|
.failOn(PagePersist._ordinal).failWith(messageSource.getMessage("Validation_Required", new Object[]{PagePersist._ordinal}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getTitle()))
|
||||||
|
.failOn(PagePersist._title).failWith(messageSource.getMessage("Validation_Required", new Object[]{PagePersist._title}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setTitle(String title) {
|
|
||||||
this.title = title;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,73 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class RulePersist {
|
public class RulePersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String target = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String target = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _target = "target";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String value= null;
|
|
||||||
|
|
||||||
|
private String value = null;
|
||||||
|
|
||||||
public String getTarget() {
|
public static final String _value = "value";
|
||||||
return target;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTarget(String target) {
|
public String getTarget() {
|
||||||
this.target = target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getValue() {
|
public void setTarget(String target) {
|
||||||
return value;
|
this.target = target;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setValue(String value) {
|
public String getValue() {
|
||||||
this.value = value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(RulePersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class RulePersistValidator extends BaseValidator<RulePersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.RulePersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected RulePersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<RulePersist> modelClass() {
|
||||||
|
return RulePersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(RulePersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getTarget()))
|
||||||
|
.failOn(RulePersist._target).failWith(messageSource.getMessage("Validation_Required", new Object[]{RulePersist._target}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getValue()))
|
||||||
|
.failOn(RulePersist._value).failWith(messageSource.getMessage("Validation_Required", new Object[]{RulePersist._value}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,118 +1,194 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
package eu.eudat.model.persist.descriptiontemplatedefinition;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import eu.eudat.model.persist.ActionConfirmationPersist;
|
||||||
|
import eu.eudat.model.persist.actionconfirmation.DmpInvitationPersist;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import java.util.Arrays;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SectionPersist {
|
public class SectionPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String id = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String id = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _id = "id";
|
||||||
private Integer ordinal = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private Integer ordinal = null;
|
||||||
private Boolean defaultVisibility = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _ordinal = "ordinal";
|
||||||
private Boolean multiplicity = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private Boolean defaultVisibility = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String page = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _defaultVisibility = "defaultVisibility";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String title = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private Boolean multiplicity = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String description = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _multiplicity = "multiplicity";
|
||||||
@Valid
|
|
||||||
private List<SectionPersist> sections = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String page = null;
|
||||||
@Valid
|
|
||||||
private List<FieldSetPersist> fieldSets = null;
|
|
||||||
|
|
||||||
public String getId() {
|
public static final String _page = "page";
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(String id) {
|
private String title = null;
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getOrdinal() {
|
public static final String _title = "title";
|
||||||
return ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrdinal(int ordinal) {
|
private String description = null;
|
||||||
this.ordinal = ordinal;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getDefaultVisibility() {
|
public static final String _description = "description";
|
||||||
return defaultVisibility;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDefaultVisibility(Boolean defaultVisibility) {
|
private List<SectionPersist> sections = null;
|
||||||
this.defaultVisibility = defaultVisibility;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getMultiplicity() {
|
public static final String _sections = "sections";
|
||||||
return multiplicity;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMultiplicity(Boolean multiplicity) {
|
private List<FieldSetPersist> fieldSets = null;
|
||||||
this.multiplicity = multiplicity;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPage() {
|
public static final String _fieldSets = "fieldSets";
|
||||||
return page;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPage(String page) {
|
public String getId() {
|
||||||
this.page = page;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitle() {
|
public void setId(String id) {
|
||||||
return title;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTitle(String title) {
|
public int getOrdinal() {
|
||||||
this.title = title;
|
return ordinal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public void setOrdinal(int ordinal) {
|
||||||
return description;
|
this.ordinal = ordinal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDescription(String description) {
|
public Boolean getDefaultVisibility() {
|
||||||
this.description = description;
|
return defaultVisibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SectionPersist> getSections() {
|
public void setDefaultVisibility(Boolean defaultVisibility) {
|
||||||
return sections;
|
this.defaultVisibility = defaultVisibility;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSections(List<SectionPersist> sections) {
|
public Boolean getMultiplicity() {
|
||||||
this.sections = sections;
|
return multiplicity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<FieldSetPersist> getFieldSets() {
|
public void setMultiplicity(Boolean multiplicity) {
|
||||||
return fieldSets;
|
this.multiplicity = multiplicity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getPage() {
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPage(String page) {
|
||||||
|
this.page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<SectionPersist> getSections() {
|
||||||
|
return sections;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSections(List<SectionPersist> sections) {
|
||||||
|
this.sections = sections;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<FieldSetPersist> getFieldSets() {
|
||||||
|
return fieldSets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFieldSets(List<FieldSetPersist> fieldSets) {
|
||||||
|
this.fieldSets = fieldSets;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(SectionPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class SectionPersistValidator extends BaseValidator<SectionPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.SectionPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected SectionPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<SectionPersist> modelClass() {
|
||||||
|
return SectionPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(SectionPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getId()))
|
||||||
|
.failOn(SectionPersist._id).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._id}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getOrdinal()))
|
||||||
|
.failOn(SectionPersist._ordinal).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._ordinal}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getDefaultVisibility()))
|
||||||
|
.failOn(SectionPersist._defaultVisibility).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._defaultVisibility}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiplicity()))
|
||||||
|
.failOn(SectionPersist._multiplicity).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._multiplicity}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getPage()))
|
||||||
|
.failOn(SectionPersist._page).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._page}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getTitle()))
|
||||||
|
.failOn(SectionPersist._title).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._title}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getDescription()))
|
||||||
|
.failOn(SectionPersist._description).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._description}, LocaleContextHolder.getLocale())),
|
||||||
|
|
||||||
|
this.navSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getSections()))
|
||||||
|
.on(SectionPersist._sections)
|
||||||
|
.over(item.getSections())
|
||||||
|
.using(() -> this.validatorFactory.validator(SectionPersistValidator.class)),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getFieldSets()))
|
||||||
|
.failOn(SectionPersist._fieldSets).failWith(messageSource.getMessage("Validation_Required", new Object[]{SectionPersist._fieldSets}, LocaleContextHolder.getLocale())),
|
||||||
|
this.navSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getFieldSets()))
|
||||||
|
.on(SectionPersist._fieldSets)
|
||||||
|
.over(item.getFieldSets())
|
||||||
|
.using(() -> this.validatorFactory.validator(FieldSetPersist.FieldSetPersistValidator.class))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setFieldSets(List<FieldSetPersist> fieldSets) {
|
|
||||||
this.fieldSets = fieldSets;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,66 +1,113 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class AuthAutoCompleteDataPersist {
|
public class AuthAutoCompleteDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String url = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String url = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String method = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _uri = "uri";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String body = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String method = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String path = null;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _method = "method";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String type = null;
|
|
||||||
|
|
||||||
public String getUrl() {
|
private String body = null;
|
||||||
return url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUrl(String url) {
|
public static final String _body = "body";
|
||||||
this.url = url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMethod() {
|
private String path = null;
|
||||||
return method;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMethod(String method) {
|
public static final String _path = "path";
|
||||||
this.method = method;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBody() {
|
private String type = null;
|
||||||
return body;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBody(String body) {
|
public static final String _type = "type";
|
||||||
this.body = body;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPath() {
|
public String getUrl() {
|
||||||
return path;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPath(String path) {
|
public void setUrl(String url) {
|
||||||
this.path = path;
|
this.url = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getType() {
|
public String getMethod() {
|
||||||
return type;
|
return method;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setMethod(String method) {
|
||||||
|
this.method = method;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBody() {
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBody(String body) {
|
||||||
|
this.body = body;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPath() {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPath(String path) {
|
||||||
|
this.path = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class AuthAutoCompleteDataPersistValidator extends BaseValidator<AuthAutoCompleteDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.AuthAutoCompleteDataPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected AuthAutoCompleteDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<AuthAutoCompleteDataPersist> modelClass() {
|
||||||
|
return AuthAutoCompleteDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(AuthAutoCompleteDataPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getUrl()))
|
||||||
|
.failOn(AuthAutoCompleteDataPersist._uri).failWith(messageSource.getMessage("Validation_Required", new Object[]{AuthAutoCompleteDataPersist._uri}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getMethod()))
|
||||||
|
.failOn(AuthAutoCompleteDataPersist._method).failWith(messageSource.getMessage("Validation_Required", new Object[]{AuthAutoCompleteDataPersist._method}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getBody()))
|
||||||
|
.failOn(AuthAutoCompleteDataPersist._body).failWith(messageSource.getMessage("Validation_Required", new Object[]{AuthAutoCompleteDataPersist._body}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getPath()))
|
||||||
|
.failOn(AuthAutoCompleteDataPersist._path).failWith(messageSource.getMessage("Validation_Required", new Object[]{AuthAutoCompleteDataPersist._path}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getType()))
|
||||||
|
.failOn(AuthAutoCompleteDataPersist._type).failWith(messageSource.getMessage("Validation_Required", new Object[]{AuthAutoCompleteDataPersist._type}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setType(String type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +1,35 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class AutoCompleteDataPersist extends BaseFieldDataPersist {
|
public class AutoCompleteDataPersist extends BaseFieldDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
private Boolean multiAutoComplete = null;
|
private Boolean multiAutoComplete = null;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _multiAutoComplete = "multiAutoComplete";
|
||||||
@Valid
|
|
||||||
private List<AutoCompleteSingleDataPersist> autoCompleteSingleDataList = null;
|
private List<AutoCompleteSingleDataPersist> autoCompleteSingleDataList = null;
|
||||||
|
|
||||||
public Boolean getMultiAutoComplete() { return multiAutoComplete; }
|
public static final String _autoCompleteSingleDataList = "autoCompleteSingleDataList";
|
||||||
public void setMultiAutoComplete(Boolean multiAutoComplete) { this.multiAutoComplete = multiAutoComplete; }
|
|
||||||
|
public Boolean getMultiAutoComplete() {
|
||||||
|
return multiAutoComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMultiAutoComplete(Boolean multiAutoComplete) {
|
||||||
|
this.multiAutoComplete = multiAutoComplete;
|
||||||
|
}
|
||||||
|
|
||||||
public List<AutoCompleteSingleDataPersist> getAutoCompleteSingleDataList() {
|
public List<AutoCompleteSingleDataPersist> getAutoCompleteSingleDataList() {
|
||||||
return autoCompleteSingleDataList;
|
return autoCompleteSingleDataList;
|
||||||
|
@ -23,5 +38,40 @@ public class AutoCompleteDataPersist extends BaseFieldDataPersist {
|
||||||
public void setAutoCompleteSingleDataList(List<AutoCompleteSingleDataPersist> autoCompleteSingleDataList) {
|
public void setAutoCompleteSingleDataList(List<AutoCompleteSingleDataPersist> autoCompleteSingleDataList) {
|
||||||
this.autoCompleteSingleDataList = autoCompleteSingleDataList;
|
this.autoCompleteSingleDataList = autoCompleteSingleDataList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(AutoCompleteDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class AutoCompleteDataPersistValidator extends BaseFieldDataPersistValidator<AutoCompleteDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.AutoCompleteDataPersistValidator";
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected AutoCompleteDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<AutoCompleteDataPersist> modelClass() {
|
||||||
|
return AutoCompleteDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(AutoCompleteDataPersist item) {
|
||||||
|
List<Specification> specifications = getBaseSpecifications(item);
|
||||||
|
specifications.addAll(Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiAutoComplete()))
|
||||||
|
.failOn(AutoCompleteDataPersist._multiAutoComplete).failWith(messageSource.getMessage("Validation_Required", new Object[]{AutoCompleteDataPersist._multiAutoComplete}, LocaleContextHolder.getLocale())),
|
||||||
|
this.navSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getAutoCompleteSingleDataList()))
|
||||||
|
.on(AutoCompleteDataPersist._autoCompleteSingleDataList)
|
||||||
|
.over(item.getAutoCompleteSingleDataList())
|
||||||
|
.using(() -> this.validatorFactory.validator(AutoCompleteSingleDataPersist.AutoCompleteSingleDataPersistValidator.class))
|
||||||
|
));
|
||||||
|
return specifications;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,88 +1,157 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.AutoCompleteDataEntity;
|
import eu.eudat.commons.types.descriptiontemplate.fielddata.AutoCompleteDataEntity;
|
||||||
import eu.eudat.commons.validation.old.ValidEnum;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.Valid;
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class AutoCompleteSingleDataPersist {
|
public class AutoCompleteSingleDataPersist {
|
||||||
|
|
||||||
@ValidEnum(message = "{validation.empty}")
|
private AutoCompleteDataEntity.AutocompleteType autocompleteType;
|
||||||
private AutoCompleteDataEntity.AutocompleteType autocompleteType;
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String url = null;
|
|
||||||
|
|
||||||
@Valid
|
public static final String _autocompleteType = "autocompleteType";
|
||||||
private ComboBoxOptionPersist autoCompleteOptions;
|
|
||||||
|
|
||||||
private String optionsRoot;
|
private String url = null;
|
||||||
|
|
||||||
|
public static final String _url = "url";
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private ComboBoxOptionPersist autoCompleteOptions;
|
||||||
private Boolean hasAuth = null;
|
|
||||||
|
|
||||||
@Valid
|
public static final String _autoCompleteOptions = "autoCompleteOptions";
|
||||||
private AuthAutoCompleteDataPersist auth;
|
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String optionsRoot;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String method = null;
|
|
||||||
|
|
||||||
public AutoCompleteDataEntity.AutocompleteType getAutocompleteType() {
|
private Boolean hasAuth = null;
|
||||||
return autocompleteType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAutocompleteType(AutoCompleteDataEntity.AutocompleteType autocompleteType) {
|
public static final String _hasAuth = "hasAuth";
|
||||||
this.autocompleteType = autocompleteType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOptionsRoot() {
|
private AuthAutoCompleteDataPersist auth;
|
||||||
return optionsRoot;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOptionsRoot(String optionsRoot) {
|
public static final String _auth = "auth";
|
||||||
this.optionsRoot = optionsRoot;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUrl() {
|
private String method = null;
|
||||||
return url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUrl(String url) {
|
public static final String _method = "method";
|
||||||
this.url = url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getHasAuth() {
|
public AutoCompleteDataEntity.AutocompleteType getAutocompleteType() {
|
||||||
return hasAuth;
|
return autocompleteType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHasAuth(Boolean hasAuth) {
|
public void setAutocompleteType(AutoCompleteDataEntity.AutocompleteType autocompleteType) {
|
||||||
this.hasAuth = hasAuth;
|
this.autocompleteType = autocompleteType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuthAutoCompleteDataPersist getAuth() {
|
public String getOptionsRoot() {
|
||||||
return auth;
|
return optionsRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAuth(AuthAutoCompleteDataPersist auth) {
|
public void setOptionsRoot(String optionsRoot) {
|
||||||
this.auth = auth;
|
this.optionsRoot = optionsRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ComboBoxOptionPersist getAutoCompleteOptions() {
|
public String getUrl() {
|
||||||
return autoCompleteOptions;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAutoCompleteOptions(ComboBoxOptionPersist autoCompleteOptions) {
|
public void setUrl(String url) {
|
||||||
this.autoCompleteOptions = autoCompleteOptions;
|
this.url = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMethod() {
|
public Boolean getHasAuth() {
|
||||||
return method;
|
return hasAuth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setHasAuth(Boolean hasAuth) {
|
||||||
|
this.hasAuth = hasAuth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AuthAutoCompleteDataPersist getAuth() {
|
||||||
|
return auth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAuth(AuthAutoCompleteDataPersist auth) {
|
||||||
|
this.auth = auth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ComboBoxOptionPersist getAutoCompleteOptions() {
|
||||||
|
return autoCompleteOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAutoCompleteOptions(ComboBoxOptionPersist autoCompleteOptions) {
|
||||||
|
this.autoCompleteOptions = autoCompleteOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMethod() {
|
||||||
|
return method;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMethod(String method) {
|
||||||
|
this.method = method;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(AutoCompleteSingleDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class AutoCompleteSingleDataPersistValidator extends BaseValidator<AutoCompleteSingleDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.AutoCompleteSingleDataPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected AutoCompleteSingleDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<AutoCompleteSingleDataPersist> modelClass() {
|
||||||
|
return AutoCompleteSingleDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(AutoCompleteSingleDataPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getAutocompleteType()))
|
||||||
|
.failOn(AutoCompleteSingleDataPersist._autocompleteType).failWith(messageSource.getMessage("Validation_Required", new Object[]{AutoCompleteSingleDataPersist._autocompleteType}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getUrl()))
|
||||||
|
.failOn(AutoCompleteSingleDataPersist._url).failWith(messageSource.getMessage("Validation_Required", new Object[]{AutoCompleteSingleDataPersist._url}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getHasAuth()))
|
||||||
|
.failOn(AutoCompleteSingleDataPersist._hasAuth).failWith(messageSource.getMessage("Validation_Required", new Object[]{AutoCompleteSingleDataPersist._hasAuth}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getMethod()))
|
||||||
|
.failOn(AutoCompleteSingleDataPersist._method).failWith(messageSource.getMessage("Validation_Required", new Object[]{AutoCompleteSingleDataPersist._method}, LocaleContextHolder.getLocale())),
|
||||||
|
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getAutoCompleteOptions()))
|
||||||
|
.on(AutoCompleteSingleDataPersist._autoCompleteOptions)
|
||||||
|
.over(item.getAutoCompleteOptions())
|
||||||
|
.using(() -> this.validatorFactory.validator(ComboBoxOptionPersist.ComboBoxOptionPersistValidator.class)),
|
||||||
|
this.spec()
|
||||||
|
.iff(() -> !this.isNull(item.getHasAuth()) && item.getHasAuth())
|
||||||
|
.must(() -> !this.isNull(item.getAuth()))
|
||||||
|
.failOn(AutoCompleteSingleDataPersist._auth).failWith(messageSource.getMessage("Validation_Required", new Object[]{AutoCompleteSingleDataPersist._auth}, LocaleContextHolder.getLocale())),
|
||||||
|
this.refSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getAuth()))
|
||||||
|
.on(AutoCompleteSingleDataPersist._auth)
|
||||||
|
.over(item.getAuth())
|
||||||
|
.using(() -> this.validatorFactory.validator(AuthAutoCompleteDataPersist.AuthAutoCompleteDataPersistValidator.class))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setMethod(String method) {
|
|
||||||
this.method = method;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,67 +3,97 @@ package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||||
import eu.eudat.commons.enums.FieldType;
|
import eu.eudat.commons.enums.FieldType;
|
||||||
import eu.eudat.commons.validation.old.ValidEnum;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@JsonTypeInfo(
|
@JsonTypeInfo(
|
||||||
use = JsonTypeInfo.Id.NAME,
|
use = JsonTypeInfo.Id.NAME,
|
||||||
include = JsonTypeInfo.As.PROPERTY,
|
include = JsonTypeInfo.As.PROPERTY,
|
||||||
property = "fieldType",
|
property = "fieldType",
|
||||||
visible = true)
|
visible = true)
|
||||||
@JsonSubTypes({
|
@JsonSubTypes({
|
||||||
@JsonSubTypes.Type(value = AutoCompleteDataPersist.class, name = FieldType.Names.Autocomplete),
|
@JsonSubTypes.Type(value = AutoCompleteDataPersist.class, name = FieldType.Names.Autocomplete),
|
||||||
@JsonSubTypes.Type(value = BooleanDecisionDataPersist.class, name = FieldType.Names.BooleanDecision),
|
@JsonSubTypes.Type(value = BooleanDecisionDataPersist.class, name = FieldType.Names.BooleanDecision),
|
||||||
@JsonSubTypes.Type(value = DatasetAutoCompleteDataPersist.class, name = FieldType.Names.InternalDmpDatasets),
|
@JsonSubTypes.Type(value = DatasetAutoCompleteDataPersist.class, name = FieldType.Names.InternalDmpDatasets),
|
||||||
@JsonSubTypes.Type(value = DmpAutoCompleteDataPersist.class, name = FieldType.Names.InternalDmpDmps),
|
@JsonSubTypes.Type(value = DmpAutoCompleteDataPersist.class, name = FieldType.Names.InternalDmpDmps),
|
||||||
@JsonSubTypes.Type(value = CheckBoxDataPersist.class, name = FieldType.Names.CheckBox),
|
@JsonSubTypes.Type(value = CheckBoxDataPersist.class, name = FieldType.Names.CheckBox),
|
||||||
@JsonSubTypes.Type(value = DatePickerDataPersist.class, name = FieldType.Names.DatePicker),
|
@JsonSubTypes.Type(value = DatePickerDataPersist.class, name = FieldType.Names.DatePicker),
|
||||||
@JsonSubTypes.Type(value = ExternalDatasetDataPersist.class, name = FieldType.Names.ExternalDatasets),
|
@JsonSubTypes.Type(value = ExternalDatasetDataPersist.class, name = FieldType.Names.ExternalDatasets),
|
||||||
@JsonSubTypes.Type(value = FreeTextDataPersist.class, name = FieldType.Names.FreeText),
|
@JsonSubTypes.Type(value = FreeTextDataPersist.class, name = FieldType.Names.FreeText),
|
||||||
@JsonSubTypes.Type(value = LicenseDataPersist.class, name = FieldType.Names.Licenses),
|
@JsonSubTypes.Type(value = LicenseDataPersist.class, name = FieldType.Names.Licenses),
|
||||||
@JsonSubTypes.Type(value = OrganizationDataPersist.class, name = FieldType.Names.Organizations),
|
@JsonSubTypes.Type(value = OrganizationDataPersist.class, name = FieldType.Names.Organizations),
|
||||||
@JsonSubTypes.Type(value = PublicationDataPersist.class, name = FieldType.Names.Publications),
|
@JsonSubTypes.Type(value = PublicationDataPersist.class, name = FieldType.Names.Publications),
|
||||||
@JsonSubTypes.Type(value = RadioBoxDataPersist.class, name = FieldType.Names.RadioBox),
|
@JsonSubTypes.Type(value = RadioBoxDataPersist.class, name = FieldType.Names.RadioBox),
|
||||||
@JsonSubTypes.Type(value = RegistryDataPersist.class, name = FieldType.Names.Registries),
|
@JsonSubTypes.Type(value = RegistryDataPersist.class, name = FieldType.Names.Registries),
|
||||||
@JsonSubTypes.Type(value = ResearcherAutoCompleteDataPersist.class, name = FieldType.Names.InternalDmpResearchers),
|
@JsonSubTypes.Type(value = ResearcherAutoCompleteDataPersist.class, name = FieldType.Names.InternalDmpResearchers),
|
||||||
@JsonSubTypes.Type(value = ResearcherDataPersist.class, name = FieldType.Names.Researchers),
|
@JsonSubTypes.Type(value = ResearcherDataPersist.class, name = FieldType.Names.Researchers),
|
||||||
@JsonSubTypes.Type(value = RichTextAreaDataPersist.class, name = FieldType.Names.RichTextarea),
|
@JsonSubTypes.Type(value = RichTextAreaDataPersist.class, name = FieldType.Names.RichTextarea),
|
||||||
@JsonSubTypes.Type(value = ServiceDataPersist.class, name = FieldType.Names.Services),
|
@JsonSubTypes.Type(value = ServiceDataPersist.class, name = FieldType.Names.Services),
|
||||||
@JsonSubTypes.Type(value = TagDataPersist.class, name = FieldType.Names.Tags),
|
@JsonSubTypes.Type(value = TagDataPersist.class, name = FieldType.Names.Tags),
|
||||||
@JsonSubTypes.Type(value = TaxonomyDataPersist.class, name = FieldType.Names.Taxonomies),
|
@JsonSubTypes.Type(value = TaxonomyDataPersist.class, name = FieldType.Names.Taxonomies),
|
||||||
@JsonSubTypes.Type(value = TextAreaDataPersist.class, name = FieldType.Names.TextArea),
|
@JsonSubTypes.Type(value = TextAreaDataPersist.class, name = FieldType.Names.TextArea),
|
||||||
@JsonSubTypes.Type(value = UploadDataPersist.class, name = FieldType.Names.Upload),
|
@JsonSubTypes.Type(value = UploadDataPersist.class, name = FieldType.Names.Upload),
|
||||||
@JsonSubTypes.Type(value = ValidationDataPersist.class, name = FieldType.Names.Validation),
|
@JsonSubTypes.Type(value = ValidationDataPersist.class, name = FieldType.Names.Validation),
|
||||||
@JsonSubTypes.Type(value = DatasetIdentifierDataPersist.class, name = FieldType.Names.DatasetIdentifier),
|
@JsonSubTypes.Type(value = DatasetIdentifierDataPersist.class, name = FieldType.Names.DatasetIdentifier),
|
||||||
@JsonSubTypes.Type(value = CurrencyDataPersist.class, name = FieldType.Names.Currency),
|
@JsonSubTypes.Type(value = CurrencyDataPersist.class, name = FieldType.Names.Currency),
|
||||||
@JsonSubTypes.Type(value = WordListDataPersist.class, name = FieldType.Names.Wordlist),
|
@JsonSubTypes.Type(value = WordListDataPersist.class, name = FieldType.Names.Wordlist),
|
||||||
@JsonSubTypes.Type(value = DataRepositoryDataPersist.class, name = FieldType.Names.DataRepositories),
|
@JsonSubTypes.Type(value = DataRepositoryDataPersist.class, name = FieldType.Names.DataRepositories),
|
||||||
@JsonSubTypes.Type(value = JournalRepositoryDataPersist.class, name = FieldType.Names.JournalRepositories),
|
@JsonSubTypes.Type(value = JournalRepositoryDataPersist.class, name = FieldType.Names.JournalRepositories),
|
||||||
@JsonSubTypes.Type(value = PublicationRepositoryDataPersist.class, name = FieldType.Names.Publications),
|
@JsonSubTypes.Type(value = PublicationRepositoryDataPersist.class, name = FieldType.Names.Publications),
|
||||||
})
|
})
|
||||||
public abstract class BaseFieldDataPersist {
|
public abstract class BaseFieldDataPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private String label = null;
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String label = null;
|
|
||||||
|
|
||||||
@ValidEnum(message = "{validation.empty}")
|
public static final String _label = "label";
|
||||||
private FieldType fieldType;
|
|
||||||
|
|
||||||
public String getLabel() {
|
private FieldType fieldType;
|
||||||
return label;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLabel(String label) {
|
public static final String _fieldType = "fieldType";
|
||||||
this.label = label;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FieldType getFieldType() {
|
public String getLabel() {
|
||||||
return fieldType;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLabel(String label) {
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FieldType getFieldType() {
|
||||||
|
return fieldType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFieldType(FieldType fieldType) {
|
||||||
|
this.fieldType = fieldType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract static class BaseFieldDataPersistValidator<T extends BaseFieldDataPersist> extends BaseValidator<T> {
|
||||||
|
|
||||||
|
protected final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected BaseFieldDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected List<Specification> getBaseSpecifications(T item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getLabel()))
|
||||||
|
.failOn(BaseFieldDataPersist._label).failWith(messageSource.getMessage("Validation_Required", new Object[]{BaseFieldDataPersist._label}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getFieldType()))
|
||||||
|
.failOn(BaseFieldDataPersist._fieldType).failWith(messageSource.getMessage("Validation_Required", new Object[]{BaseFieldDataPersist._fieldType}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void setFieldType(FieldType fieldType) {
|
|
||||||
this.fieldType = fieldType;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class BooleanDecisionDataPersist extends BaseFieldDataPersist {
|
public class BooleanDecisionDataPersist extends BaseFieldDataPersist {
|
||||||
|
|
||||||
|
@Component(BooleanDecisionPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class BooleanDecisionPersistValidator extends BaseFieldDataPersistValidator<BooleanDecisionDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.BooleanDecisionPersistValidator";
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected BooleanDecisionPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<BooleanDecisionDataPersist> modelClass() {
|
||||||
|
return BooleanDecisionDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(BooleanDecisionDataPersist item) {
|
||||||
|
return getBaseSpecifications(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,37 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class CheckBoxDataPersist extends BaseFieldDataPersist {
|
public class CheckBoxDataPersist extends BaseFieldDataPersist {
|
||||||
|
|
||||||
|
@Component(CheckBoxDataPersist.CheckBoxDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class CheckBoxDataPersistValidator extends BaseFieldDataPersistValidator<CheckBoxDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.CheckBoxDataPersistValidator";
|
||||||
|
|
||||||
|
protected CheckBoxDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<CheckBoxDataPersist> modelClass() {
|
||||||
|
return CheckBoxDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(CheckBoxDataPersist item) {
|
||||||
|
return getBaseSpecifications(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,53 +1,103 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class ComboBoxOptionPersist {
|
public class ComboBoxOptionPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String label = null;
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String value = null;
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String source = null;
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String uri = null;
|
|
||||||
|
|
||||||
public String getLabel() {
|
private String label = null;
|
||||||
return label;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLabel(String label) {
|
public static final String _label = "label";
|
||||||
this.label = label;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getValue() {
|
private String value = null;
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setValue(String value) {
|
public static final String _value = "value";
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSource() {
|
private String source = null;
|
||||||
return source;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSource(String source) {
|
public static final String _source = "source";
|
||||||
this.source = source;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUri() {
|
private String uri = null;
|
||||||
return uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUri(String uri) {
|
public static final String _uri = "uri";
|
||||||
this.uri = uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLabel(String label) {
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSource() {
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSource(String source) {
|
||||||
|
this.source = source;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUri() {
|
||||||
|
return uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUri(String uri) {
|
||||||
|
this.uri = uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(ComboBoxOptionPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class ComboBoxOptionPersistValidator extends BaseValidator<ComboBoxOptionPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.ComboBoxOptionPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected ComboBoxOptionPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<ComboBoxOptionPersist> modelClass() {
|
||||||
|
return ComboBoxOptionPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(ComboBoxOptionPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getLabel()))
|
||||||
|
.failOn(ComboBoxOptionPersist._label).failWith(messageSource.getMessage("Validation_Required", new Object[]{ComboBoxOptionPersist._label}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getValue()))
|
||||||
|
.failOn(ComboBoxOptionPersist._value).failWith(messageSource.getMessage("Validation_Required", new Object[]{ComboBoxOptionPersist._value}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getSource()))
|
||||||
|
.failOn(ComboBoxOptionPersist._source).failWith(messageSource.getMessage("Validation_Required", new Object[]{ComboBoxOptionPersist._source}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getUri()))
|
||||||
|
.failOn(ComboBoxOptionPersist._uri).failWith(messageSource.getMessage("Validation_Required", new Object[]{ComboBoxOptionPersist._uri}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,55 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class DatasetAutoCompleteDataPersist extends BaseFieldDataPersist {
|
public class DatasetAutoCompleteDataPersist extends BaseFieldDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
private Boolean multiAutoComplete = null;
|
|
||||||
|
|
||||||
public Boolean getMultiAutoComplete() {
|
private Boolean multiAutoComplete = null;
|
||||||
return multiAutoComplete;
|
|
||||||
}
|
public static final String _multiAutoComplete = "multiAutoComplete";
|
||||||
public void setMultiAutoComplete(Boolean multiAutoComplete) {
|
|
||||||
this.multiAutoComplete = multiAutoComplete;
|
public Boolean getMultiAutoComplete() {
|
||||||
}
|
return multiAutoComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMultiAutoComplete(Boolean multiAutoComplete) {
|
||||||
|
this.multiAutoComplete = multiAutoComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(DatasetAutoCompleteDataPersist.DatasetAutoCompleteDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class DatasetAutoCompleteDataPersistValidator extends BaseFieldDataPersistValidator<DatasetAutoCompleteDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.DatasetAutoCompleteDataPersistValidator";
|
||||||
|
|
||||||
|
protected DatasetAutoCompleteDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<DatasetAutoCompleteDataPersist> modelClass() {
|
||||||
|
return DatasetAutoCompleteDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(DatasetAutoCompleteDataPersist item) {
|
||||||
|
List<Specification> specifications = getBaseSpecifications(item);
|
||||||
|
specifications.add(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiAutoComplete()))
|
||||||
|
.failOn(DatasetAutoCompleteDataPersist._multiAutoComplete).failWith(messageSource.getMessage("Validation_Required", new Object[]{DatasetAutoCompleteDataPersist._multiAutoComplete}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
return specifications;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,40 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class DatePickerDataPersist extends BaseFieldDataPersist {
|
public class DatePickerDataPersist extends BaseFieldDataPersist {
|
||||||
|
|
||||||
|
@Component(DatePickerDataPersist.DatePickerDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class DatePickerDataPersistValidator extends BaseFieldDataPersistValidator<DatePickerDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.DatePickerDataPersistValidator";
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected DatePickerDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<DatePickerDataPersist> modelClass() {
|
||||||
|
return DatePickerDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(DatePickerDataPersist item) {
|
||||||
|
return getBaseSpecifications(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,55 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class DmpAutoCompleteDataPersist extends BaseFieldDataPersist {
|
public class DmpAutoCompleteDataPersist extends BaseFieldDataPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
private Boolean multiAutoComplete = null;
|
||||||
private Boolean multiAutoComplete = null;
|
|
||||||
|
public static final String _multiAutoComplete = "multiAutoComplete";
|
||||||
|
|
||||||
|
public Boolean getMultiAutoComplete() {
|
||||||
|
return multiAutoComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMultiAutoComplete(Boolean multiAutoComplete) {
|
||||||
|
this.multiAutoComplete = multiAutoComplete;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(DmpAutoCompleteDataPersist.DmpAutoCompleteDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class DmpAutoCompleteDataPersistValidator extends BaseFieldDataPersistValidator<DmpAutoCompleteDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.DmpAutoCompleteDataPersistValidator";
|
||||||
|
|
||||||
|
protected DmpAutoCompleteDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<DmpAutoCompleteDataPersist> modelClass() {
|
||||||
|
return DmpAutoCompleteDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(DmpAutoCompleteDataPersist item) {
|
||||||
|
List<Specification> specifications = getBaseSpecifications(item);
|
||||||
|
specifications.add(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiAutoComplete()))
|
||||||
|
.failOn(DmpAutoCompleteDataPersist._multiAutoComplete).failWith(messageSource.getMessage("Validation_Required", new Object[]{DmpAutoCompleteDataPersist._multiAutoComplete}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
return specifications;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Boolean getMultiAutoComplete() {
|
|
||||||
return multiAutoComplete;
|
|
||||||
}
|
|
||||||
public void setMultiAutoComplete(Boolean multiAutoComplete) {
|
|
||||||
this.multiAutoComplete = multiAutoComplete;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,28 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
|
|
||||||
import eu.eudat.commons.enums.FieldDataExternalDatasetType;
|
import eu.eudat.commons.enums.FieldDataExternalDatasetType;
|
||||||
import eu.eudat.commons.validation.old.ValidEnum;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class ExternalDatasetDataPersist extends BaseFieldDataPersist {
|
public class ExternalDatasetDataPersist extends BaseFieldDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
private Boolean multiAutoComplete = null;
|
private Boolean multiAutoComplete = null;
|
||||||
@ValidEnum(message = "{validation.empty}")
|
|
||||||
|
public static final String _multiAutoComplete = "multiAutoComplete";
|
||||||
|
|
||||||
private FieldDataExternalDatasetType type;
|
private FieldDataExternalDatasetType type;
|
||||||
|
|
||||||
|
public static final String _type = "type";
|
||||||
|
|
||||||
public Boolean getMultiAutoComplete() {
|
public Boolean getMultiAutoComplete() {
|
||||||
return multiAutoComplete;
|
return multiAutoComplete;
|
||||||
}
|
}
|
||||||
|
@ -26,4 +38,36 @@ public class ExternalDatasetDataPersist extends BaseFieldDataPersist {
|
||||||
public void setType(FieldDataExternalDatasetType type) {
|
public void setType(FieldDataExternalDatasetType type) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(ExternalDatasetDataPersist.ExternalDatasetDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class ExternalDatasetDataPersistValidator extends BaseFieldDataPersistValidator<ExternalDatasetDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.ExternalDatasetDataPersistValidator";
|
||||||
|
|
||||||
|
protected ExternalDatasetDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<ExternalDatasetDataPersist> modelClass() {
|
||||||
|
return ExternalDatasetDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(ExternalDatasetDataPersist item) {
|
||||||
|
List<Specification> specifications = getBaseSpecifications(item);
|
||||||
|
specifications.addAll(Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiAutoComplete()))
|
||||||
|
.failOn(ExternalDatasetDataPersist._multiAutoComplete).failWith(messageSource.getMessage("Validation_Required", new Object[]{ExternalDatasetDataPersist._multiAutoComplete}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getType()))
|
||||||
|
.failOn(ExternalDatasetDataPersist._type).failWith(messageSource.getMessage("Validation_Required", new Object[]{ExternalDatasetDataPersist._type}, LocaleContextHolder.getLocale()))
|
||||||
|
|
||||||
|
));
|
||||||
|
return specifications;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,36 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class FreeTextDataPersist extends BaseFieldDataPersist {
|
public class FreeTextDataPersist extends BaseFieldDataPersist {
|
||||||
|
|
||||||
|
@Component(FreeTextDataPersist.FreeTextDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class FreeTextDataPersistValidator extends BaseFieldDataPersistValidator<FreeTextDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.FreeTextDataPersistValidator";
|
||||||
|
|
||||||
|
protected FreeTextDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<FreeTextDataPersist> modelClass() {
|
||||||
|
return FreeTextDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(FreeTextDataPersist item) {
|
||||||
|
return getBaseSpecifications(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,22 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class LicenseDataPersist extends BaseFieldDataPersist {
|
public class LicenseDataPersist extends BaseFieldDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
private Boolean multiAutoComplete = null;
|
private Boolean multiAutoComplete = null;
|
||||||
|
|
||||||
|
public static final String _multiAutoComplete = "multiAutoComplete";
|
||||||
|
|
||||||
public Boolean getMultiAutoComplete() {
|
public Boolean getMultiAutoComplete() {
|
||||||
return multiAutoComplete;
|
return multiAutoComplete;
|
||||||
}
|
}
|
||||||
|
@ -14,4 +25,31 @@ public class LicenseDataPersist extends BaseFieldDataPersist {
|
||||||
this.multiAutoComplete = multiAutoComplete;
|
this.multiAutoComplete = multiAutoComplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(LicenseDataPersist.LicenseDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class LicenseDataPersistValidator extends BaseFieldDataPersistValidator<LicenseDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.LicenseDataPersistValidator";
|
||||||
|
|
||||||
|
protected LicenseDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<LicenseDataPersist> modelClass() {
|
||||||
|
return LicenseDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(LicenseDataPersist item) {
|
||||||
|
List<Specification> specifications = getBaseSpecifications(item);
|
||||||
|
specifications.add(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiAutoComplete()))
|
||||||
|
.failOn(LicenseDataPersist._multiAutoComplete).failWith(messageSource.getMessage("Validation_Required", new Object[]{LicenseDataPersist._multiAutoComplete}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
return specifications;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,22 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class OrganizationDataPersist extends BaseFieldDataPersist {
|
public class OrganizationDataPersist extends BaseFieldDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
private Boolean multiAutoComplete = null;
|
private Boolean multiAutoComplete = null;
|
||||||
|
|
||||||
|
public static final String _multiAutoComplete = "multiAutoComplete";
|
||||||
|
|
||||||
public Boolean getMultiAutoComplete() {
|
public Boolean getMultiAutoComplete() {
|
||||||
return multiAutoComplete;
|
return multiAutoComplete;
|
||||||
}
|
}
|
||||||
|
@ -14,4 +25,31 @@ public class OrganizationDataPersist extends BaseFieldDataPersist {
|
||||||
this.multiAutoComplete = multiAutoComplete;
|
this.multiAutoComplete = multiAutoComplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(OrganizationDataPersist.OrganizationDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class OrganizationDataPersistValidator extends BaseFieldDataPersistValidator<OrganizationDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.OrganizationDataPersistValidator";
|
||||||
|
|
||||||
|
protected OrganizationDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<OrganizationDataPersist> modelClass() {
|
||||||
|
return OrganizationDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(OrganizationDataPersist item) {
|
||||||
|
List<Specification> specifications = getBaseSpecifications(item);
|
||||||
|
specifications.add(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiAutoComplete()))
|
||||||
|
.failOn(OrganizationDataPersist._multiAutoComplete).failWith(messageSource.getMessage("Validation_Required", new Object[]{OrganizationDataPersist._multiAutoComplete}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
return specifications;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,22 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import java.util.List;
|
||||||
|
|
||||||
public class PublicationDataPersist extends BaseFieldDataPersist {
|
public class PublicationDataPersist extends BaseFieldDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
private Boolean multiAutoComplete;
|
private Boolean multiAutoComplete;
|
||||||
|
|
||||||
|
public static final String _multiAutoComplete = "multiAutoComplete";
|
||||||
|
|
||||||
public Boolean getMultiAutoComplete() {
|
public Boolean getMultiAutoComplete() {
|
||||||
return multiAutoComplete;
|
return multiAutoComplete;
|
||||||
}
|
}
|
||||||
|
@ -15,4 +25,31 @@ public class PublicationDataPersist extends BaseFieldDataPersist {
|
||||||
this.multiAutoComplete = multiAutoComplete;
|
this.multiAutoComplete = multiAutoComplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(PublicationDataPersist.PublicationDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class PublicationDataPersistValidator extends BaseFieldDataPersistValidator<PublicationDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.PublicationDataPersistValidator";
|
||||||
|
|
||||||
|
protected PublicationDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<PublicationDataPersist> modelClass() {
|
||||||
|
return PublicationDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(PublicationDataPersist item) {
|
||||||
|
List<Specification> specifications = getBaseSpecifications(item);
|
||||||
|
specifications.add(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getMultiAutoComplete()))
|
||||||
|
.failOn(PublicationDataPersist._multiAutoComplete).failWith(messageSource.getMessage("Validation_Required", new Object[]{PublicationDataPersist._multiAutoComplete}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
return specifications;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,24 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import java.util.Arrays;
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class RadioBoxDataPersist extends BaseFieldDataPersist {
|
public class RadioBoxDataPersist extends BaseFieldDataPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@Valid
|
|
||||||
private List<RadioBoxOptionPersist> options = null;
|
private List<RadioBoxOptionPersist> options = null;
|
||||||
|
|
||||||
|
public static final String _options = "options";
|
||||||
|
|
||||||
public List<RadioBoxOptionPersist> getOptions() {
|
public List<RadioBoxOptionPersist> getOptions() {
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
@ -18,4 +26,38 @@ public class RadioBoxDataPersist extends BaseFieldDataPersist {
|
||||||
public void setOptions(List<RadioBoxOptionPersist> options) {
|
public void setOptions(List<RadioBoxOptionPersist> options) {
|
||||||
this.options = options;
|
this.options = options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(RadioBoxDataPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class RadioBoxDataPersistValidator extends BaseFieldDataPersistValidator<RadioBoxDataPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.RadioBoxDataPersistValidator";
|
||||||
|
|
||||||
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
|
protected RadioBoxDataPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
|
super(conventionService, errors, messageSource);
|
||||||
|
this.validatorFactory = validatorFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<RadioBoxDataPersist> modelClass() {
|
||||||
|
return RadioBoxDataPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(RadioBoxDataPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getOptions()))
|
||||||
|
.failOn(RadioBoxDataPersist._options).failWith(messageSource.getMessage("Validation_Required", new Object[]{RadioBoxDataPersist._options}, LocaleContextHolder.getLocale())),
|
||||||
|
this.navSpec()
|
||||||
|
.iff(() -> !this.isNull(item.getOptions()))
|
||||||
|
.on(RadioBoxDataPersist._options)
|
||||||
|
.over(item.getOptions())
|
||||||
|
.using(() -> this.validatorFactory.validator(RadioBoxOptionPersist.RadioBoxOptionPersistValidator.class))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,73 @@
|
||||||
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
package eu.eudat.model.persist.descriptiontemplatedefinition.fielddata;
|
||||||
|
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class RadioBoxOptionPersist {
|
public class RadioBoxOptionPersist {
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String label = null;
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String value = null;
|
|
||||||
|
|
||||||
public String getLabel() {
|
private String label = null;
|
||||||
return label;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLabel(String label) {
|
public static final String _label = "label";
|
||||||
this.label = label;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getValue() {
|
private String value = null;
|
||||||
return value;
|
|
||||||
}
|
public static final String _value = "value";
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLabel(String label) {
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(RadioBoxOptionPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class RadioBoxOptionPersistValidator extends BaseValidator<RadioBoxOptionPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "DescriptionTemplate.RadioBoxOptionPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected RadioBoxOptionPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<RadioBoxOptionPersist> modelClass() {
|
||||||
|
return RadioBoxOptionPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(RadioBoxOptionPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getLabel()))
|
||||||
|
.failOn(RadioBoxOptionPersist._label).failWith(messageSource.getMessage("Validation_Required", new Object[]{RadioBoxOptionPersist._label}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getValue()))
|
||||||
|
.failOn(RadioBoxOptionPersist._value).failWith(messageSource.getMessage("Validation_Required", new Object[]{RadioBoxOptionPersist._value}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setValue(String value) {
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import eu.eudat.commons.validation.ValidatorFactory;
|
||||||
import eu.eudat.commons.validation.specification.Specification;
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
import eu.eudat.convention.ConventionService;
|
import eu.eudat.convention.ConventionService;
|
||||||
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
import eu.eudat.model.persist.descriptionproperties.PropertyDefinitionPersist;
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
@ -19,54 +18,54 @@ import java.util.List;
|
||||||
|
|
||||||
public class DefinitionPersist {
|
public class DefinitionPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
@NotNull(message = "{validation.empty}")
|
||||||
@Valid
|
@Valid
|
||||||
private List<FieldPersist> fields = null;
|
private List<FieldPersist> fields = null;
|
||||||
|
|
||||||
public static final String _fields = "fields";
|
public static final String _fields = "fields";
|
||||||
|
|
||||||
public List<FieldPersist> getFields() {
|
public List<FieldPersist> getFields() {
|
||||||
return fields;
|
return fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFields(List<FieldPersist> fields) {
|
public void setFields(List<FieldPersist> fields) {
|
||||||
this.fields = fields;
|
this.fields = fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Component(DefinitionPersistValidator.ValidatorName)
|
@Component(DefinitionPersistValidator.ValidatorName)
|
||||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
public static class DefinitionPersistValidator extends BaseValidator<DefinitionPersist> {
|
public static class DefinitionPersistValidator extends BaseValidator<DefinitionPersist> {
|
||||||
|
|
||||||
public static final String ValidatorName = "Reference.DefinitionPersistValidator";
|
public static final String ValidatorName = "Reference.DefinitionPersistValidator";
|
||||||
|
|
||||||
private final MessageSource messageSource;
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
private final ValidatorFactory validatorFactory;
|
private final ValidatorFactory validatorFactory;
|
||||||
|
|
||||||
protected DefinitionPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
protected DefinitionPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) {
|
||||||
super(conventionService, errors);
|
super(conventionService, errors);
|
||||||
this.messageSource = messageSource;
|
this.messageSource = messageSource;
|
||||||
this.validatorFactory = validatorFactory;
|
this.validatorFactory = validatorFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Class<DefinitionPersist> modelClass() {
|
protected Class<DefinitionPersist> modelClass() {
|
||||||
return DefinitionPersist.class;
|
return DefinitionPersist.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<Specification> specifications(DefinitionPersist item) {
|
protected List<Specification> specifications(DefinitionPersist item) {
|
||||||
return Arrays.asList(
|
return Arrays.asList(
|
||||||
this.spec()
|
this.spec()
|
||||||
.must(() -> !this.isNull(item.getFields()))
|
.must(() -> !this.isNull(item.getFields()))
|
||||||
.failOn(DefinitionPersist._fields).failWith(messageSource.getMessage("Validation_Required", new Object[]{DefinitionPersist._fields}, LocaleContextHolder.getLocale())),
|
.failOn(DefinitionPersist._fields).failWith(messageSource.getMessage("Validation_Required", new Object[]{DefinitionPersist._fields}, LocaleContextHolder.getLocale())),
|
||||||
this.navSpec()
|
this.navSpec()
|
||||||
.iff(() -> !this.isNull(item.getFields()))
|
.iff(() -> !this.isNull(item.getFields()))
|
||||||
.on(DefinitionPersist._fields)
|
.on(DefinitionPersist._fields)
|
||||||
.over(item.getFields())
|
.over(item.getFields())
|
||||||
.using(() -> null) //TODO
|
.using(() -> this.validatorFactory.validator(FieldPersist.FieldPersistValidator.class))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,38 @@
|
||||||
package eu.eudat.model.persist.referencedefinition;
|
package eu.eudat.model.persist.referencedefinition;
|
||||||
|
|
||||||
import eu.eudat.commons.enums.ReferenceFieldDataType;
|
import eu.eudat.commons.enums.ReferenceFieldDataType;
|
||||||
|
import eu.eudat.commons.validation.BaseValidator;
|
||||||
import eu.eudat.commons.validation.old.ValidEnum;
|
import eu.eudat.commons.validation.old.ValidEnum;
|
||||||
|
|
||||||
|
import eu.eudat.commons.validation.specification.Specification;
|
||||||
|
import eu.eudat.convention.ConventionService;
|
||||||
|
import eu.eudat.errorcode.ErrorThesaurusProperties;
|
||||||
|
import eu.eudat.model.persist.DescriptionTemplateTypePersist;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
import org.springframework.context.annotation.Scope;
|
||||||
|
import org.springframework.context.i18n.LocaleContextHolder;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class FieldPersist {
|
public class FieldPersist {
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String code = null;
|
private String code = null;
|
||||||
|
|
||||||
@ValidEnum(message = "{validation.empty}")
|
public static final String _code = "code";
|
||||||
|
|
||||||
private ReferenceFieldDataType dataType;
|
private ReferenceFieldDataType dataType;
|
||||||
|
|
||||||
@NotNull(message = "{validation.empty}")
|
public static final String _dataType = "dataType";
|
||||||
@NotEmpty(message = "{validation.empty}")
|
|
||||||
private String value = null;
|
private String value = null;
|
||||||
|
|
||||||
|
public static final String _value = "value";
|
||||||
|
|
||||||
public String getCode() {
|
public String getCode() {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -42,6 +56,41 @@ public class FieldPersist {
|
||||||
public void setValue(String value) {
|
public void setValue(String value) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Component(FieldPersistValidator.ValidatorName)
|
||||||
|
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||||
|
public static class FieldPersistValidator extends BaseValidator<FieldPersist> {
|
||||||
|
|
||||||
|
public static final String ValidatorName = "Reference.FieldPersistValidator";
|
||||||
|
|
||||||
|
private final MessageSource messageSource;
|
||||||
|
|
||||||
|
protected FieldPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource) {
|
||||||
|
super(conventionService, errors);
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<FieldPersist> modelClass() {
|
||||||
|
return FieldPersist.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected List<Specification> specifications(FieldPersist item) {
|
||||||
|
return Arrays.asList(
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getCode()))
|
||||||
|
.failOn(FieldPersist._code).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldPersist._code}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isNull(item.getDataType()))
|
||||||
|
.failOn(FieldPersist._dataType).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldPersist._dataType}, LocaleContextHolder.getLocale())),
|
||||||
|
this.spec()
|
||||||
|
.must(() -> !this.isEmpty(item.getValue()))
|
||||||
|
.failOn(FieldPersist._value).failWith(messageSource.getMessage("Validation_Required", new Object[]{FieldPersist._value}, LocaleContextHolder.getLocale()))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -169,6 +169,7 @@ public class DescriptionController {
|
||||||
|
|
||||||
@PostMapping("persist-status")
|
@PostMapping("persist-status")
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@ValidationFilterAnnotation(validator = DescriptionStatusPersist.DescriptionStatusPersistValidator.ValidatorName, argumentName = "model")
|
||||||
public Description persistStatus(@MyValidate @RequestBody DescriptionStatusPersist model, FieldSet fieldSet) throws MyApplicationException, MyForbiddenException, MyNotFoundException {
|
public Description persistStatus(@MyValidate @RequestBody DescriptionStatusPersist model, FieldSet fieldSet) throws MyApplicationException, MyForbiddenException, MyNotFoundException {
|
||||||
logger.debug(new MapLogEntry("persisting" + Description.class.getSimpleName()).And("model", model).And("fieldSet", fieldSet));
|
logger.debug(new MapLogEntry("persisting" + Description.class.getSimpleName()).And("model", model).And("fieldSet", fieldSet));
|
||||||
Description persisted = this.descriptionService.persistStatus(model, fieldSet);
|
Description persisted = this.descriptionService.persistStatus(model, fieldSet);
|
||||||
|
|
Loading…
Reference in New Issue