package eu.eudat.service.fielddatahelper; import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.commons.enums.FieldType; import eu.eudat.commons.types.descriptiontemplate.fielddata.BaseFieldDataEntity; import eu.eudat.commons.types.descriptiontemplate.fielddata.DataRepositoryDataEntity; import eu.eudat.commons.types.descriptiontemplate.fielddata.ValidationDataEntity; import eu.eudat.model.builder.descriptiontemplatedefinition.fielddata.ValidationDataBuilder; import eu.eudat.model.descriptiontemplatedefinition.fielddata.BaseFieldData; import eu.eudat.model.descriptiontemplatedefinition.fielddata.ValidationData; import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.BaseFieldDataPersist; import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.DataRepositoryDataPersist; import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.ValidationDataPersist; import gr.cite.tools.data.builder.BuilderFactory; import gr.cite.tools.fieldset.FieldSet; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import java.util.EnumSet; import java.util.List; @Component public class ValidationFieldDataHelperService extends BaseFieldDataHelperService { private final BuilderFactory builderFactory; public ValidationFieldDataHelperService(BuilderFactory builderFactory) { this.builderFactory = builderFactory; } @Override public FieldType getFormType() { return FieldType.LICENSES; } @Override public ValidationDataEntity newDataInstanceInternal() { return new ValidationDataEntity(); } @Override public ValidationData newModelInstanceInternal() { return new ValidationData(); } @Override public ValidationDataPersist newPersistModelInstanceInternal() { return new ValidationDataPersist(); } @Override public Class getDataClass() { return ValidationDataEntity.class; } @Override public Class getModelClass() { return ValidationData.class; } @Override public Class getPersistModelClass() { return ValidationDataPersist.class; } @Override public List buildInternal(FieldSet fieldSet, List datas, EnumSet authorizationFlags){ return this.builderFactory.builder(ValidationDataBuilder.class).authorize(authorizationFlags).build(fieldSet, datas); } @Override protected ValidationDataEntity applyPersistInternal(ValidationDataPersist persist, ValidationDataEntity data) { return data; } @Override protected ValidationDataPersist mapDataToPersist(ValidationDataEntity data, ValidationDataPersist persist) { return persist; } }