package eu.eudat.models.user.components.datasetprofile; import java.util.Collections; import java.util.List; import java.util.Map; import eu.eudat.entities.xmlmodels.viewstyledefinition.FieldGroup; import eu.eudat.models.user.composite.PropertiesModelBuilder; import eu.eudat.utilities.ModelDefinition; import eu.eudat.utilities.ViewStyleDefinition; import eu.eudat.utilities.builders.ModelBuilder; public class Group implements PropertiesModelBuilder,ModelDefinition, ViewStyleDefinition{ private String id; private String title; private String section; private String value; private int ordinal; private String description; private String extendedDescription; private boolean defaultVisibility; private int page; private List
compositeFields; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getSection() { return section; } public void setSection(String section) { this.section = section; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getExtendedDescription() { return extendedDescription; } public void setExtendedDescription(String extendedDescription) { this.extendedDescription = extendedDescription; } public boolean getDefaultVisibility() { return defaultVisibility; } public void setDefaultVisibility(boolean defaultVisibility) { this.defaultVisibility = defaultVisibility; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public List
getCompositeFields() { Collections.sort(this.compositeFields); return compositeFields; } public void setCompositeFields(List
compositeFields) { this.compositeFields = compositeFields; } public int getOrdinal() { return ordinal; } public void setOrdinal(int ordinal) { this.ordinal = ordinal; } @Override public eu.eudat.entities.xmlmodels.viewstyledefinition.FieldGroup toDatabaseDefinition(FieldGroup item) { item.setDefaultVisibility(this.defaultVisibility); item.setDescription(this.description); item.setExtendedDescription(this.extendedDescription); item.setFieldSets(new ModelBuilder().toViewStyleDefinition(this.compositeFields, eu.eudat.entities.xmlmodels.viewstyledefinition.FieldSet.class)); item.setId(this.id); item.setOrdinal(this.ordinal); item.setPage(this.page); item.setTitle(this.title); return item; } @Override public void fromDatabaseDefinition(FieldGroup item) { this.defaultVisibility = item.isDefaultVisibility(); this.description = item.getDescription(); this.extendedDescription = item.getExtendedDescription(); this.compositeFields = new ModelBuilder().fromViewStyleDefinition(item.getFieldSets(), FieldSet.class); this.id = item.getId(); this.ordinal = item.getOrdinal(); this.page = item.getPage(); this.title = item.getTitle(); } @Override public eu.eudat.entities.xmlmodels.modeldefinition.FieldGroup toDatabaseDefinition(eu.eudat.entities.xmlmodels.modeldefinition.FieldGroup item) { item.setFieldSets(new ModelBuilder().toModelDefinition(this.compositeFields, eu.eudat.entities.xmlmodels.modeldefinition.FieldSet.class)); return item; } @Override public void fromDatabaseDefinition(eu.eudat.entities.xmlmodels.modeldefinition.FieldGroup item) { // TODO Auto-generated method stub } @Override public void fromJsonObject(Map properties) { this.compositeFields.forEach(item->item.fromJsonObject(properties)); } @Override public void fromJsonObject(Map properties, String index) { // TODO Auto-generated method stub } }