38 lines
1.5 KiB
Java
38 lines
1.5 KiB
Java
package org.opencdmp.model.builder.commonmodels.dmpblueprint;
|
|
|
|
import org.opencdmp.commonmodels.enums.DmpBlueprintExtraFieldDataType;
|
|
import org.opencdmp.commonmodels.models.dmpblueprint.ExtraFieldModel;
|
|
import org.opencdmp.commons.types.dmpblueprint.ExtraFieldEntity;
|
|
import org.opencdmp.convention.ConventionService;
|
|
import gr.cite.tools.exception.MyApplicationException;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
|
import org.springframework.context.annotation.Scope;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Component
|
|
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
|
public class ExtraFieldCommonModelBuilder extends FieldCommonModelBuilder<ExtraFieldModel, ExtraFieldEntity> {
|
|
|
|
@Autowired
|
|
public ExtraFieldCommonModelBuilder(
|
|
ConventionService conventionService) {
|
|
super(conventionService);
|
|
}
|
|
|
|
protected ExtraFieldModel getInstance() {
|
|
return new ExtraFieldModel();
|
|
}
|
|
|
|
protected ExtraFieldModel buildChild(ExtraFieldEntity data, ExtraFieldModel model) {
|
|
switch (data.getType()){
|
|
case Date -> model.setDataType(DmpBlueprintExtraFieldDataType.Date);
|
|
case Number -> model.setDataType(DmpBlueprintExtraFieldDataType.Number);
|
|
case RichTex -> model.setDataType(DmpBlueprintExtraFieldDataType.RichTex);
|
|
case Text -> model.setDataType(DmpBlueprintExtraFieldDataType.Text);
|
|
default -> throw new MyApplicationException("unrecognized type " + data.getType());
|
|
}
|
|
return model;
|
|
}
|
|
}
|