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.TextAreaDataEntity; import eu.eudat.model.builder.descriptiontemplatedefinition.fielddata.TextAreaDataBuilder; import eu.eudat.model.descriptiontemplatedefinition.fielddata.BaseFieldData; import eu.eudat.model.descriptiontemplatedefinition.fielddata.TextAreaData; import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.BaseFieldDataPersist; import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.DataRepositoryDataPersist; import eu.eudat.model.persist.descriptiontemplatedefinition.fielddata.TextAreaDataPersist; 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 TextAreaFieldDataHelperService extends BaseFieldDataHelperService { private final BuilderFactory builderFactory; public TextAreaFieldDataHelperService(BuilderFactory builderFactory) { this.builderFactory = builderFactory; } @Override public FieldType getFormType() { return FieldType.TEXT_AREA; } @Override public TextAreaDataEntity newDataInstanceInternal() { return new TextAreaDataEntity(); } @Override public TextAreaData newModelInstanceInternal() { return new TextAreaData(); } @Override public TextAreaDataPersist newPersistModelInstanceInternal() { return new TextAreaDataPersist(); } @Override public Class getDataClass() { return TextAreaDataEntity.class; } @Override public Class getModelClass() { return TextAreaData.class; } @Override public Class getPersistModelClass() { return TextAreaDataPersist.class; } @Override public List buildInternal(FieldSet fieldSet, List datas, EnumSet authorizationFlags){ return this.builderFactory.builder(TextAreaDataBuilder.class).authorize(authorizationFlags).build(fieldSet, datas); } @Override protected TextAreaDataEntity applyPersistInternal(TextAreaDataPersist persist, TextAreaDataEntity data) { return data; } @Override protected TextAreaDataPersist mapDataToPersist(TextAreaDataEntity data, TextAreaDataPersist persist) { return persist; } }