113 lines
4.3 KiB
Java
113 lines
4.3 KiB
Java
package eu.eudat.commons.types.descriptiontemplate.importmodel;
|
|
|
|
|
|
import eu.eudat.commons.enums.DescriptionTemplateStatus;
|
|
|
|
import eu.eudat.model.persist.DescriptionTemplatePersist;
|
|
import eu.eudat.model.persist.NewVersionDescriptionTemplatePersist;
|
|
import eu.eudat.model.persist.descriptiontemplatedefinition.DefinitionPersist;
|
|
import eu.eudat.model.persist.descriptiontemplatedefinition.PagePersist;
|
|
import eu.eudat.model.persist.descriptiontemplatedefinition.SectionPersist;
|
|
import eu.eudat.service.fielddatahelper.FieldDataHelperServiceProvider;
|
|
import jakarta.xml.bind.annotation.XmlAttribute;
|
|
import jakarta.xml.bind.annotation.XmlElement;
|
|
import jakarta.xml.bind.annotation.XmlRootElement;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
@XmlRootElement(name = "pages")
|
|
public class DescriptionTemplateImportXml {
|
|
|
|
private String description;
|
|
private String language;
|
|
private String type;
|
|
|
|
private List<PageImportXml> page;
|
|
|
|
@XmlElement(name = "page")
|
|
public List<PageImportXml> getPage() {
|
|
return page;
|
|
}
|
|
|
|
public void setPage(List<PageImportXml> page) {
|
|
this.page = page;
|
|
}
|
|
|
|
@XmlAttribute(name = "description")
|
|
public String getDescription() {
|
|
return description;
|
|
}
|
|
|
|
public void setDescription(String description) {
|
|
this.description = description;
|
|
}
|
|
|
|
@XmlAttribute(name = "language")
|
|
public String getLanguage() {
|
|
return language;
|
|
}
|
|
|
|
public void setLanguage(String language) {
|
|
this.language = language;
|
|
}
|
|
|
|
@XmlAttribute(name = "type")
|
|
public String getType() {
|
|
return type;
|
|
}
|
|
|
|
public void setType(String type) {
|
|
this.type = type;
|
|
}
|
|
|
|
public DescriptionTemplatePersist toPersistModel(String label, FieldDataHelperServiceProvider fieldDataHelperServiceProvider){
|
|
DescriptionTemplatePersist newDatasetEntityProfile = new DescriptionTemplatePersist();
|
|
newDatasetEntityProfile.setLabel(label);
|
|
newDatasetEntityProfile.setStatus(DescriptionTemplateStatus.Draft);
|
|
newDatasetEntityProfile.setDescription(description);
|
|
newDatasetEntityProfile.setLanguage(language);
|
|
newDatasetEntityProfile.setType(UUID.fromString(type));
|
|
DefinitionPersist definitionPersist = new DefinitionPersist();
|
|
|
|
List<PagePersist> pagesDatasetEntity = new LinkedList<>();
|
|
List<SectionPersist> sectionDatasetEntity = new LinkedList<>();
|
|
for (PageImportXml xmlPage: page) {
|
|
pagesDatasetEntity.add(xmlPage.toPersistModel());
|
|
for (int i = 0; i < xmlPage.getSections().size(); i++) {
|
|
sectionDatasetEntity.add(xmlPage.toPersistModel(i, fieldDataHelperServiceProvider));
|
|
}
|
|
}
|
|
definitionPersist.setPages(pagesDatasetEntity);
|
|
definitionPersist.setSections(sectionDatasetEntity);
|
|
newDatasetEntityProfile.setDefinition(definitionPersist);
|
|
|
|
return newDatasetEntityProfile;
|
|
}
|
|
|
|
public NewVersionDescriptionTemplatePersist toNewVersionPersistModel(UUID id, String label, FieldDataHelperServiceProvider fieldDataHelperServiceProvider){
|
|
NewVersionDescriptionTemplatePersist newDatasetEntityProfile = new NewVersionDescriptionTemplatePersist();
|
|
newDatasetEntityProfile.setId(id);
|
|
newDatasetEntityProfile.setLabel(label);
|
|
newDatasetEntityProfile.setStatus(DescriptionTemplateStatus.Draft);
|
|
newDatasetEntityProfile.setDescription(description);
|
|
newDatasetEntityProfile.setLanguage(language);
|
|
newDatasetEntityProfile.setType(UUID.fromString(type));
|
|
DefinitionPersist definitionPersist = new DefinitionPersist();
|
|
|
|
List<PagePersist> pagesDatasetEntity = new LinkedList<>();
|
|
List<SectionPersist> sectionDatasetEntity = new LinkedList<>();
|
|
for (PageImportXml xmlPage: page) {
|
|
pagesDatasetEntity.add(xmlPage.toPersistModel());
|
|
for (int i = 0; i < xmlPage.getSections().size(); i++) {
|
|
sectionDatasetEntity.add(xmlPage.toPersistModel(i, fieldDataHelperServiceProvider));
|
|
}
|
|
}
|
|
definitionPersist.setPages(pagesDatasetEntity);
|
|
definitionPersist.setSections(sectionDatasetEntity);
|
|
newDatasetEntityProfile.setDefinition(definitionPersist);
|
|
|
|
return newDatasetEntityProfile;
|
|
}
|
|
}
|