DescriptionTemplate refactor
This commit is contained in:
parent
a68ddd42ce
commit
57facf98e5
|
@ -31,4 +31,9 @@ public class AuditableAction {
|
|||
public static final EventId Dmp_Persist = new EventId(5002, "Dmp_Persist");
|
||||
public static final EventId Dmp_Delete = new EventId(5003, "Dmp_Delete");
|
||||
|
||||
public static final EventId DescriptionTemplate_Query = new EventId(6000, "DescriptionTemplate_Query");
|
||||
public static final EventId DescriptionTemplate_Lookup = new EventId(6001, "DescriptionTemplate_Lookup");
|
||||
public static final EventId DescriptionTemplate_Persist = new EventId(6002, "DescriptionTemplate_Persist");
|
||||
public static final EventId DescriptionTemplate_Delete = new EventId(6003, "DescriptionTemplate_Delete");
|
||||
|
||||
}
|
||||
|
|
|
@ -23,6 +23,11 @@ public final class Permission {
|
|||
public static String BrowseStatistics = "BrowseStatistics";
|
||||
public static String BrowsePublicStatistics = "BrowsePublicStatistics";
|
||||
|
||||
//DescriptionTemplate
|
||||
public static String BrowseDescriptionTemplate = "BrowseDescriptionTemplate";
|
||||
public static String EditDescriptionTemplate = "EditDescriptionTemplate";
|
||||
public static String DeleteDescriptionTemplate = "DeleteDescriptionTemplate";
|
||||
|
||||
//DescriptionTemplateType
|
||||
public static String BrowseDescriptionTemplateType = "BrowseDescriptionTemplateType";
|
||||
public static String EditDescriptionTemplateType = "EditDescriptionTemplateType";
|
||||
|
|
|
@ -32,22 +32,6 @@ import java.io.StringWriter;
|
|||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class XmlHandlingService {
|
||||
|
||||
public String xmlSerializableToXml(XmlSerializable<?> item) throws InvalidApplicationException, TransformerException, ParserConfigurationException {
|
||||
Document document = this.getDocument();
|
||||
if (document == null) throw new InvalidApplicationException("Can not create document");
|
||||
document.appendChild(item.toXml(document));
|
||||
return this.generateXml(document);
|
||||
}
|
||||
|
||||
public String xmlSerializableToXmlSafe(XmlSerializable<?> item) {
|
||||
if (item == null) return null;
|
||||
try {
|
||||
return this.xmlSerializableToXml(item);
|
||||
} catch (Exception ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String generateXml(Document doc) throws TransformerException {
|
||||
TransformerFactory tFact = TransformerFactory.newInstance();
|
||||
Transformer trans = tFact.newTransformer();
|
||||
|
@ -60,7 +44,14 @@ public class XmlHandlingService {
|
|||
return writer.toString();
|
||||
}
|
||||
|
||||
public String toXml(Object item) throws JsonProcessingException, JAXBException {
|
||||
public String toXml(Object item) throws JsonProcessingException, JAXBException, ParserConfigurationException, InvalidApplicationException, TransformerException {
|
||||
if (XmlSerializable.class.isAssignableFrom(item.getClass())){
|
||||
Document document = this.getDocument();
|
||||
if (document == null) throw new InvalidApplicationException("Can not create document");
|
||||
document.appendChild(((XmlSerializable)item).toXml(document));
|
||||
return this.generateXml(document);
|
||||
}
|
||||
|
||||
JAXBContext context = JAXBContext.newInstance(item.getClass());
|
||||
Marshaller marshaller = context.createMarshaller();
|
||||
StringWriter out = new StringWriter();
|
||||
|
@ -77,12 +68,17 @@ public class XmlHandlingService {
|
|||
}
|
||||
}
|
||||
|
||||
public <T> T fromXml(Class<T> type, String xmlString) throws JAXBException {
|
||||
public <T> T fromXml(Class<T> type, String xmlString) throws JAXBException, InstantiationException, IllegalAccessException, ParserConfigurationException, IOException, SAXException {
|
||||
if (XmlSerializable.class.isAssignableFrom(type)){
|
||||
XmlSerializable<T> object = (XmlSerializable<T>)type.newInstance();
|
||||
return (T) object.fromXml(this.getDocument(xmlString).getDocumentElement());
|
||||
} else {
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(type);
|
||||
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
|
||||
|
||||
return (T) jaxbUnmarshaller.unmarshal(new StringReader(xmlString));
|
||||
}
|
||||
}
|
||||
|
||||
public <T> T fromXmlSafe(Class<T> type, String xmlString) {
|
||||
if (xmlString == null) return null;
|
||||
|
@ -93,19 +89,19 @@ public class XmlHandlingService {
|
|||
}
|
||||
}
|
||||
|
||||
public <T extends XmlSerializable<T>> T xmlSerializableFromXml(Class<T> type, String xmlString) throws JAXBException, InstantiationException, IllegalAccessException, ParserConfigurationException, IOException, SAXException {
|
||||
T object = type.newInstance();
|
||||
return (T) object.fromXml(this.getDocument(xmlString).getDocumentElement());
|
||||
}
|
||||
|
||||
public <T extends XmlSerializable<T>> T xmlSerializableFromXmlSafe(Class<T> type, String xmlString) {
|
||||
if (xmlString == null) return null;
|
||||
try {
|
||||
return this.xmlSerializableFromXml(type, xmlString);
|
||||
} catch (Exception ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// public <T extends XmlSerializable<T>> T xmlSerializableFromXml(Class<T> type, String xmlString) throws JAXBException, InstantiationException, IllegalAccessException, ParserConfigurationException, IOException, SAXException {
|
||||
// T object = type.newInstance();
|
||||
// return (T) object.fromXml(this.getDocument(xmlString).getDocumentElement());
|
||||
// }
|
||||
//
|
||||
// public <T extends XmlSerializable<T>> T xmlSerializableFromXmlSafe(Class<T> type, String xmlString) {
|
||||
// if (xmlString == null) return null;
|
||||
// try {
|
||||
// return this.xmlSerializableFromXml(type, xmlString);
|
||||
// } catch (Exception ex) {
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
|
||||
public Document getDocument(String xml) throws ParserConfigurationException, IOException, SAXException {
|
||||
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import eu.eudat.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public enum DescriptionTemplateStatus implements DatabaseEnum<Short> {
|
||||
|
||||
Draft((short) 0),
|
||||
Finalized((short) 1);
|
||||
|
||||
private final Short value;
|
||||
|
||||
DescriptionTemplateStatus(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public Short getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, DescriptionTemplateStatus> map = EnumUtils.getEnumValueMap(DescriptionTemplateStatus.class);
|
||||
|
||||
public static DescriptionTemplateStatus of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package eu.eudat.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import eu.eudat.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public enum FieldDataComboBoxType implements DatabaseEnum<String> {
|
||||
Autocomplete("autocomplete"),
|
||||
Wordlist("wordlist");
|
||||
private final String value;
|
||||
|
||||
FieldDataComboBoxType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<String, FieldDataComboBoxType> map = EnumUtils.getEnumValueMap(FieldDataComboBoxType.class);
|
||||
|
||||
public static FieldDataComboBoxType of(String i) {
|
||||
return map.get(i);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package eu.eudat.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import eu.eudat.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public enum FieldDataExternalDatasetType implements DatabaseEnum<String> {
|
||||
ReusedDataset("reused_dataset"),
|
||||
ProducedDataset("produced_dataset"),
|
||||
Other("other");
|
||||
private final String value;
|
||||
|
||||
FieldDataExternalDatasetType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<String, FieldDataExternalDatasetType> map = EnumUtils.getEnumValueMap(FieldDataExternalDatasetType.class);
|
||||
|
||||
public static FieldDataExternalDatasetType of(String i) {
|
||||
return map.get(i);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package eu.eudat.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import eu.eudat.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public enum FieldDataInternalDmpEntryType implements DatabaseEnum<String> {
|
||||
Researchers("researchers"),
|
||||
Dmps("dmps"),
|
||||
Datasets("datasets");
|
||||
private final String value;
|
||||
|
||||
FieldDataInternalDmpEntryType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<String, FieldDataInternalDmpEntryType> map = EnumUtils.getEnumValueMap(FieldDataInternalDmpEntryType.class);
|
||||
|
||||
public static FieldDataInternalDmpEntryType of(String i) {
|
||||
return map.get(i);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package eu.eudat.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import eu.eudat.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public enum FieldType implements DatabaseEnum<String> {
|
||||
COMBO_BOX("combobox"),
|
||||
BOOLEAN_DECISION("booleanDecision"),
|
||||
RADIO_BOX("radiobox"),
|
||||
INTERNAL_DMP_ENTRIES("internalDmpEntities"),
|
||||
CHECK_BOX("checkBox"),
|
||||
FREE_TEXT("freetext"),
|
||||
TEXT_AREA("textarea"),
|
||||
RICH_TEXT_AREA("richTextarea"),
|
||||
UPLOAD("upload"),
|
||||
DATE_PICKER("datePicker"),
|
||||
EXTERNAL_DATASETS("externalDatasets"),
|
||||
DATA_REPOSITORIES("dataRepositories"),
|
||||
JOURNAL_REPOSITORIES("journalRepositories"),
|
||||
PUB_REPOSITORIES("pubRepositories"),
|
||||
LICENSES("licenses"),
|
||||
TAXONOMIES("taxonomies"),
|
||||
PUBLICATIONS("publications"),
|
||||
REGISTRIES("registries"),
|
||||
SERVICES("services"),
|
||||
TAGS("tags"),
|
||||
RESEARCHERS("researchers"),
|
||||
ORGANIZATIONS("organizations"),
|
||||
DATASET_IDENTIFIER("datasetIdentifier"),
|
||||
CURRENCY("currency"),
|
||||
VALIDATION("validation");;
|
||||
private final String value;
|
||||
|
||||
FieldType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<String, FieldType> map = EnumUtils.getEnumValueMap(FieldType.class);
|
||||
|
||||
public static FieldType of(String i) {
|
||||
return map.get(i);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package eu.eudat.commons.enums;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import eu.eudat.data.converters.enums.DatabaseEnum;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public enum FieldValidationType implements DatabaseEnum<Short> {
|
||||
|
||||
None((short) 0),
|
||||
Required((short) 1),
|
||||
Url((short) 2);
|
||||
|
||||
private final Short value;
|
||||
|
||||
FieldValidationType(Short value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public Short getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
private static final Map<Short, FieldValidationType> map = EnumUtils.getEnumValueMap(FieldValidationType.class);
|
||||
|
||||
public static FieldValidationType of(Short i) {
|
||||
return map.get(i);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package eu.eudat.commons.types.common;
|
||||
|
||||
|
||||
public interface DatabaseDefinition {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package eu.eudat.commons.types.common;
|
||||
|
||||
import eu.eudat.commons.types.common.DatabaseDefinition;
|
||||
|
||||
public interface DatabaseModelDefinition extends DatabaseDefinition {
|
||||
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package eu.eudat.commons.types.common;
|
||||
|
||||
import eu.eudat.commons.types.common.DatabaseDefinition;
|
||||
|
||||
public interface DatabaseViewStyleDefinition extends DatabaseDefinition {
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition;
|
||||
package eu.eudat.commons.types.descriptiontemplate;
|
||||
|
||||
import eu.eudat.commons.types.xml.XmlBuilder;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
|
@ -10,24 +10,24 @@ import org.w3c.dom.NodeList;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class ViewStyleModel implements XmlSerializable<ViewStyleModel> {
|
||||
private List<Section> sections;
|
||||
private List<Page> pages;
|
||||
public class DefinitionEntity implements XmlSerializable<DefinitionEntity> {
|
||||
private List<SectionEntity> sections;
|
||||
private List<PageEntity> pages;
|
||||
|
||||
public List<Section> getSections() {
|
||||
public List<SectionEntity> getSections() {
|
||||
return sections;
|
||||
}
|
||||
|
||||
public void setSections(List<Section> sections) {
|
||||
public void setSections(List<SectionEntity> sections) {
|
||||
this.sections = sections;
|
||||
}
|
||||
|
||||
public List<Page> getPages() {
|
||||
public List<PageEntity> getPages() {
|
||||
return pages;
|
||||
}
|
||||
|
||||
public void setPages(List<Page> pages) {
|
||||
this.pages = pages;
|
||||
public void setPages(List<PageEntity> pageEntities) {
|
||||
this.pages = pageEntities;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -35,13 +35,13 @@ public class ViewStyleModel implements XmlSerializable<ViewStyleModel> {
|
|||
Element root = doc.createElement("root");
|
||||
Element sections = doc.createElement("sections");
|
||||
Element pages = doc.createElement("pages");
|
||||
for (Section section : this.sections) {
|
||||
section.setNumbering("" + (this.sections.indexOf(section) + 1));
|
||||
sections.appendChild(section.toXml(doc));
|
||||
for (SectionEntity sectionEntity : this.sections) {
|
||||
sectionEntity.setNumbering("" + (this.sections.indexOf(sectionEntity) + 1));
|
||||
sections.appendChild(sectionEntity.toXml(doc));
|
||||
}
|
||||
|
||||
for (Page page : this.pages) {
|
||||
pages.appendChild(page.toXml(doc));
|
||||
for (PageEntity pageEntity : this.pages) {
|
||||
pages.appendChild(pageEntity.toXml(doc));
|
||||
}
|
||||
|
||||
root.appendChild(pages);
|
||||
|
@ -50,7 +50,7 @@ public class ViewStyleModel implements XmlSerializable<ViewStyleModel> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ViewStyleModel fromXml(Element element) {
|
||||
public DefinitionEntity fromXml(Element element) {
|
||||
|
||||
this.sections = new LinkedList();
|
||||
Element sections = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "sections");
|
||||
|
@ -59,7 +59,7 @@ public class ViewStyleModel implements XmlSerializable<ViewStyleModel> {
|
|||
for (int temp = 0; temp < sectionElements.getLength(); temp++) {
|
||||
Node sectionElement = sectionElements.item(temp);
|
||||
if (sectionElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.sections.add(new Section().fromXml((Element) sectionElement));
|
||||
this.sections.add(new SectionEntity().fromXml((Element) sectionElement));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ public class ViewStyleModel implements XmlSerializable<ViewStyleModel> {
|
|||
for (int temp = 0; temp < pagesElements.getLength(); temp++) {
|
||||
Node pageElement = pagesElements.item(temp);
|
||||
if (pageElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.pages.add(new Page().fromXml((Element) pageElement));
|
||||
this.pages.add(new PageEntity().fromXml((Element) pageElement));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,11 +1,11 @@
|
|||
package eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition;
|
||||
package eu.eudat.commons.types.descriptiontemplate;
|
||||
|
||||
import eu.eudat.models.data.components.commons.DefaultValue;
|
||||
import eu.eudat.models.data.components.commons.ViewStyle;
|
||||
import eu.eudat.models.data.components.commons.Visibility;
|
||||
import eu.eudat.models.data.components.commons.datafield.FieldData;
|
||||
import eu.eudat.commons.enums.FieldValidationType;
|
||||
import eu.eudat.commons.enums.FieldType;
|
||||
import eu.eudat.commons.types.common.DatabaseViewStyleDefinition;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.BaseFieldDataEntity;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.FieldDataHelper;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import eu.eudat.logic.utilities.builders.ModelBuilder;
|
||||
import eu.eudat.commons.types.xml.XmlBuilder;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -15,18 +15,17 @@ import org.w3c.dom.NodeList;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field> {
|
||||
public class FieldEntity implements DatabaseViewStyleDefinition, XmlSerializable<FieldEntity> {
|
||||
private String id;
|
||||
private int ordinal;
|
||||
private List<String> schematics;
|
||||
private String numbering;
|
||||
private ViewStyle viewStyle;
|
||||
private DefaultValue defaultValue;
|
||||
private Visibility visible;
|
||||
private FieldData data;
|
||||
private List<eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType> validations;
|
||||
|
||||
private Boolean export;
|
||||
private String defaultValue;
|
||||
private List<RuleEntity> visibilityRules;
|
||||
private BaseFieldDataEntity<?> data;
|
||||
private List<FieldValidationType> validations;
|
||||
private FieldType fieldType;
|
||||
private Boolean includeInExport;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
|
@ -49,38 +48,33 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
|
|||
this.schematics = schematics;
|
||||
}
|
||||
|
||||
public ViewStyle getViewStyle() {
|
||||
return viewStyle;
|
||||
}
|
||||
public void setViewStyle(ViewStyle viewStyle) {
|
||||
this.viewStyle = viewStyle;
|
||||
}
|
||||
|
||||
public FieldData getData() {
|
||||
public BaseFieldDataEntity<?> getData() {
|
||||
return data;
|
||||
}
|
||||
public void setData(FieldData data) {
|
||||
public void setData(BaseFieldDataEntity<?> data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public DefaultValue getDefaultValue() {
|
||||
public FieldType getFieldType() {
|
||||
return fieldType;
|
||||
}
|
||||
|
||||
public void setFieldType(FieldType fieldType) {
|
||||
this.fieldType = fieldType;
|
||||
}
|
||||
|
||||
public String getDefaultValue() {
|
||||
return defaultValue;
|
||||
}
|
||||
public void setDefaultValue(DefaultValue defaultValue) {
|
||||
public void setDefaultValue(String defaultValue) {
|
||||
this.defaultValue = defaultValue;
|
||||
}
|
||||
|
||||
public Visibility getVisible() {
|
||||
return visible;
|
||||
}
|
||||
public void setVisible(Visibility visible) {
|
||||
this.visible = visible;
|
||||
}
|
||||
|
||||
public List<eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType> getValidations() {
|
||||
public List<FieldValidationType> getValidations() {
|
||||
return validations;
|
||||
}
|
||||
public void setValidations(List<eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType> validations) {
|
||||
public void setValidations(List<FieldValidationType> validations) {
|
||||
this.validations = validations;
|
||||
}
|
||||
|
||||
|
@ -91,12 +85,20 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
|
|||
this.numbering = numbering;
|
||||
}
|
||||
|
||||
public Boolean getExport() {
|
||||
return export;
|
||||
public Boolean getIncludeInExport() {
|
||||
return includeInExport;
|
||||
}
|
||||
|
||||
public void setExport(Boolean export) {
|
||||
this.export = export;
|
||||
public void setIncludeInExport(Boolean includeInExport) {
|
||||
this.includeInExport = includeInExport;
|
||||
}
|
||||
|
||||
public List<RuleEntity> getVisibilityRules() {
|
||||
return visibilityRules;
|
||||
}
|
||||
|
||||
public void setVisibilityRules(List<RuleEntity> visibilityRules) {
|
||||
this.visibilityRules = visibilityRules;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -115,17 +117,19 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
|
|||
}
|
||||
|
||||
Element viewStyle = doc.createElement("viewStyle");
|
||||
viewStyle.setAttribute("renderstyle", this.viewStyle.getRenderStyle());
|
||||
viewStyle.setAttribute("cssClass", this.viewStyle.getCssClass());
|
||||
|
||||
Element visibility = this.visible.toXml(doc);
|
||||
viewStyle.setAttribute("renderstyle", this.getFieldType().getValue());
|
||||
|
||||
Element visibilityRulesElement = doc.createElement("visible");
|
||||
if (this.visibilityRules != null && !this.visibilityRules.isEmpty()) {
|
||||
for (RuleEntity rule : this.visibilityRules) {
|
||||
visibilityRulesElement.appendChild(rule.toXml(doc));
|
||||
}
|
||||
}
|
||||
Element defaultValue = doc.createElement("defaultValue");
|
||||
defaultValue.setAttribute("type", this.defaultValue.getType());
|
||||
defaultValue.setAttribute("value", this.defaultValue.getValue());
|
||||
defaultValue.setAttribute("value", this.getDefaultValue());
|
||||
|
||||
Element validations = doc.createElement("validations");
|
||||
for (eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType validationType : this.validations) {
|
||||
for (FieldValidationType validationType : this.validations) {
|
||||
Element validation = doc.createElement("validation");
|
||||
validation.setAttribute("type", "" + validationType.getValue());
|
||||
validations.appendChild(validation);
|
||||
|
@ -138,28 +142,32 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
|
|||
rootElement.appendChild(numbering);
|
||||
rootElement.appendChild(validations);
|
||||
rootElement.appendChild(defaultValue);
|
||||
rootElement.appendChild(visibility);
|
||||
rootElement.appendChild(visibilityRulesElement);
|
||||
rootElement.appendChild(viewStyle);
|
||||
if (this.data != null) rootElement.appendChild(this.data.toXml(doc));
|
||||
rootElement.setAttribute("export", this.export == null || this.export ? "true" : "false");
|
||||
rootElement.setAttribute("export", this.includeInExport == null || this.includeInExport ? "true" : "false");
|
||||
return rootElement;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Field fromXml(Element element) {
|
||||
public FieldEntity fromXml(Element element) {
|
||||
this.id = element.getAttribute("id");
|
||||
this.ordinal = Integer.parseInt(element.getAttribute("ordinal"));
|
||||
|
||||
|
||||
this.viewStyle = new ViewStyle();
|
||||
Element viewStyle = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "viewStyle");
|
||||
|
||||
this.viewStyle.setRenderStyle(viewStyle.getAttribute("renderstyle"));
|
||||
this.viewStyle.setCssClass(viewStyle.getAttribute("cssClass"));
|
||||
this.fieldType = FieldType.of(viewStyle.getAttribute("renderstyle"));
|
||||
|
||||
Element visibility = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "visible");
|
||||
|
||||
this.visible = new Visibility().fromXml(visibility);
|
||||
NodeList rulesElements = visibility.getChildNodes();
|
||||
this.visibilityRules = new LinkedList();
|
||||
for (int temp = 0; temp < rulesElements.getLength(); temp++) {
|
||||
Node ruleElement = rulesElements.item(temp);
|
||||
if (ruleElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.visibilityRules.add(new RuleEntity().fromXml((Element) ruleElement));
|
||||
}
|
||||
}
|
||||
|
||||
Element numbering = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "numbering");
|
||||
if (numbering != null) this.numbering = numbering.getTextContent();
|
||||
|
@ -180,10 +188,8 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
|
|||
|
||||
Element defaultValue = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "defaultValue");
|
||||
|
||||
this.defaultValue = new DefaultValue();
|
||||
this.defaultValue.setType(defaultValue.getAttribute("type"));
|
||||
this.defaultValue.setValue(defaultValue.getAttribute("value"));
|
||||
this.data = new ModelBuilder().toFieldData(null, this.viewStyle.getRenderStyle(), dataElement);
|
||||
this.defaultValue = defaultValue.getAttribute("value");
|
||||
this.data = new FieldDataHelper().toFieldData(null, this.getFieldType(), dataElement);
|
||||
if (this.data != null) this.data.fromXml(dataElement);
|
||||
|
||||
this.validations = new LinkedList<>();
|
||||
|
@ -193,16 +199,16 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable<Field
|
|||
for (int temp = 0; temp < validationElements.getLength(); temp++) {
|
||||
Node validationElement = validationElements.item(temp);
|
||||
if (validationElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
int enumValue = Integer.parseInt(((Element) validationElement).getAttribute("type"));
|
||||
eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType validationType = eu.eudat.models.data.admin.components.datasetprofile.Field.ValidationType.fromInteger(enumValue);
|
||||
Short enumValue = Short.parseShort(((Element) validationElement).getAttribute("type"));
|
||||
FieldValidationType validationType = FieldValidationType.of(enumValue);
|
||||
this.validations.add(validationType);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (element.hasAttribute("export")) {
|
||||
this.export = Boolean.parseBoolean(element.getAttribute("export"));
|
||||
this.includeInExport = Boolean.parseBoolean(element.getAttribute("export"));
|
||||
} else {
|
||||
this.export = true;
|
||||
this.includeInExport = true;
|
||||
}
|
||||
return this;
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition;
|
||||
package eu.eudat.commons.types.descriptiontemplate;
|
||||
|
||||
import eu.eudat.models.data.components.commons.Multiplicity;
|
||||
import eu.eudat.commons.types.common.DatabaseViewStyleDefinition;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import eu.eudat.commons.types.xml.XmlBuilder;
|
||||
import org.w3c.dom.Document;
|
||||
|
@ -11,24 +11,24 @@ import org.w3c.dom.NodeList;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<FieldSet> {
|
||||
public class FieldSetEntity implements DatabaseViewStyleDefinition, XmlSerializable<FieldSetEntity> {
|
||||
private String id;
|
||||
private int ordinal;
|
||||
private List<Field> fields;
|
||||
private List<FieldEntity> fields;
|
||||
private String numbering;
|
||||
private String title;
|
||||
private String description;
|
||||
private String extendedDescription;
|
||||
private String additionalInformation;
|
||||
private Multiplicity multiplicity;
|
||||
private MultiplicityEntity multiplicity;
|
||||
private boolean hasCommentField;
|
||||
private String commentFieldValue;
|
||||
private String commentFieldValue; //TODO: DescriptionTemplate
|
||||
|
||||
public List<Field> getFields() {
|
||||
public List<FieldEntity> getFields() {
|
||||
return fields;
|
||||
}
|
||||
public void setFields(List<Field> fields) {
|
||||
this.fields = fields;
|
||||
public void setFields(List<FieldEntity> fieldEntities) {
|
||||
this.fields = fieldEntities;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
|
@ -66,10 +66,10 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
|
|||
this.extendedDescription = extendedDescription;
|
||||
}
|
||||
|
||||
public Multiplicity getMultiplicity() {
|
||||
public MultiplicityEntity getMultiplicity() {
|
||||
return multiplicity;
|
||||
}
|
||||
public void setMultiplicity(Multiplicity multiplicity) {
|
||||
public void setMultiplicity(MultiplicityEntity multiplicity) {
|
||||
this.multiplicity = multiplicity;
|
||||
}
|
||||
|
||||
|
@ -80,12 +80,12 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
|
|||
this.hasCommentField = hasCommentField;
|
||||
}
|
||||
|
||||
public String getCommentFieldValue() {
|
||||
return commentFieldValue;
|
||||
}
|
||||
public void setCommentFieldValue(String commentFieldValue) {
|
||||
this.commentFieldValue = commentFieldValue;
|
||||
}
|
||||
// public String getCommentFieldValue() {
|
||||
// return commentFieldValue;
|
||||
// }
|
||||
// public void setCommentFieldValue(String commentFieldValue) {
|
||||
// this.commentFieldValue = commentFieldValue;
|
||||
// }
|
||||
|
||||
public String getNumbering() {
|
||||
return numbering;
|
||||
|
@ -126,15 +126,15 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
|
|||
|
||||
Element commentField = doc.createElement("commentField");
|
||||
commentField.setAttribute("hasCommentField", "" + this.hasCommentField);
|
||||
commentField.setAttribute("commentFieldValue", this.commentFieldValue);
|
||||
// commentField.setAttribute("commentFieldValue", this.commentFieldValue);
|
||||
|
||||
Element numbering = doc.createElement("numbering");
|
||||
numbering.setTextContent(this.numbering);
|
||||
|
||||
Element fieldsElement = doc.createElement("fields");
|
||||
for (Field field : fields) {
|
||||
field.setNumbering(this.numbering + "." + (this.fields.indexOf(field) + 1));
|
||||
fieldsElement.appendChild(field.toXml(doc));
|
||||
for (FieldEntity fieldEntity : fields) {
|
||||
fieldEntity.setNumbering(this.numbering + "." + (this.fields.indexOf(fieldEntity) + 1));
|
||||
fieldsElement.appendChild(fieldEntity.toXml(doc));
|
||||
}
|
||||
|
||||
fieldSet.appendChild(numbering);
|
||||
|
@ -149,7 +149,7 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
|
|||
}
|
||||
|
||||
@Override
|
||||
public FieldSet fromXml(Element element) {
|
||||
public FieldSetEntity fromXml(Element element) {
|
||||
this.id = element.getAttribute("id");
|
||||
this.ordinal = Integer.parseInt(element.getAttribute("ordinal"));
|
||||
this.fields = new LinkedList();
|
||||
|
@ -164,7 +164,7 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
|
|||
this.additionalInformation = additionalInformation.getTextContent();
|
||||
Element commentField = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "commentField");
|
||||
this.hasCommentField = Boolean.parseBoolean(commentField.getAttribute("hasCommentField"));
|
||||
this.commentFieldValue = commentField.getAttribute("commentFieldValue");
|
||||
// this.commentFieldValue = commentField.getAttribute("commentFieldValue");
|
||||
Element fields = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "fields");
|
||||
|
||||
Element numbering = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "numbering");
|
||||
|
@ -175,12 +175,12 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
|
|||
for (int temp = 0; temp < fieldElements.getLength(); temp++) {
|
||||
Node fieldElement = fieldElements.item(temp);
|
||||
if (fieldElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.fields.add(new Field().fromXml((Element) fieldElement));
|
||||
this.fields.add(new FieldEntity().fromXml((Element) fieldElement));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.multiplicity = new Multiplicity();
|
||||
this.multiplicity = new MultiplicityEntity();
|
||||
Element multiplicity = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "multiplicity");
|
||||
|
||||
this.multiplicity.setMin(Integer.parseInt(multiplicity.getAttribute("min")));
|
|
@ -1,6 +1,6 @@
|
|||
package eu.eudat.models.data.components.commons;
|
||||
package eu.eudat.commons.types.descriptiontemplate;
|
||||
|
||||
public class Multiplicity {
|
||||
public class MultiplicityEntity {
|
||||
|
||||
private int min;
|
||||
private int max;
|
|
@ -1,11 +1,12 @@
|
|||
package eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition;
|
||||
package eu.eudat.commons.types.descriptiontemplate;
|
||||
|
||||
import eu.eudat.commons.types.common.DatabaseViewStyleDefinition;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
|
||||
public class Page implements DatabaseViewStyleDefinition, XmlSerializable<Page> {
|
||||
public class PageEntity implements DatabaseViewStyleDefinition, XmlSerializable<PageEntity> {
|
||||
private String id;
|
||||
private int ordinal;
|
||||
private String title;
|
||||
|
@ -44,7 +45,7 @@ public class Page implements DatabaseViewStyleDefinition, XmlSerializable<Page>
|
|||
}
|
||||
|
||||
@Override
|
||||
public Page fromXml(Element item) {
|
||||
public PageEntity fromXml(Element item) {
|
||||
this.ordinal = Integer.parseInt(item.getAttribute("ordinal"));
|
||||
this.id = item.getAttribute("id");
|
||||
this.title = item.getAttribute("title");
|
|
@ -0,0 +1,52 @@
|
|||
package eu.eudat.commons.types.descriptiontemplate;
|
||||
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
public class RuleEntity implements XmlSerializable<RuleEntity> {
|
||||
private String target;
|
||||
private String value;
|
||||
|
||||
public String getTarget() {
|
||||
return target;
|
||||
}
|
||||
|
||||
public void setTarget(String target) {
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Element toXml(Document doc) {
|
||||
Element rule = doc.createElement("rule");
|
||||
rule.setAttribute("target", this.target);
|
||||
|
||||
Element value = doc.createElement("value");
|
||||
value.setTextContent(this.value);
|
||||
|
||||
rule.appendChild(value);
|
||||
return rule;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RuleEntity fromXml(Element item) {
|
||||
this.target = item.getAttribute("target");
|
||||
|
||||
Element value = (Element) item.getElementsByTagName("value").item(0);
|
||||
if (value != null) {
|
||||
this.value = value.getTextContent();
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition;
|
||||
package eu.eudat.commons.types.descriptiontemplate;
|
||||
|
||||
import eu.eudat.commons.types.common.DatabaseViewStyleDefinition;
|
||||
import eu.eudat.commons.types.xml.XmlBuilder;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
|
@ -10,7 +11,7 @@ import org.w3c.dom.NodeList;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class Section implements DatabaseViewStyleDefinition, XmlSerializable<Section> {
|
||||
public class SectionEntity implements DatabaseViewStyleDefinition, XmlSerializable<SectionEntity> {
|
||||
private String id;
|
||||
private int ordinal;
|
||||
private boolean defaultVisibility;
|
||||
|
@ -19,8 +20,8 @@ public class Section implements DatabaseViewStyleDefinition, XmlSerializable<Sec
|
|||
private String title;
|
||||
private String description;
|
||||
private String extendedDescription;
|
||||
private List<Section> sections;
|
||||
private List<FieldSet> fieldSets;
|
||||
private List<SectionEntity> sections;
|
||||
private List<FieldSetEntity> fieldSets;
|
||||
private Boolean multiplicity;
|
||||
|
||||
public String getId() {
|
||||
|
@ -71,20 +72,20 @@ public class Section implements DatabaseViewStyleDefinition, XmlSerializable<Sec
|
|||
this.description = description;
|
||||
}
|
||||
|
||||
public List<Section> getSections() {
|
||||
public List<SectionEntity> getSections() {
|
||||
return sections;
|
||||
}
|
||||
|
||||
public void setSections(List<Section> sections) {
|
||||
public void setSections(List<SectionEntity> sections) {
|
||||
this.sections = sections;
|
||||
}
|
||||
|
||||
public List<FieldSet> getFieldSets() {
|
||||
public List<FieldSetEntity> getFieldSets() {
|
||||
return fieldSets;
|
||||
}
|
||||
|
||||
public void setFieldSets(List<FieldSet> fieldSets) {
|
||||
this.fieldSets = fieldSets;
|
||||
public void setFieldSets(List<FieldSetEntity> fieldSetEntities) {
|
||||
this.fieldSets = fieldSetEntities;
|
||||
}
|
||||
|
||||
public String getExtendedDescription() {
|
||||
|
@ -134,18 +135,18 @@ public class Section implements DatabaseViewStyleDefinition, XmlSerializable<Sec
|
|||
|
||||
if (sections != null) {
|
||||
Element sections = doc.createElement("sections");
|
||||
for (Section section : this.sections) {
|
||||
section.setNumbering(this.numbering + "." + (this.sections.indexOf(section) + 1));
|
||||
sections.appendChild(section.toXml(doc));
|
||||
for (SectionEntity sectionEntity : this.sections) {
|
||||
sectionEntity.setNumbering(this.numbering + "." + (this.sections.indexOf(sectionEntity) + 1));
|
||||
sections.appendChild(sectionEntity.toXml(doc));
|
||||
}
|
||||
rootElement.appendChild(sections);
|
||||
}
|
||||
|
||||
if (this.fieldSets != null) {
|
||||
Element formGroups = doc.createElement("fieldSets");
|
||||
for (FieldSet fieldSet : this.fieldSets) {
|
||||
fieldSet.setNumbering(this.numbering + "." + (this.fieldSets.indexOf(fieldSet) + 1));
|
||||
formGroups.appendChild(fieldSet.toXml(doc));
|
||||
for (FieldSetEntity fieldSetEntity : this.fieldSets) {
|
||||
fieldSetEntity.setNumbering(this.numbering + "." + (this.fieldSets.indexOf(fieldSetEntity) + 1));
|
||||
formGroups.appendChild(fieldSetEntity.toXml(doc));
|
||||
}
|
||||
rootElement.appendChild(formGroups);
|
||||
}
|
||||
|
@ -159,7 +160,7 @@ public class Section implements DatabaseViewStyleDefinition, XmlSerializable<Sec
|
|||
}
|
||||
|
||||
@Override
|
||||
public Section fromXml(Element element) {
|
||||
public SectionEntity fromXml(Element element) {
|
||||
|
||||
this.id = element.getAttribute("id");
|
||||
this.ordinal = Integer.parseInt(element.getAttribute("ordinal"));
|
||||
|
@ -179,19 +180,19 @@ public class Section implements DatabaseViewStyleDefinition, XmlSerializable<Sec
|
|||
Element title = XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "title");
|
||||
if (title != null) this.title = title.getTextContent();
|
||||
|
||||
this.sections = new LinkedList<Section>();
|
||||
this.sections = new LinkedList<SectionEntity>();
|
||||
Element sections = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "sections");
|
||||
if (sections != null) {
|
||||
NodeList sectionElements = sections.getChildNodes();
|
||||
for (int temp = 0; temp < sectionElements.getLength(); temp++) {
|
||||
Node sectionElement = sectionElements.item(temp);
|
||||
if (sectionElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.sections.add(new Section().fromXml((Element) sectionElement));
|
||||
this.sections.add(new SectionEntity().fromXml((Element) sectionElement));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.fieldSets = new LinkedList<FieldSet>();
|
||||
this.fieldSets = new LinkedList<FieldSetEntity>();
|
||||
Element fieldGroups = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "fieldSets");
|
||||
|
||||
if (fieldGroups != null) {
|
||||
|
@ -199,7 +200,7 @@ public class Section implements DatabaseViewStyleDefinition, XmlSerializable<Sec
|
|||
for (int temp = 0; temp < fieldGroupElements.getLength(); temp++) {
|
||||
Node fieldGroupElement = fieldGroupElements.item(temp);
|
||||
if (fieldGroupElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.fieldSets.add(new FieldSet().fromXml((Element) fieldGroupElement));
|
||||
this.fieldSets.add(new FieldSetEntity().fromXml((Element) fieldGroupElement));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,8 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import eu.eudat.commons.enums.EnumUtils;
|
||||
import eu.eudat.data.converters.enums.DatabaseEnum;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
@ -9,7 +12,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
||||
public class AutoCompleteDataEntity extends ComboBoxDataEntity<AutoCompleteDataEntity> {
|
||||
|
||||
public static class AuthAutoCompleteData {
|
||||
private String url;
|
||||
|
@ -59,19 +62,19 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
}
|
||||
}
|
||||
public static class AutoCompleteSingleData {
|
||||
private int autocompleteType;
|
||||
private AutocompleteType autocompleteType;
|
||||
private String url;
|
||||
private ComboBoxData.Option autoCompleteOptions;
|
||||
private ComboBoxDataEntity.Option autoCompleteOptions;
|
||||
private String optionsRoot;
|
||||
private Boolean hasAuth;
|
||||
private AuthAutoCompleteData auth;
|
||||
private String method;
|
||||
|
||||
public int getAutocompleteType() {
|
||||
public AutocompleteType getAutocompleteType() {
|
||||
return autocompleteType;
|
||||
}
|
||||
|
||||
public void setAutocompleteType(int autocompleteType) {
|
||||
public void setAutocompleteType(AutocompleteType autocompleteType) {
|
||||
this.autocompleteType = autocompleteType;
|
||||
}
|
||||
|
||||
|
@ -105,10 +108,10 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
this.auth = auth;
|
||||
}
|
||||
|
||||
public ComboBoxData.Option getAutoCompleteOptions() {
|
||||
public ComboBoxDataEntity.Option getAutoCompleteOptions() {
|
||||
return autoCompleteOptions;
|
||||
}
|
||||
public void setAutoCompleteOptions(ComboBoxData.Option autoCompleteOptions) {
|
||||
public void setAutoCompleteOptions(ComboBoxDataEntity.Option autoCompleteOptions) {
|
||||
this.autoCompleteOptions = autoCompleteOptions;
|
||||
}
|
||||
|
||||
|
@ -144,7 +147,7 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
Element parent = doc.createElement("autocompleteSingle");
|
||||
parent.setAttribute("url", singleData.url);
|
||||
parent.setAttribute("optionsRoot", singleData.optionsRoot);
|
||||
parent.setAttribute("autoCompleteType", Integer.toString(singleData.autocompleteType));
|
||||
parent.setAttribute("autoCompleteType", Integer.toString(singleData.autocompleteType.getValue()));
|
||||
parent.setAttribute("hasAuth", Boolean.toString(singleData.hasAuth));
|
||||
parent.setAttribute("method", singleData.method);
|
||||
Element element = doc.createElement("option");
|
||||
|
@ -167,7 +170,7 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public AutoCompleteData fromXml(Element item) {
|
||||
public AutoCompleteDataEntity fromXml(Element item) {
|
||||
super.fromXml(item);
|
||||
this.autoCompleteSingleDataList = new ArrayList<>();
|
||||
NodeList items = item.getElementsByTagName("autocompleteSingle");
|
||||
|
@ -190,9 +193,9 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
singleData.optionsRoot = item.getAttribute("optionsRoot");
|
||||
this.multiAutoComplete = Boolean.parseBoolean(item.getAttribute("multiAutoComplete"));
|
||||
if (item.getAttribute("autoCompleteType") == null || item.getAttribute("autoCompleteType").equals("") ) {
|
||||
singleData.autocompleteType = AutocompleteType.UNCACHED.getValue();
|
||||
singleData.autocompleteType = AutocompleteType.UNCACHED;
|
||||
} else {
|
||||
singleData.autocompleteType = AutocompleteType.fromValue(Integer.parseInt(item.getAttribute("autoCompleteType"))).getValue();
|
||||
singleData.autocompleteType = AutocompleteType.of(Integer.parseInt(item.getAttribute("autoCompleteType")));
|
||||
}
|
||||
singleData.hasAuth = Boolean.parseBoolean(item.getAttribute("hasAuth"));
|
||||
singleData.method = item.hasAttribute("method") ? item.getAttribute("method") : "GET";
|
||||
|
@ -218,7 +221,7 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public AutoCompleteData fromData(Object data) {
|
||||
public AutoCompleteDataEntity fromData(Object data) {
|
||||
super.fromData(data);
|
||||
this.autoCompleteSingleDataList = new ArrayList<>();
|
||||
|
||||
|
@ -244,9 +247,9 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
this.autoCompleteSingleDataList.get(i).method = singleData.containsKey("method") ? (String) singleData.get("method") : "GET";
|
||||
|
||||
if (singleData.get("autoCompleteType") == null) {
|
||||
this.autoCompleteSingleDataList.get(i).autocompleteType = AutocompleteType.UNCACHED.getValue();
|
||||
this.autoCompleteSingleDataList.get(i).autocompleteType = AutocompleteType.UNCACHED;
|
||||
} else {
|
||||
this.autoCompleteSingleDataList.get(i).autocompleteType = AutocompleteType.fromValue((Integer) singleData.get("autoCompleteType")).getValue();
|
||||
this.autoCompleteSingleDataList.get(i).autocompleteType = AutocompleteType.of((Integer) singleData.get("autoCompleteType"));
|
||||
}
|
||||
Map<String, String> options = (Map<String, String>) singleData.get("autoCompleteOptions");
|
||||
if (options != null) {
|
||||
|
@ -354,26 +357,25 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
return dataMap;
|
||||
}
|
||||
|
||||
public enum AutocompleteType {
|
||||
UNCACHED(0), CACHED(1);
|
||||
public enum AutocompleteType implements DatabaseEnum<Integer> {
|
||||
UNCACHED(0),
|
||||
CACHED(1);
|
||||
|
||||
int value;
|
||||
private final int value;
|
||||
|
||||
AutocompleteType(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return this.value;
|
||||
@JsonValue
|
||||
public Integer getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public static AutocompleteType fromValue(int value) {
|
||||
for (AutocompleteType type: AutocompleteType.values()) {
|
||||
if (type.getValue() == value) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return UNCACHED;
|
||||
private static final Map<Integer, AutocompleteType> map = EnumUtils.getEnumValueMap(AutocompleteType.class);
|
||||
|
||||
public static AutocompleteType of(int i) {
|
||||
return map.get(i);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
|
@ -6,8 +6,9 @@ import org.w3c.dom.Element;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
public abstract class FieldData<T> implements XmlSerializable<T> {
|
||||
public abstract class BaseFieldDataEntity<T> implements XmlSerializable<T> {
|
||||
private String label;
|
||||
private String subType;
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
|
@ -17,6 +18,14 @@ public abstract class FieldData<T> implements XmlSerializable<T> {
|
|||
this.label = label;
|
||||
}
|
||||
|
||||
public String getSubType() {
|
||||
return subType;
|
||||
}
|
||||
|
||||
public void setSubType(String subType) {
|
||||
this.subType = subType;
|
||||
}
|
||||
|
||||
public T fromData(Object data) {
|
||||
return null;
|
||||
}
|
||||
|
@ -29,9 +38,5 @@ public abstract class FieldData<T> implements XmlSerializable<T> {
|
|||
return null;
|
||||
}
|
||||
|
||||
public T fromXml(Element item) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract Map<String, Object> toMap(Element item);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,10 +6,10 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class BooleanDecisionData extends FieldData<BooleanDecisionData> {
|
||||
public class BooleanDecisionDataEntity extends BaseFieldDataEntity<BooleanDecisionDataEntity> {
|
||||
|
||||
@Override
|
||||
public BooleanDecisionData fromData(Object data) {
|
||||
public BooleanDecisionDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ public class BooleanDecisionData extends FieldData<BooleanDecisionData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public BooleanDecisionData fromXml(Element item) {
|
||||
public BooleanDecisionDataEntity fromXml(Element item) {
|
||||
this.setLabel(item.getAttribute("label"));
|
||||
return this;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class CheckBoxData extends FieldData<CheckBoxData> {
|
||||
public class CheckBoxDataEntity extends BaseFieldDataEntity<CheckBoxDataEntity> {
|
||||
|
||||
@Override
|
||||
public Element toXml(Document doc) {
|
||||
|
@ -16,13 +16,13 @@ public class CheckBoxData extends FieldData<CheckBoxData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public CheckBoxData fromXml(Element item) {
|
||||
public CheckBoxDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CheckBoxData fromData(Object data) {
|
||||
public CheckBoxDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import eu.eudat.commons.enums.FieldDataComboBoxType;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -7,7 +8,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public abstract class ComboBoxData<T> extends FieldData<T> {
|
||||
public abstract class ComboBoxDataEntity<T> extends BaseFieldDataEntity<T> {
|
||||
public static class Option implements XmlSerializable<Option> {
|
||||
private String label;
|
||||
private String value;
|
||||
|
@ -54,7 +55,7 @@ public abstract class ComboBoxData<T> extends FieldData<T> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ComboBoxData.Option fromXml(Element item) {
|
||||
public ComboBoxDataEntity.Option fromXml(Element item) {
|
||||
this.label = item.getAttribute("label");
|
||||
this.value = item.getAttribute("value");
|
||||
this.source = item.getAttribute("source");
|
||||
|
@ -64,20 +65,18 @@ public abstract class ComboBoxData<T> extends FieldData<T> {
|
|||
|
||||
}
|
||||
|
||||
private String type;
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
public FieldDataComboBoxType getType() {
|
||||
return FieldDataComboBoxType.of(this.getSubType());
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
public void setType(FieldDataComboBoxType type) {
|
||||
this.setSubType(type.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Element toXml(Document doc) {
|
||||
Element root = doc.createElement("data");
|
||||
root.setAttribute("type", this.type);
|
||||
root.setAttribute("type", this.getSubType());
|
||||
root.setAttribute("label", this.getLabel());
|
||||
return root;
|
||||
}
|
||||
|
@ -85,7 +84,7 @@ public abstract class ComboBoxData<T> extends FieldData<T> {
|
|||
@Override
|
||||
public T fromXml(Element item) {
|
||||
this.setLabel(item.getAttribute("label"));
|
||||
this.type = item.getAttribute("type");
|
||||
this.setSubType(item.getAttribute("type"));
|
||||
return (T) this;
|
||||
}
|
||||
|
||||
|
@ -93,7 +92,7 @@ public abstract class ComboBoxData<T> extends FieldData<T> {
|
|||
public T fromData(Object data) {
|
||||
|
||||
if (data != null) {
|
||||
this.type = (String) ((Map<String, Object>) data).get("type");
|
||||
this.setSubType((String) ((Map<String, Object>) data).get("type"));
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,9 +6,9 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class DatePickerData extends FieldData<DatePickerData> {
|
||||
public class CurrencyDataEntity extends BaseFieldDataEntity<CurrencyDataEntity> {
|
||||
@Override
|
||||
public DatePickerData fromData(Object data) {
|
||||
public CurrencyDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class DatePickerData extends FieldData<DatePickerData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public DatePickerData fromXml(Element item) {
|
||||
public CurrencyDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
return this;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class LicensesData extends FieldData<LicensesData> {
|
||||
public class DataRepositoryDataEntity extends BaseFieldDataEntity<DataRepositoryDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class LicensesData extends FieldData<LicensesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public LicensesData fromData(Object data) {
|
||||
public DataRepositoryDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean(((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
|
@ -42,7 +42,7 @@ public class LicensesData extends FieldData<LicensesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public LicensesData fromXml(Element item) {
|
||||
public DataRepositoryDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class DatasetsAutoCompleteData extends InternalDmpEntitiesData<DatasetsAutoCompleteData> {
|
||||
public class DatasetAutoCompleteDataEntity extends InternalDmpBaseDataEntity<DatasetAutoCompleteDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -25,7 +25,7 @@ public class DatasetsAutoCompleteData extends InternalDmpEntitiesData<DatasetsAu
|
|||
}
|
||||
|
||||
@Override
|
||||
public DatasetsAutoCompleteData fromXml(Element item) {
|
||||
public DatasetAutoCompleteDataEntity fromXml(Element item) {
|
||||
super.fromXml(item);
|
||||
this.multiAutoComplete = Boolean.parseBoolean(item.getAttribute("multiAutoComplete"));
|
||||
|
||||
|
@ -33,7 +33,7 @@ public class DatasetsAutoCompleteData extends InternalDmpEntitiesData<DatasetsAu
|
|||
}
|
||||
|
||||
@Override
|
||||
public DatasetsAutoCompleteData fromData(Object data) {
|
||||
public DatasetAutoCompleteDataEntity fromData(Object data) {
|
||||
super.fromData(data);
|
||||
if (data != null) {
|
||||
this.multiAutoComplete = (Boolean) ((Map<Boolean, Object>) data).get("multiAutoComplete");
|
|
@ -0,0 +1,42 @@
|
|||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class DatasetIdentifierDataEntity extends BaseFieldDataEntity<DatasetIdentifierDataEntity> {
|
||||
@Override
|
||||
public DatasetIdentifierDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object toData() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Element toXml(Document doc) {
|
||||
Element root = doc.createElement("data");
|
||||
root.setAttribute("label", this.getLabel());
|
||||
return root;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatasetIdentifierDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> toMap(Element item) {
|
||||
HashMap dataMap = new HashMap();
|
||||
dataMap.put("label", item != null ? item.getAttribute("label") : "");
|
||||
return dataMap;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,9 +6,9 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class CurrencyData extends FieldData<CurrencyData> {
|
||||
public class DatePickerDataEntity extends BaseFieldDataEntity<DatePickerDataEntity> {
|
||||
@Override
|
||||
public CurrencyData fromData(Object data) {
|
||||
public DatePickerDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class CurrencyData extends FieldData<CurrencyData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public CurrencyData fromXml(Element item) {
|
||||
public DatePickerDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
return this;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class DMPsAutoCompleteData extends InternalDmpEntitiesData<DMPsAutoCompleteData>{
|
||||
public class DmpAutoCompleteDataEntity extends InternalDmpBaseDataEntity<DmpAutoCompleteDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -25,7 +25,7 @@ public class DMPsAutoCompleteData extends InternalDmpEntitiesData<DMPsAutoComple
|
|||
}
|
||||
|
||||
@Override
|
||||
public DMPsAutoCompleteData fromXml(Element item) {
|
||||
public DmpAutoCompleteDataEntity fromXml(Element item) {
|
||||
super.fromXml(item);
|
||||
this.multiAutoComplete = Boolean.parseBoolean(item.getAttribute("multiAutoComplete"));
|
||||
|
||||
|
@ -33,7 +33,7 @@ public class DMPsAutoCompleteData extends InternalDmpEntitiesData<DMPsAutoComple
|
|||
}
|
||||
|
||||
@Override
|
||||
public DMPsAutoCompleteData fromData(Object data) {
|
||||
public DmpAutoCompleteDataEntity fromData(Object data) {
|
||||
super.fromData(data);
|
||||
if (data != null) {
|
||||
this.multiAutoComplete = (Boolean) ((Map<Boolean, Object>) data).get("multiAutoComplete");
|
|
@ -1,14 +1,15 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import eu.eudat.commons.enums.FieldDataExternalDatasetType;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ExternalDatasetsData extends FieldData<ExternalDatasetsData> {
|
||||
public class ExternalDatasetDataEntity extends BaseFieldDataEntity<ExternalDatasetDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
private String type;
|
||||
private FieldDataExternalDatasetType type;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
return multiAutoComplete;
|
||||
|
@ -18,20 +19,20 @@ public class ExternalDatasetsData extends FieldData<ExternalDatasetsData> {
|
|||
this.multiAutoComplete = multiAutoComplete;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
public FieldDataExternalDatasetType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
public void setType(FieldDataExternalDatasetType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExternalDatasetsData fromData(Object data) {
|
||||
public ExternalDatasetDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean( ((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
this.setType(((Map<String, Object>) data).get("type") != null && !((Map<String, Object>) data).get("type").toString().isEmpty()? ((Map<String, Object>) data).get("type").toString() : "other");
|
||||
this.setType(((Map<String, Object>) data).get("type") != null && !((Map<String, Object>) data).get("type").toString().isEmpty()? FieldDataExternalDatasetType.of(((Map<String, Object>) data).get("type").toString()) : FieldDataExternalDatasetType.Other);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
@ -49,16 +50,16 @@ public class ExternalDatasetsData extends FieldData<ExternalDatasetsData> {
|
|||
root.setAttribute("multiAutoComplete", this.getMultiAutoComplete().toString());
|
||||
}
|
||||
if (this.getType() != null) {
|
||||
root.setAttribute("type", this.getType());
|
||||
root.setAttribute("type", this.getType().getValue());
|
||||
}
|
||||
return root;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExternalDatasetsData fromXml(Element item) {
|
||||
public ExternalDatasetDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
this.setType(item.getAttribute("type") != null ? item.getAttribute("type"): "other");
|
||||
this.setType(item.getAttribute("type") != null ? FieldDataExternalDatasetType.of(item.getAttribute("type")): FieldDataExternalDatasetType.Other);
|
||||
return this;
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import eu.eudat.commons.enums.FieldDataComboBoxType;
|
||||
import eu.eudat.commons.enums.FieldDataInternalDmpEntryType;
|
||||
import eu.eudat.commons.enums.FieldType;
|
||||
import org.w3c.dom.Element;
|
||||
import java.util.Map;
|
||||
|
||||
public class FieldDataHelper {
|
||||
public BaseFieldDataEntity<?> create(FieldType type, String subType) {
|
||||
switch (type) {
|
||||
case COMBO_BOX: {
|
||||
if (subType != null && !subType.isBlank()) {
|
||||
switch (FieldDataComboBoxType.of(subType)) {
|
||||
case Wordlist: {
|
||||
return new WordListDataEntity();
|
||||
}
|
||||
case Autocomplete: {
|
||||
return new AutoCompleteDataEntity();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case INTERNAL_DMP_ENTRIES: {
|
||||
if (subType != null && !subType.isBlank()) {
|
||||
switch (FieldDataInternalDmpEntryType.of(subType)){
|
||||
case Dmps: {
|
||||
return new DmpAutoCompleteDataEntity();
|
||||
}
|
||||
case Datasets: {
|
||||
return new DatasetAutoCompleteDataEntity();
|
||||
}
|
||||
case Researchers : {
|
||||
return new ResearcherAutoCompleteDataEntity();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case BOOLEAN_DECISION: return new BooleanDecisionDataEntity();
|
||||
case RADIO_BOX: return new RadioBoxDataEntity();
|
||||
case CHECK_BOX: return new CheckBoxDataEntity();
|
||||
case FREE_TEXT: return new FreeTextDataEntity();
|
||||
case TEXT_AREA: return new TextAreaDataEntity();
|
||||
case RICH_TEXT_AREA: return new RichTextAreaDataEntity();
|
||||
case UPLOAD: return new UploadDataEntity();
|
||||
case DATE_PICKER: return new DatePickerDataEntity();
|
||||
case EXTERNAL_DATASETS: return new ExternalDatasetDataEntity();
|
||||
case DATA_REPOSITORIES:
|
||||
case PUB_REPOSITORIES:
|
||||
case JOURNAL_REPOSITORIES: return new DataRepositoryDataEntity();
|
||||
case TAXONOMIES: return new TaxonomyDataEntity();
|
||||
case LICENSES: return new LicenseDataEntity();
|
||||
case PUBLICATIONS: return new PublicationDataEntity();
|
||||
case REGISTRIES: return new RegistryDataEntity();
|
||||
case SERVICES: return new ServiceDataEntity();
|
||||
case TAGS: return new TagDataEntity();
|
||||
case RESEARCHERS: return new ResearcherDataEntity();
|
||||
case ORGANIZATIONS: return new OrganizationDataEntity();
|
||||
case DATASET_IDENTIFIER: return new DatasetIdentifierDataEntity();
|
||||
case CURRENCY: return new CurrencyDataEntity();
|
||||
case VALIDATION: return new ValidationDataEntity();
|
||||
default: return null;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public BaseFieldDataEntity<?> toFieldData(Object data, FieldType type, Element dataElement) {
|
||||
String subType = dataElement != null ? dataElement.getAttribute("type") : null;
|
||||
BaseFieldDataEntity<?> baseFieldData = this.create(type, subType);
|
||||
if (baseFieldData == null) return baseFieldData;
|
||||
return (BaseFieldDataEntity<?>) baseFieldData.fromData(data);
|
||||
}
|
||||
|
||||
public BaseFieldDataEntity<?> toFieldData(Object data, FieldType type) {
|
||||
Map<String, Object> dataAsMap = (Map<String, Object>) data;
|
||||
String subType = dataAsMap != null ? (String) dataAsMap.getOrDefault("type", null) : null;
|
||||
BaseFieldDataEntity<?> baseFieldData = this.create(type, subType);
|
||||
if (baseFieldData == null) return baseFieldData;
|
||||
return (BaseFieldDataEntity<?>) baseFieldData.fromData(data);
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -7,10 +7,10 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
|
||||
public class FreeTextData extends FieldData<FreeTextData> {
|
||||
public class FreeTextDataEntity extends BaseFieldDataEntity<FreeTextDataEntity> {
|
||||
|
||||
@Override
|
||||
public FreeTextData fromData(Object data) {
|
||||
public FreeTextDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel(((Map<String, String>) data).get("label"));
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ public class FreeTextData extends FieldData<FreeTextData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public FreeTextData fromXml(Element item) {
|
||||
public FreeTextDataEntity fromXml(Element item) {
|
||||
this.setLabel(item.getAttribute("label"));
|
||||
return this;
|
||||
}
|
|
@ -1,25 +1,24 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import eu.eudat.commons.enums.FieldDataInternalDmpEntryType;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public abstract class InternalDmpEntitiesData<T> extends FieldData<T> {
|
||||
private String type;
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
public abstract class InternalDmpBaseDataEntity<T> extends BaseFieldDataEntity<T> {
|
||||
public FieldDataInternalDmpEntryType getType() {
|
||||
return FieldDataInternalDmpEntryType.of(this.getSubType());
|
||||
}
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
public void setType(FieldDataInternalDmpEntryType type) {
|
||||
this.setSubType(type.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Element toXml(Document doc) {
|
||||
Element root = doc.createElement("data");
|
||||
root.setAttribute("type", this.type);
|
||||
root.setAttribute("type", this.getType().getValue());
|
||||
root.setAttribute("label", this.getLabel());
|
||||
return root;
|
||||
}
|
||||
|
@ -27,7 +26,7 @@ public abstract class InternalDmpEntitiesData<T> extends FieldData<T> {
|
|||
@Override
|
||||
public T fromXml(Element item) {
|
||||
this.setLabel(item.getAttribute("label"));
|
||||
this.type = item.getAttribute("type");
|
||||
this.setType(FieldDataInternalDmpEntryType.of(item.getAttribute("type")));
|
||||
return (T) this;
|
||||
}
|
||||
|
||||
|
@ -35,7 +34,7 @@ public abstract class InternalDmpEntitiesData<T> extends FieldData<T> {
|
|||
public T fromData(Object data) {
|
||||
|
||||
if (data != null) {
|
||||
this.type = (String) ((Map<String, Object>) data).get("type");
|
||||
this.setType(FieldDataInternalDmpEntryType.of ((String) ((Map<String, Object>) data).get("type")));
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class PublicationsData extends FieldData<PublicationsData> {
|
||||
public class LicenseDataEntity extends BaseFieldDataEntity<LicenseDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class PublicationsData extends FieldData<PublicationsData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public PublicationsData fromData(Object data) {
|
||||
public LicenseDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean(((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
|
@ -42,7 +42,7 @@ public class PublicationsData extends FieldData<PublicationsData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public PublicationsData fromXml(Element item) {
|
||||
public LicenseDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ServicesData extends FieldData<ServicesData> {
|
||||
public class OrganizationDataEntity extends BaseFieldDataEntity<OrganizationDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class ServicesData extends FieldData<ServicesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ServicesData fromData(Object data) {
|
||||
public OrganizationDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean( ((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
|
@ -42,7 +42,7 @@ public class ServicesData extends FieldData<ServicesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ServicesData fromXml(Element item) {
|
||||
public OrganizationDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class TaxonomiesData extends FieldData<TaxonomiesData> {
|
||||
public class PublicationDataEntity extends BaseFieldDataEntity<PublicationDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class TaxonomiesData extends FieldData<TaxonomiesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public TaxonomiesData fromData(Object data) {
|
||||
public PublicationDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean(((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
|
@ -42,7 +42,7 @@ public class TaxonomiesData extends FieldData<TaxonomiesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public TaxonomiesData fromXml(Element item) {
|
||||
public PublicationDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
|
@ -11,7 +11,7 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class RadioBoxData extends FieldData<RadioBoxData> {
|
||||
public class RadioBoxDataEntity extends BaseFieldDataEntity<RadioBoxDataEntity> {
|
||||
|
||||
public class Option implements XmlSerializable<Option> {
|
||||
private String label;
|
||||
|
@ -62,7 +62,7 @@ public class RadioBoxData extends FieldData<RadioBoxData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public RadioBoxData fromData(Object data) {
|
||||
public RadioBoxDataEntity fromData(Object data) {
|
||||
this.options = new LinkedList();
|
||||
if (data != null) {
|
||||
List<Map<String, String>> options = ((Map<String, List<Map<String, String>>>) data).get("options");
|
||||
|
@ -96,7 +96,7 @@ public class RadioBoxData extends FieldData<RadioBoxData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public RadioBoxData fromXml(Element item) {
|
||||
public RadioBoxDataEntity fromXml(Element item) {
|
||||
|
||||
this.options = new LinkedList<>();
|
||||
Element optionsElement = (Element) item.getElementsByTagName("options").item(0);
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class RegistriesData extends FieldData<RegistriesData> {
|
||||
public class RegistryDataEntity extends BaseFieldDataEntity<RegistryDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class RegistriesData extends FieldData<RegistriesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public RegistriesData fromData(Object data) {
|
||||
public RegistryDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()?Boolean.parseBoolean( ((Map<String, Object>) data).get("multiAutoComplete").toString()): false);
|
||||
|
@ -42,7 +42,7 @@ public class RegistriesData extends FieldData<RegistriesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public RegistriesData fromXml(Element item) {
|
||||
public RegistryDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ResearchersAutoCompleteData extends InternalDmpEntitiesData<ResearchersAutoCompleteData> {
|
||||
public class ResearcherAutoCompleteDataEntity extends InternalDmpBaseDataEntity<ResearcherAutoCompleteDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -25,7 +25,7 @@ public class ResearchersAutoCompleteData extends InternalDmpEntitiesData<Researc
|
|||
}
|
||||
|
||||
@Override
|
||||
public ResearchersAutoCompleteData fromXml(Element item) {
|
||||
public ResearcherAutoCompleteDataEntity fromXml(Element item) {
|
||||
super.fromXml(item);
|
||||
this.multiAutoComplete = Boolean.parseBoolean(item.getAttribute("multiAutoComplete"));
|
||||
|
||||
|
@ -33,7 +33,7 @@ public class ResearchersAutoCompleteData extends InternalDmpEntitiesData<Researc
|
|||
}
|
||||
|
||||
@Override
|
||||
public ResearchersAutoCompleteData fromData(Object data) {
|
||||
public ResearcherAutoCompleteDataEntity fromData(Object data) {
|
||||
super.fromData(data);
|
||||
if (data != null) {
|
||||
this.multiAutoComplete = Boolean.parseBoolean(((Map<Boolean, Object>) data).get("multiAutoComplete").toString());
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ResearcherData extends FieldData<ResearcherData> {
|
||||
public class ResearcherDataEntity extends BaseFieldDataEntity<ResearcherDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class ResearcherData extends FieldData<ResearcherData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ResearcherData fromData(Object data) {
|
||||
public ResearcherDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean( ((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
|
@ -42,7 +42,7 @@ public class ResearcherData extends FieldData<ResearcherData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ResearcherData fromXml(Element item) {
|
||||
public ResearcherDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -7,9 +7,9 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
|
||||
public class RichTextAreaData extends FieldData<RichTextAreaData> {
|
||||
public class RichTextAreaDataEntity extends BaseFieldDataEntity<RichTextAreaDataEntity> {
|
||||
@Override
|
||||
public RichTextAreaData fromData(Object data) {
|
||||
public RichTextAreaDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel(((Map<String, String>) data).get("label"));
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ public class RichTextAreaData extends FieldData<RichTextAreaData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public RichTextAreaData fromXml(Element item) {
|
||||
public RichTextAreaDataEntity fromXml(Element item) {
|
||||
this.setLabel(item.getAttribute("label"));
|
||||
return this;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class OrganizationsData extends FieldData<OrganizationsData> {
|
||||
public class ServiceDataEntity extends BaseFieldDataEntity<ServiceDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class OrganizationsData extends FieldData<OrganizationsData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public OrganizationsData fromData(Object data) {
|
||||
public ServiceDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean( ((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
|
@ -42,7 +42,7 @@ public class OrganizationsData extends FieldData<OrganizationsData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public OrganizationsData fromXml(Element item) {
|
||||
public ServiceDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,9 +6,9 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class TagsData extends FieldData<TagsData> {
|
||||
public class TagDataEntity extends BaseFieldDataEntity<TagDataEntity> {
|
||||
@Override
|
||||
public TagsData fromData(Object data) {
|
||||
public TagDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class TagsData extends FieldData<TagsData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public TagsData fromXml(Element item) {
|
||||
public TagDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
return this;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,7 +6,7 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class DataRepositoriesData extends FieldData<DataRepositoriesData> {
|
||||
public class TaxonomyDataEntity extends BaseFieldDataEntity<TaxonomyDataEntity> {
|
||||
private Boolean multiAutoComplete;
|
||||
|
||||
public Boolean getMultiAutoComplete() {
|
||||
|
@ -18,7 +18,7 @@ public class DataRepositoriesData extends FieldData<DataRepositoriesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public DataRepositoriesData fromData(Object data) {
|
||||
public TaxonomyDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
this.setMultiAutoComplete(((Map<String, Object>) data).get("multiAutoComplete") != null && !((Map<String, Object>) data).get("multiAutoComplete").toString().isEmpty()? Boolean.parseBoolean(((Map<String, Object>) data).get("multiAutoComplete").toString()) : false);
|
||||
|
@ -42,7 +42,7 @@ public class DataRepositoriesData extends FieldData<DataRepositoriesData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public DataRepositoriesData fromXml(Element item) {
|
||||
public TaxonomyDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
this.setMultiAutoComplete(Boolean.parseBoolean(item.getAttribute("multiAutoComplete")));
|
||||
return this;
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -7,9 +7,9 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
|
||||
public class TextAreaData extends FieldData<TextAreaData> {
|
||||
public class TextAreaDataEntity extends BaseFieldDataEntity<TextAreaDataEntity> {
|
||||
@Override
|
||||
public TextAreaData fromData(Object data) {
|
||||
public TextAreaDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel(((Map<String, String>) data).get("label"));
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ public class TextAreaData extends FieldData<TextAreaData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public TextAreaData fromXml(Element item) {
|
||||
public TextAreaDataEntity fromXml(Element item) {
|
||||
this.setLabel(item.getAttribute("label"));
|
||||
return this;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
|
@ -12,8 +12,8 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
|
||||
public class UploadData extends FieldData<UploadData> {
|
||||
public class Option implements XmlSerializable<UploadData.Option> {
|
||||
public class UploadDataEntity extends BaseFieldDataEntity<UploadDataEntity> {
|
||||
public class Option implements XmlSerializable<UploadDataEntity.Option> {
|
||||
private String label;
|
||||
private String value;
|
||||
|
||||
|
@ -42,7 +42,7 @@ public class UploadData extends FieldData<UploadData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public UploadData.Option fromXml(Element item) {
|
||||
public UploadDataEntity.Option fromXml(Element item) {
|
||||
this.label = item.getAttribute("label");
|
||||
this.value = item.getAttribute("value");
|
||||
return this;
|
||||
|
@ -51,13 +51,13 @@ public class UploadData extends FieldData<UploadData> {
|
|||
|
||||
}
|
||||
|
||||
private List<UploadData.Option> types;
|
||||
private List<UploadDataEntity.Option> types;
|
||||
|
||||
public List<UploadData.Option> getTypes() {
|
||||
public List<UploadDataEntity.Option> getTypes() {
|
||||
return types;
|
||||
}
|
||||
|
||||
public void setTypes(List<UploadData.Option> types) {
|
||||
public void setTypes(List<UploadDataEntity.Option> types) {
|
||||
this.types = types;
|
||||
}
|
||||
|
||||
|
@ -72,12 +72,12 @@ public class UploadData extends FieldData<UploadData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public UploadData fromData(Object data) {
|
||||
public UploadDataEntity fromData(Object data) {
|
||||
this.types = new LinkedList();
|
||||
if (data != null) {
|
||||
List<Map<String, String>> types = ((Map<String, List<Map<String, String>>>) data).get("types");
|
||||
for (Map<String, String> map : types) {
|
||||
UploadData.Option newOption = new UploadData.Option();
|
||||
UploadDataEntity.Option newOption = new UploadDataEntity.Option();
|
||||
newOption.setLabel(map.get("label"));
|
||||
newOption.setValue(map.get("value"));
|
||||
this.types.add(newOption);
|
||||
|
@ -104,7 +104,7 @@ public class UploadData extends FieldData<UploadData> {
|
|||
public Element toXml(Document doc) {
|
||||
Element root = doc.createElement("data");
|
||||
Element element = doc.createElement("types");
|
||||
for (UploadData.Option type : this.types) {
|
||||
for (UploadDataEntity.Option type : this.types) {
|
||||
element.appendChild(type.toXml(doc));
|
||||
}
|
||||
root.setAttribute("label", this.getLabel());
|
||||
|
@ -114,7 +114,7 @@ public class UploadData extends FieldData<UploadData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public UploadData fromXml(Element item) {
|
||||
public UploadDataEntity fromXml(Element item) {
|
||||
this.types = new LinkedList<>();
|
||||
Element optionsElement = (Element) item.getElementsByTagName("types").item(0);
|
||||
this.setLabel(item.getAttribute("label"));
|
||||
|
@ -126,7 +126,7 @@ public class UploadData extends FieldData<UploadData> {
|
|||
for (int temp = 0; temp < optionElements.getLength(); temp++) {
|
||||
Node optionElement = optionElements.item(temp);
|
||||
if (optionElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.types.add(new UploadData.Option().fromXml((Element) optionElement));
|
||||
this.types.add(new UploadDataEntity.Option().fromXml((Element) optionElement));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -6,9 +6,9 @@ import org.w3c.dom.Element;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class DatasetIdentifierData extends FieldData<DatasetIdentifierData> {
|
||||
public class ValidationDataEntity extends BaseFieldDataEntity<ValidationDataEntity> {
|
||||
@Override
|
||||
public DatasetIdentifierData fromData(Object data) {
|
||||
public ValidationDataEntity fromData(Object data) {
|
||||
if (data != null) {
|
||||
this.setLabel((String) ((Map<String, Object>) data).get("label"));
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class DatasetIdentifierData extends FieldData<DatasetIdentifierData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public DatasetIdentifierData fromXml(Element item) {
|
||||
public ValidationDataEntity fromXml(Element item) {
|
||||
this.setLabel(item != null ? item.getAttribute("label") : "");
|
||||
return this;
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package eu.eudat.models.data.components.commons.datafield;
|
||||
package eu.eudat.commons.types.descriptiontemplate.fielddata;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -10,8 +10,9 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class WordListData extends ComboBoxData<WordListData> {
|
||||
public class WordListDataEntity extends ComboBoxDataEntity<WordListDataEntity> {
|
||||
private List<Option> options;
|
||||
|
||||
private Boolean multiList;
|
||||
|
||||
public List<Option> getOptions() {
|
||||
|
@ -45,7 +46,7 @@ public class WordListData extends ComboBoxData<WordListData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public WordListData fromXml(Element item) {
|
||||
public WordListDataEntity fromXml(Element item) {
|
||||
super.fromXml(item);
|
||||
this.options = new LinkedList<>();
|
||||
Element optionsElement = (Element) item.getElementsByTagName("options").item(0);
|
||||
|
@ -65,7 +66,7 @@ public class WordListData extends ComboBoxData<WordListData> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public WordListData fromData(Object data) {
|
||||
public WordListDataEntity fromData(Object data) {
|
||||
super.fromData(data);
|
||||
this.options = new LinkedList();
|
||||
if (data != null) {
|
|
@ -1,6 +1,6 @@
|
|||
package eu.eudat.models.data.components.commons;
|
||||
package eu.eudat.commons.types.descriptiontemplate.todelete;
|
||||
|
||||
public class DefaultValue {
|
||||
public class DefaultValueEntity {
|
||||
private String type;
|
||||
private String value;
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package eu.eudat.commons.types.descriptiontemplate.todelete;
|
||||
|
||||
import eu.eudat.commons.enums.FieldType;
|
||||
|
||||
public class FieldDescriptionEntity {
|
||||
private FieldType fieldType;
|
||||
private String cssClass;
|
||||
|
||||
public FieldType getFieldType() {
|
||||
return fieldType;
|
||||
}
|
||||
|
||||
public void setFieldType(FieldType fieldType) {
|
||||
this.fieldType = fieldType;
|
||||
}
|
||||
|
||||
public String getCssClass() {
|
||||
return cssClass;
|
||||
}
|
||||
|
||||
public void setCssClass(String cssClass) {
|
||||
this.cssClass = cssClass;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package eu.eudat.models.data.components.commons;
|
||||
package eu.eudat.commons.types.descriptiontemplate.todelete;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.RuleEntity;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -9,15 +10,15 @@ import org.w3c.dom.NodeList;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
public class Visibility implements XmlSerializable<Visibility> {
|
||||
private List<Rule> rules;
|
||||
public class VisibilityEntity implements XmlSerializable<VisibilityEntity> {
|
||||
private List<RuleEntity> rules;
|
||||
private String style;
|
||||
|
||||
public List<Rule> getRules() {
|
||||
public List<RuleEntity> getRules() {
|
||||
return rules;
|
||||
}
|
||||
|
||||
public void setRules(List<Rule> rules) {
|
||||
public void setRules(List<RuleEntity> rules) {
|
||||
this.rules = rules;
|
||||
}
|
||||
|
||||
|
@ -34,7 +35,7 @@ public class Visibility implements XmlSerializable<Visibility> {
|
|||
Element root = doc.createElement("visible");
|
||||
root.setAttribute("style", this.style);
|
||||
if (rules != null && !rules.isEmpty()) {
|
||||
for (Rule rule : rules) {
|
||||
for (RuleEntity rule : rules) {
|
||||
root.appendChild(rule.toXml(doc));
|
||||
}
|
||||
}
|
||||
|
@ -42,14 +43,14 @@ public class Visibility implements XmlSerializable<Visibility> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Visibility fromXml(Element item) {
|
||||
public VisibilityEntity fromXml(Element item) {
|
||||
this.style = item.getAttribute("style");
|
||||
this.rules = new LinkedList();
|
||||
NodeList rulesElements = item.getChildNodes();
|
||||
for (int temp = 0; temp < rulesElements.getLength(); temp++) {
|
||||
Node ruleElement = rulesElements.item(temp);
|
||||
if (ruleElement.getNodeType() == Node.ELEMENT_NODE) {
|
||||
this.rules.add(new Rule().fromXml((Element) ruleElement));
|
||||
this.rules.add(new RuleEntity().fromXml((Element) ruleElement));
|
||||
}
|
||||
}
|
||||
return this;
|
|
@ -2,6 +2,7 @@ package eu.eudat.commons.types.dmpblueprint;
|
|||
|
||||
import eu.eudat.commons.types.xml.XmlBuilder;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
|
@ -10,7 +11,11 @@ import org.w3c.dom.NodeList;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@XmlRootElement(name = "root")
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DefinitionEntity implements XmlSerializable<DefinitionEntity> {
|
||||
@XmlElementWrapper(name = "sections")
|
||||
@XmlElement(name = "section")
|
||||
private List<SectionEntity> sections;
|
||||
|
||||
public List<SectionEntity> getSections() {
|
||||
|
|
|
@ -1,17 +1,26 @@
|
|||
package eu.eudat.commons.types.dmpblueprint;
|
||||
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class DescriptionTemplateEntity implements XmlSerializable<DescriptionTemplateEntity> {
|
||||
|
||||
@XmlAttribute(name="id")
|
||||
private UUID id;
|
||||
@XmlAttribute(name="descriptionTemplateId")
|
||||
private UUID descriptionTemplateId;
|
||||
@XmlAttribute(name="label")
|
||||
private String label;
|
||||
@XmlAttribute(name="minMultiplicity")
|
||||
private Integer minMultiplicity;
|
||||
@XmlAttribute(name="maxMultiplicity")
|
||||
private Integer maxMultiplicity;
|
||||
|
||||
public UUID getId() {
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
package eu.eudat.commons.types.dmpblueprint;
|
||||
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
public class ExternalAutoCompleteEntity implements XmlSerializable<ExternalAutoCompleteEntity> {
|
||||
private String url;
|
||||
private String optionsRoot;
|
||||
private Boolean multiAutoComplete;
|
||||
private String label;
|
||||
private String value;
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public String getOptionsRoot() {
|
||||
return optionsRoot;
|
||||
}
|
||||
public void setOptionsRoot(String optionsRoot) {
|
||||
this.optionsRoot = optionsRoot;
|
||||
}
|
||||
|
||||
public Boolean getMultiAutoComplete() { return multiAutoComplete; }
|
||||
public void setMultiAutoComplete(Boolean multiAutoComplete) { this.multiAutoComplete = multiAutoComplete; }
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Element toXml(Document doc) {
|
||||
Element root = doc.createElement("externalAutocomplete");
|
||||
root.setAttribute("url", this.url);
|
||||
root.setAttribute("optionsRoot", this.optionsRoot);
|
||||
if (this.multiAutoComplete == null) this.multiAutoComplete = false;
|
||||
root.setAttribute("multiAutoComplete", this.multiAutoComplete.toString());
|
||||
root.setAttribute("label", this.label);
|
||||
root.setAttribute("value", this.value);
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExternalAutoCompleteEntity fromXml(Element item) {
|
||||
this.url = item.getAttribute("url");
|
||||
this.optionsRoot = item.getAttribute("optionsRoot");
|
||||
this.multiAutoComplete = Boolean.valueOf(item.getAttribute("multiAutoComplete"));
|
||||
this.label = item.getAttribute("label");
|
||||
this.value = item.getAttribute("value");
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
|
@ -2,10 +2,15 @@ package eu.eudat.commons.types.dmpblueprint;
|
|||
|
||||
import eu.eudat.commons.enums.DmpBlueprintExtraFieldDataType;
|
||||
import eu.eudat.commons.enums.DmpBlueprintFieldCategory;
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class ExtraFieldEntity extends FieldEntity {
|
||||
|
||||
@XmlAttribute(name="type")
|
||||
private DmpBlueprintExtraFieldDataType type;
|
||||
|
||||
public DmpBlueprintExtraFieldDataType getType() {
|
||||
|
|
|
@ -3,18 +3,36 @@ package eu.eudat.commons.types.dmpblueprint;
|
|||
import eu.eudat.commons.enums.DmpBlueprintExtraFieldDataType;
|
||||
import eu.eudat.commons.enums.DmpBlueprintFieldCategory;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import jakarta.xml.bind.annotation.XmlTransient;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public abstract class FieldEntity implements XmlSerializable<FieldEntity> {
|
||||
@XmlAttribute(name="id")
|
||||
private UUID id;
|
||||
|
||||
@XmlTransient
|
||||
private DmpBlueprintFieldCategory category;
|
||||
|
||||
@XmlAttribute(name="label")
|
||||
private String label;
|
||||
|
||||
@XmlAttribute(name="placeholder")
|
||||
private String placeholder;
|
||||
|
||||
@XmlAttribute(name="description")
|
||||
private String description;
|
||||
|
||||
@XmlAttribute(name="ordinal")
|
||||
private Integer ordinal;
|
||||
|
||||
@XmlAttribute(name="required")
|
||||
private boolean required;
|
||||
|
||||
public UUID getId() {
|
||||
|
|
|
@ -3,6 +3,7 @@ package eu.eudat.commons.types.dmpblueprint;
|
|||
import eu.eudat.commons.enums.DmpBlueprintFieldCategory;
|
||||
import eu.eudat.commons.types.xml.XmlBuilder;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import jakarta.xml.bind.annotation.*;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
|
@ -13,14 +14,29 @@ import java.util.List;
|
|||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class SectionEntity implements XmlSerializable<SectionEntity> {
|
||||
|
||||
@XmlAttribute(name="id")
|
||||
private UUID id;
|
||||
|
||||
@XmlAttribute(name="label")
|
||||
private String label;
|
||||
|
||||
@XmlAttribute(name="description")
|
||||
private String description;
|
||||
|
||||
@XmlAttribute(name="ordinal")
|
||||
private Integer ordinal;
|
||||
|
||||
@XmlTransient
|
||||
private List<FieldEntity> fields;
|
||||
|
||||
@XmlAttribute(name="hasTemplates")
|
||||
private Boolean hasTemplates;
|
||||
|
||||
@XmlElementWrapper(name = "descriptionTemplates")
|
||||
@XmlElement(name = "descriptionTemplate")
|
||||
private List<DescriptionTemplateEntity> descriptionTemplates;
|
||||
|
||||
public UUID getId() {
|
||||
|
|
|
@ -3,13 +3,18 @@ package eu.eudat.commons.types.dmpblueprint;
|
|||
import eu.eudat.commons.enums.DmpBlueprintFieldCategory;
|
||||
import eu.eudat.commons.enums.DmpBlueprintSystemFieldType;
|
||||
import eu.eudat.commons.types.xml.XmlSerializable;
|
||||
import jakarta.xml.bind.annotation.XmlAccessType;
|
||||
import jakarta.xml.bind.annotation.XmlAccessorType;
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class SystemFieldEntity extends FieldEntity {
|
||||
|
||||
@XmlAttribute(name="type")
|
||||
private DmpBlueprintSystemFieldType type;
|
||||
|
||||
public DmpBlueprintSystemFieldType getType() {
|
||||
|
|
|
@ -0,0 +1,174 @@
|
|||
package eu.eudat.data;
|
||||
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionTemplateStatus;
|
||||
import eu.eudat.commons.enums.IsActive;
|
||||
import eu.eudat.data.converters.enums.DescriptionTemplateStatusConverter;
|
||||
import eu.eudat.data.converters.enums.IsActiveConverter;
|
||||
import eu.eudat.data.old.UserDatasetProfile;
|
||||
import eu.eudat.queryable.queryableentity.DataEntity;
|
||||
import jakarta.persistence.*;
|
||||
import org.hibernate.annotations.Type;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
@Entity
|
||||
@Table(name = "\"DescriptionTemplate\"")
|
||||
public class DescriptionTemplateEntity implements DataEntity<DescriptionTemplateEntity,UUID>{
|
||||
@Id
|
||||
@Column(name = "id", columnDefinition = "uuid", updatable = false, nullable = false)
|
||||
private UUID id;
|
||||
public static final String _id = "id";
|
||||
|
||||
@Column(name = "\"label\"", length = DescriptionTemplateEntity._labelLength, nullable = false)
|
||||
private String label;
|
||||
public static final String _label = "label";
|
||||
public static final int _labelLength = 250;
|
||||
|
||||
@Type(eu.eudat.configurations.typedefinition.XMLType.class)
|
||||
@Column(name = "\"definition\"", columnDefinition = "xml", nullable = false)
|
||||
private String definition;
|
||||
public static final String _definition = "definition";
|
||||
|
||||
@Column(name = "\"status\"", nullable = false)
|
||||
@Convert(converter = DescriptionTemplateStatusConverter.class)
|
||||
private DescriptionTemplateStatus status;
|
||||
public static final String _status = "status";
|
||||
|
||||
@Column(name = "is_active", nullable = false)
|
||||
@Convert(converter = IsActiveConverter.class)
|
||||
private IsActive isActive;
|
||||
public static final String _isActive = "isActive";
|
||||
|
||||
|
||||
@Column(name = "\"created_at\"", nullable = false)
|
||||
private Instant createdAt = null;
|
||||
public static final String _createdAt = "createdAt";
|
||||
|
||||
@Column(name = "\"updated_at\"", nullable = false)
|
||||
private Instant updatedAt;
|
||||
public static final String _updatedAt = "updatedAt";
|
||||
|
||||
@Column(name = "\"description\"", nullable = false)
|
||||
private String description;
|
||||
public static final String _description = "description";
|
||||
|
||||
@Column(name = "\"group_id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||
private UUID groupId;
|
||||
public static final String _groupId = "groupId";
|
||||
|
||||
@Column(name = "\"version\"", nullable = false)
|
||||
private Short version;
|
||||
public static final String _version = "version";
|
||||
|
||||
@Column(name = "\"language\"", nullable = false)
|
||||
private String language;
|
||||
public static final String _language = "language";
|
||||
|
||||
@Column(name = "\"type\"", nullable = false)
|
||||
private UUID type;
|
||||
public static final String _type = "type";
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(UUID id) { this.id = id;}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getDefinition() {
|
||||
return definition;
|
||||
}
|
||||
public void setDefinition(String definition) {
|
||||
this.definition = definition;
|
||||
}
|
||||
|
||||
public UUID getGroupId() { return groupId; }
|
||||
public void setGroupId(UUID groupId) { this.groupId = groupId;}
|
||||
|
||||
public Short getVersion() { return version; }
|
||||
public void setVersion(Short version) { this.version = version; }
|
||||
|
||||
public String getLanguage() {
|
||||
return language;
|
||||
}
|
||||
public void setLanguage(String language) {
|
||||
this.language = language;
|
||||
}
|
||||
|
||||
public DescriptionTemplateStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(DescriptionTemplateStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public IsActive getIsActive() {
|
||||
return isActive;
|
||||
}
|
||||
|
||||
public void setIsActive(IsActive isActive) {
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public UUID getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(UUID type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Set<UserDatasetProfile> getUsers() {
|
||||
return new HashSet<>();
|
||||
}
|
||||
public void setUsers(Set<UserDatasetProfile> users) {
|
||||
//this.users = users;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(DescriptionTemplateEntity entity) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getKeys() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionTemplateEntity buildFromTuple(List<Tuple> tuple, List<String> fields, String base) {
|
||||
this.id = UUID.fromString((String) tuple.get(0).get(base.isEmpty() ? base + "." + "id" : "id"));
|
||||
return this;
|
||||
}
|
||||
}
|
|
@ -19,8 +19,9 @@ public class DescriptionTemplateTypeEntity {
|
|||
|
||||
public static final String _id = "id";
|
||||
|
||||
@Column(name = "name", length = 500, nullable = false)
|
||||
@Column(name = "name", length = DescriptionTemplateTypeEntity._nameLength, nullable = false)
|
||||
private String name;
|
||||
public static final int _nameLength = 500;
|
||||
|
||||
public static final String _name = "name";
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import java.util.UUID;
|
|||
|
||||
@Entity
|
||||
@Table(name = "\"DmpBlueprint\"")
|
||||
public class DmpBlueprintEntity implements DataEntity<DmpBlueprintEntity, UUID> {
|
||||
public class DmpBlueprintEntity {
|
||||
@Id
|
||||
@Column(name = "id", columnDefinition = "uuid", updatable = false, nullable = false)
|
||||
private UUID id;
|
||||
|
@ -115,24 +115,4 @@ public class DmpBlueprintEntity implements DataEntity<DmpBlueprintEntity, UUID>
|
|||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(DmpBlueprintEntity entity) {
|
||||
this.updatedAt = Instant.now();
|
||||
this.definition = entity.getDefinition();
|
||||
this.label = entity.getLabel();
|
||||
this.status= entity.getStatus();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getKeys() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DmpBlueprintEntity buildFromTuple(List<Tuple> tuple, List<String> fields, String base) {
|
||||
String currentBase = base.isEmpty() ? "" : base + ".";
|
||||
if (fields.contains(currentBase + "id")) this.id = EntityBinder.fromTuple(tuple, currentBase + "id");
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package eu.eudat.data.converters.enums;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionTemplateTypeStatus;
|
||||
import jakarta.persistence.Converter;
|
||||
|
||||
@Converter
|
||||
public class DescriptionTemplateStatusConverter extends DatabaseEnumConverter<DescriptionTemplateTypeStatus, Short> {
|
||||
public DescriptionTemplateTypeStatus of(Short i) {
|
||||
return DescriptionTemplateTypeStatus.of(i);
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package eu.eudat.data.old;
|
||||
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.queryable.queryableentity.DataEntity;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
||||
|
@ -23,7 +24,7 @@ public class DMPDatasetProfile implements DataEntity<DMPDatasetProfile, UUID> {
|
|||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "\"datasetprofile\"")
|
||||
private DescriptionTemplate datasetprofile;
|
||||
private DescriptionTemplateEntity datasetprofile;
|
||||
|
||||
@Column(name = "\"data\"")
|
||||
private String data;
|
||||
|
@ -42,10 +43,10 @@ public class DMPDatasetProfile implements DataEntity<DMPDatasetProfile, UUID> {
|
|||
this.dmp = dmp;
|
||||
}
|
||||
|
||||
public DescriptionTemplate getDatasetprofile() {
|
||||
public DescriptionTemplateEntity getDatasetprofile() {
|
||||
return datasetprofile;
|
||||
}
|
||||
public void setDatasetprofile(DescriptionTemplate datasetprofile) {
|
||||
public void setDatasetprofile(DescriptionTemplateEntity datasetprofile) {
|
||||
this.datasetprofile = datasetprofile;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package eu.eudat.data.old;
|
||||
|
||||
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.data.converters.DateToUTCConverter;
|
||||
import eu.eudat.data.old.helpers.EntityBinder;
|
||||
import eu.eudat.queryable.queryableentity.DataEntity;
|
||||
|
@ -113,7 +114,7 @@ public class Dataset implements DataEntity<Dataset, UUID> {
|
|||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
//@Cascade(value=org.hibernate.annotations.CascadeType.ALL)
|
||||
@JoinColumn(name = "\"Profile\"")
|
||||
private DescriptionTemplate profile;
|
||||
private DescriptionTemplateEntity profile;
|
||||
|
||||
@Type(eu.eudat.configurations.typedefinition.XMLType.class)
|
||||
@Column(name = "\"Reference\"", columnDefinition = "xml")
|
||||
|
@ -258,10 +259,10 @@ public class Dataset implements DataEntity<Dataset, UUID> {
|
|||
}
|
||||
|
||||
|
||||
public DescriptionTemplate getProfile() {
|
||||
public DescriptionTemplateEntity getProfile() {
|
||||
return profile;
|
||||
}
|
||||
public void setProfile(DescriptionTemplate profile) {
|
||||
public void setProfile(DescriptionTemplateEntity profile) {
|
||||
this.profile = profile;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,199 +0,0 @@
|
|||
package eu.eudat.data.old;
|
||||
|
||||
|
||||
import eu.eudat.data.DescriptionTemplateTypeEntity;
|
||||
import eu.eudat.data.converters.DateToUTCConverter;
|
||||
import eu.eudat.queryable.queryableentity.DataEntity;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
import org.hibernate.annotations.Type;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
@Entity
|
||||
@Table(name = "\"DescriptionTemplate\"")
|
||||
public class DescriptionTemplate implements DataEntity<DescriptionTemplate,UUID>{
|
||||
|
||||
public enum Status {
|
||||
SAVED((short) 0), FINALIZED((short) 1), DELETED((short) 99);
|
||||
|
||||
private short value;
|
||||
|
||||
private Status(short value) {
|
||||
this.value = value;
|
||||
}
|
||||
public short getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public static Status fromInteger(int value) {
|
||||
switch (value) {
|
||||
case 0:
|
||||
return SAVED;
|
||||
case 1:
|
||||
return FINALIZED;
|
||||
case 99:
|
||||
return DELETED;
|
||||
default:
|
||||
throw new RuntimeException("Unsupported Dataset Profile Status");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
||||
@Column(name = "\"ID\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||
private UUID id;
|
||||
|
||||
@Column(name = "\"Label\"", nullable = false)
|
||||
private String label;
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY, mappedBy = "profile")
|
||||
private Set<Dataset> dataset;
|
||||
|
||||
@Type(eu.eudat.configurations.typedefinition.XMLType.class)
|
||||
@Column(name = "\"Definition\"", columnDefinition = "xml", nullable = false)
|
||||
private String definition;
|
||||
|
||||
@Column(name = "\"Status\"", nullable = false)
|
||||
private Short status;
|
||||
|
||||
@Column(name = "\"Created\"")
|
||||
@Convert(converter = DateToUTCConverter.class)
|
||||
private Date created;
|
||||
|
||||
@Column(name = "\"Modified\"")
|
||||
@Convert(converter = DateToUTCConverter.class)
|
||||
private Date modified = new Date();
|
||||
|
||||
@Column(name = "\"Description\"")
|
||||
private String description;
|
||||
|
||||
@Column(name = "\"GroupId\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||
private UUID groupId;
|
||||
|
||||
@Column(name = "\"Version\"", nullable = false)
|
||||
private Short version;
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY)
|
||||
private Set<DMP> dmps;
|
||||
|
||||
@Column(name = "\"Language\"", nullable = false)
|
||||
private String language;
|
||||
|
||||
@OneToOne(fetch = FetchType.EAGER)
|
||||
@JoinColumn(name = "\"Type\"", nullable = false)
|
||||
private DescriptionTemplateTypeEntity type;
|
||||
|
||||
@OneToMany(mappedBy = "descriptionTemplate", fetch = FetchType.LAZY)
|
||||
private Set<UserDatasetProfile> users;
|
||||
|
||||
@OneToMany(fetch = FetchType.LAZY, mappedBy = "datasetprofile")
|
||||
private Set<DMPDatasetProfile> associatedDmps;
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public Short getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(Short status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
public Date getModified() {
|
||||
return modified;
|
||||
}
|
||||
public void setModified(Date modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(UUID id) { this.id = id;}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getDefinition() {
|
||||
return definition;
|
||||
}
|
||||
public void setDefinition(String definition) {
|
||||
this.definition = definition;
|
||||
}
|
||||
|
||||
public Set<Dataset> getDataset() {
|
||||
return dataset;
|
||||
}
|
||||
public void setDataset(Set<Dataset> dataset) {
|
||||
this.dataset = dataset;
|
||||
}
|
||||
|
||||
public UUID getGroupId() { return groupId; }
|
||||
public void setGroupId(UUID groupId) { this.groupId = groupId;}
|
||||
|
||||
public Short getVersion() { return version; }
|
||||
public void setVersion(Short version) { this.version = version; }
|
||||
|
||||
public String getLanguage() {
|
||||
return language;
|
||||
}
|
||||
public void setLanguage(String language) {
|
||||
this.language = language;
|
||||
}
|
||||
|
||||
public DescriptionTemplateTypeEntity getType() {
|
||||
return type;
|
||||
}
|
||||
public void setType(DescriptionTemplateTypeEntity type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Set<UserDatasetProfile> getUsers() {
|
||||
return users;
|
||||
}
|
||||
public void setUsers(Set<UserDatasetProfile> users) {
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DatasetProfileListingModel [id=" + id + ", label=" + label + ", dataset=" + dataset + ", definition=" + definition + ", version=" + version + ", language=" + language + ", type=" + type +"]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(DescriptionTemplate entity) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getKeys() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DescriptionTemplate buildFromTuple(List<Tuple> tuple, List<String> fields, String base) {
|
||||
this.id = UUID.fromString((String) tuple.get(0).get(base.isEmpty() ? base + "." + "id" : "id"));
|
||||
return this;
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package eu.eudat.data.old;
|
||||
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.data.old.helpers.EntityBinder;
|
||||
import eu.eudat.queryable.queryableentity.DataEntity;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
@ -23,7 +24,7 @@ public class UserDatasetProfile implements DataEntity<UserDatasetProfile, UUID>
|
|||
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "\"descriptionTemplate\"")
|
||||
private DescriptionTemplate descriptionTemplate;
|
||||
private DescriptionTemplateEntity descriptionTemplate;
|
||||
|
||||
@Column(name = "role")
|
||||
private Integer role;
|
||||
|
@ -44,12 +45,12 @@ public class UserDatasetProfile implements DataEntity<UserDatasetProfile, UUID>
|
|||
this.user = user;
|
||||
}
|
||||
|
||||
public DescriptionTemplate getDatasetProfile() {
|
||||
public DescriptionTemplateEntity getDatasetProfile() {
|
||||
return descriptionTemplate;
|
||||
}
|
||||
|
||||
public void setDatasetProfile(DescriptionTemplate descriptionTemplate) {
|
||||
this.descriptionTemplate = descriptionTemplate;
|
||||
public void setDatasetProfile(DescriptionTemplateEntity descriptionTemplateEntity) {
|
||||
this.descriptionTemplate = descriptionTemplateEntity;
|
||||
}
|
||||
|
||||
public Integer getRole() {
|
||||
|
|
|
@ -0,0 +1,155 @@
|
|||
package eu.eudat.model;
|
||||
|
||||
import eu.eudat.commons.enums.DescriptionTemplateStatus;
|
||||
import eu.eudat.commons.enums.DescriptionTemplateTypeStatus;
|
||||
import eu.eudat.commons.enums.IsActive;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Definition;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.UUID;
|
||||
|
||||
public class DescriptionTemplate {
|
||||
|
||||
public final static String _id = "id";
|
||||
private UUID id;
|
||||
|
||||
public final static String _label = "label";
|
||||
private String label;
|
||||
|
||||
public final static String _description = "description";
|
||||
private String description;
|
||||
|
||||
public final static String _groupId = "groupId";
|
||||
private UUID groupId;
|
||||
|
||||
public final static String _version = "version";
|
||||
private Short version;
|
||||
|
||||
public final static String _language = "language";
|
||||
private String language;
|
||||
|
||||
public final static String _type = "type";
|
||||
private DescriptionTemplateType type;
|
||||
|
||||
public final static String _definition = "definition";
|
||||
private Definition definition;
|
||||
|
||||
public final static String _createdAt = "createdAt";
|
||||
private Instant createdAt;
|
||||
|
||||
public final static String _updatedAt = "updatedAt";
|
||||
private Instant updatedAt;
|
||||
|
||||
public final static String _isActive = "isActive";
|
||||
private IsActive isActive;
|
||||
|
||||
public final static String _status = "status";
|
||||
private DescriptionTemplateStatus status;
|
||||
|
||||
public final static String _hash = "hash";
|
||||
private String hash;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public UUID getGroupId() {
|
||||
return groupId;
|
||||
}
|
||||
|
||||
public void setGroupId(UUID groupId) {
|
||||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
public Short getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(Short version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public String getLanguage() {
|
||||
return language;
|
||||
}
|
||||
|
||||
public void setLanguage(String language) {
|
||||
this.language = language;
|
||||
}
|
||||
|
||||
public DescriptionTemplateType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(DescriptionTemplateType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Definition getDefinition() {
|
||||
return definition;
|
||||
}
|
||||
|
||||
public void setDefinition(Definition definition) {
|
||||
this.definition = definition;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public IsActive getIsActive() {
|
||||
return isActive;
|
||||
}
|
||||
|
||||
public void setIsActive(IsActive isActive) {
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
public DescriptionTemplateStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(DescriptionTemplateStatus status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getHash() {
|
||||
return hash;
|
||||
}
|
||||
|
||||
public void setHash(String hash) {
|
||||
this.hash = hash;
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@ package eu.eudat.model;
|
|||
|
||||
import eu.eudat.commons.enums.DescriptionTemplateTypeStatus;
|
||||
import eu.eudat.commons.enums.IsActive;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Definition;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.UUID;
|
||||
|
@ -26,6 +27,9 @@ public class DescriptionTemplateType {
|
|||
public final static String _status = "status";
|
||||
private DescriptionTemplateTypeStatus status;
|
||||
|
||||
public final static String _definition = "definition";
|
||||
private Definition definition;
|
||||
|
||||
public final static String _hash = "hash";
|
||||
private String hash;
|
||||
|
||||
|
@ -84,4 +88,12 @@ public class DescriptionTemplateType {
|
|||
public void setHash(String hash) {
|
||||
this.hash = hash;
|
||||
}
|
||||
|
||||
public Definition getDefinition() {
|
||||
return definition;
|
||||
}
|
||||
|
||||
public void setDefinition(Definition definition) {
|
||||
this.definition = definition;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,118 @@
|
|||
package eu.eudat.model.builder;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.XmlHandlingService;
|
||||
import eu.eudat.commons.types.descriptiontemplate.DefinitionEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.data.DescriptionTemplateEntity;
|
||||
import eu.eudat.model.DescriptionTemplate;
|
||||
import eu.eudat.model.DescriptionTemplateType;
|
||||
import eu.eudat.model.builder.descriptiontemplatedefinition.DefinitionBuilder;
|
||||
import eu.eudat.query.DescriptionTemplateTypeQuery;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.data.query.QueryFactory;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.BaseFieldSet;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class DescriptionTemplateBuilder extends BaseBuilder<DescriptionTemplate, DescriptionTemplateEntity> {
|
||||
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
private final QueryFactory queryFactory;
|
||||
private final BuilderFactory builderFactory;
|
||||
private final XmlHandlingService xmlHandlingService;
|
||||
|
||||
@Autowired
|
||||
public DescriptionTemplateBuilder(
|
||||
ConventionService conventionService, QueryFactory queryFactory, BuilderFactory builderFactory, XmlHandlingService xmlHandlingService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DescriptionTemplateBuilder.class)));
|
||||
this.queryFactory = queryFactory;
|
||||
this.builderFactory = builderFactory;
|
||||
this.xmlHandlingService = xmlHandlingService;
|
||||
}
|
||||
|
||||
public DescriptionTemplateBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DescriptionTemplate> build(FieldSet fields, List<DescriptionTemplateEntity> datas) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(datas).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || datas == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
FieldSet descriptionTemplateTypeFields = fields.extractPrefixed(this.asPrefix(DescriptionTemplate._type));
|
||||
Map<UUID, DescriptionTemplateType> descriptionTemplateTypeMap = this.collectDescriptionTemplateTypes(descriptionTemplateTypeFields, datas);
|
||||
|
||||
|
||||
FieldSet definitionFields = fields.extractPrefixed(this.asPrefix(DescriptionTemplate._definition));
|
||||
List<DescriptionTemplate> models = new ArrayList<>();
|
||||
for (DescriptionTemplateEntity d : datas) {
|
||||
DescriptionTemplate m = new DescriptionTemplate();
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._id))) m.setId(d.getId());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._label))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._description))) m.setDescription(d.getDescription());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._groupId))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._version))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._language))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._type))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._definition))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._createdAt))) m.setCreatedAt(d.getCreatedAt());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._updatedAt))) m.setUpdatedAt(d.getUpdatedAt());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._isActive))) m.setIsActive(d.getIsActive());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._status))) m.setStatus(d.getStatus());
|
||||
if (fields.hasField(this.asIndexer(DescriptionTemplate._hash))) m.setHash(this.hashValue(d.getUpdatedAt()));
|
||||
if (!definitionFields.isEmpty() && d.getDefinition() != null){
|
||||
DefinitionEntity definition = this.xmlHandlingService.fromXmlSafe(DefinitionEntity.class, d.getDefinition());
|
||||
m.setDefinition(this.builderFactory.builder(DefinitionBuilder.class).authorize(this.authorize).build(definitionFields, definition));
|
||||
}
|
||||
if (!descriptionTemplateTypeFields.isEmpty() && descriptionTemplateTypeMap != null && descriptionTemplateTypeMap.containsKey(d.getType())) m.setType(descriptionTemplateTypeMap.get(d.getType()));
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
|
||||
private Map<UUID, DescriptionTemplateType> collectDescriptionTemplateTypes(FieldSet fields, List<DescriptionTemplateEntity> datas) throws MyApplicationException {
|
||||
if (fields.isEmpty() || datas.isEmpty()) return null;
|
||||
this.logger.debug("checking related - {}", DescriptionTemplateType.class.getSimpleName());
|
||||
|
||||
Map<UUID, DescriptionTemplateType> itemMap = null;
|
||||
if (!fields.hasOtherField(this.asIndexer(DescriptionTemplateType._id))) {
|
||||
itemMap = this.asEmpty(
|
||||
datas.stream().map(DescriptionTemplateEntity::getType).distinct().collect(Collectors.toList()),
|
||||
x -> {
|
||||
DescriptionTemplateType item = new DescriptionTemplateType();
|
||||
item.setId(x);
|
||||
return item;
|
||||
},
|
||||
x -> x.getId());
|
||||
} else {
|
||||
FieldSet clone = new BaseFieldSet(fields.getFields()).ensure(DescriptionTemplateType._id);
|
||||
DescriptionTemplateTypeQuery q = this.queryFactory.query(DescriptionTemplateTypeQuery.class).ids(datas.stream().map(DescriptionTemplateEntity::getType).distinct().collect(Collectors.toList()));
|
||||
itemMap = this.builderFactory.builder(DescriptionTemplateTypeBuilder.class).asForeignKey(q, clone, DescriptionTemplateType::getId);
|
||||
}
|
||||
if (!fields.hasField(DescriptionTemplateType._id)) {
|
||||
itemMap.values().stream().filter(x -> x != null).map(x -> {
|
||||
x.setId(null);
|
||||
return x;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
return itemMap;
|
||||
}
|
||||
}
|
|
@ -48,6 +48,7 @@ public class DmpBlueprintBuilder extends BaseBuilder<DmpBlueprint, DmpBlueprintE
|
|||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
FieldSet definitionFields = fields.extractPrefixed(this.asPrefix(DmpBlueprint._definition));
|
||||
List<DmpBlueprint> models = new ArrayList<>();
|
||||
for (DmpBlueprintEntity d : data) {
|
||||
|
@ -60,7 +61,7 @@ public class DmpBlueprintBuilder extends BaseBuilder<DmpBlueprint, DmpBlueprintE
|
|||
if (fields.hasField(this.asIndexer(DmpBlueprint._status))) m.setStatus(d.getStatus());
|
||||
if (fields.hasField(this.asIndexer(DmpBlueprint._hash))) m.setHash(this.hashValue(d.getUpdatedAt()));
|
||||
if (!definitionFields.isEmpty() && d.getDefinition() != null){
|
||||
DefinitionEntity definition = this.xmlHandlingService.xmlSerializableFromXmlSafe(DefinitionEntity.class, d.getDefinition());
|
||||
DefinitionEntity definition = this.xmlHandlingService.fromXmlSafe(DefinitionEntity.class, d.getDefinition());
|
||||
m.setDefinition(this.builderFactory.builder(DefinitionBuilder.class).authorize(this.authorize).build(definitionFields, definition));
|
||||
}
|
||||
models.add(m);
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.DefinitionEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Definition;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component("descriptiontemplatedefinitionbuilder")
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class DefinitionBuilder extends BaseBuilder<Definition, DefinitionEntity> {
|
||||
|
||||
private final BuilderFactory builderFactory;
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public DefinitionBuilder(
|
||||
ConventionService conventionService, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DefinitionBuilder.class)));
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
public DefinitionBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Definition> build(FieldSet fields, List<DefinitionEntity> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
//Not Bulk Build because is XML no interaction with db
|
||||
FieldSet sectionsFields = fields.extractPrefixed(this.asPrefix(Definition._sections));
|
||||
FieldSet pagesFields = fields.extractPrefixed(this.asPrefix(Definition._pages));
|
||||
|
||||
List<Definition> models = new ArrayList<>();
|
||||
for (DefinitionEntity d : data) {
|
||||
Definition m = new Definition();
|
||||
if (!sectionsFields.isEmpty() && d.getSections() != null) m.setSections(this.builderFactory.builder(SectionBuilder.class).authorize(this.authorize).build(sectionsFields, d.getSections()));
|
||||
if (!pagesFields.isEmpty() && d.getPages() != null) m.setPages(this.builderFactory.builder(PageBuilder.class).authorize(this.authorize).build(pagesFields, d.getPages()));
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.FieldEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.service.fielddatahelper.FieldDataHelperService;
|
||||
import eu.eudat.service.fielddatahelper.FieldDataHelperServiceProvider;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Field;
|
||||
import java.util.*;
|
||||
|
||||
@Component("descriptiontemplatedefinitionfieldbuilder")
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class FieldBuilder extends BaseBuilder<Field, FieldEntity> {
|
||||
|
||||
private final BuilderFactory builderFactory;
|
||||
private final FieldDataHelperServiceProvider fieldDataHelperServiceProvider;
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public FieldBuilder(
|
||||
ConventionService conventionService, BuilderFactory builderFactory, FieldDataHelperServiceProvider fieldDataHelperServiceProvider) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(FieldBuilder.class)));
|
||||
this.builderFactory = builderFactory;
|
||||
this.fieldDataHelperServiceProvider = fieldDataHelperServiceProvider;
|
||||
}
|
||||
|
||||
public FieldBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Field> build(FieldSet fields, List<FieldEntity> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
//Not Bulk Build because is XML no interaction with db
|
||||
FieldSet visibilityRulesFields = fields.extractPrefixed(this.asPrefix(Field._visibilityRules));
|
||||
FieldSet dataFields = fields.extractPrefixed(this.asPrefix(Field._data));
|
||||
|
||||
List<Field> models = new ArrayList<>();
|
||||
for (FieldEntity d : data) {
|
||||
Field m = new Field();
|
||||
if (fields.hasField(this.asIndexer(Field._id))) m.setId(d.getId());
|
||||
if (fields.hasField(this.asIndexer(Field._ordinal))) m.setOrdinal(d.getOrdinal());
|
||||
if (fields.hasField(this.asIndexer(Field._numbering))) m.setNumbering(d.getNumbering());
|
||||
if (fields.hasField(this.asIndexer(Field._schematics))) m.setSchematics(d.getSchematics());
|
||||
if (fields.hasField(this.asIndexer(Field._defaultValue))) m.setDefaultValue(d.getDefaultValue());
|
||||
if (fields.hasField(this.asIndexer(Field._fieldType))) m.setFieldType(d.getFieldType());
|
||||
if (fields.hasField(this.asIndexer(Field._includeInExport))) m.setIncludeInExport(d.getIncludeInExport());
|
||||
if (fields.hasField(this.asIndexer(Field._validations))) m.setValidations(d.getValidations());
|
||||
if (fields.hasField(this.asIndexer(Field._numbering))) m.setNumbering(d.getNumbering());
|
||||
if (fields.hasField(this.asIndexer(Field._numbering))) m.setNumbering(d.getNumbering());
|
||||
if (!visibilityRulesFields.isEmpty() && d.getVisibilityRules() != null) m.setVisibilityRules(this.builderFactory.builder(RuleBuilder.class).authorize(this.authorize).build(visibilityRulesFields, d.getVisibilityRules()));
|
||||
if (!dataFields.isEmpty() && d.getData() != null){
|
||||
FieldDataHelperService fieldDataHelperService = this.fieldDataHelperServiceProvider.get(d.getFieldType());
|
||||
if (fieldDataHelperService.requireSubType()) fieldDataHelperService.setSubType(d.getData().getSubType());
|
||||
m.setData(fieldDataHelperService.buildOne(dataFields, d.getData(), this.authorize));
|
||||
}
|
||||
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.FieldSetEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Field;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class FieldSetBuilder extends BaseBuilder<eu.eudat.model.descriptiontemplatedefinition.FieldSet, FieldSetEntity> {
|
||||
|
||||
private final BuilderFactory builderFactory;
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public FieldSetBuilder(
|
||||
ConventionService conventionService, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(FieldSetBuilder.class)));
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
public FieldSetBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<eu.eudat.model.descriptiontemplatedefinition.FieldSet> build(FieldSet fields, List<FieldSetEntity> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
FieldSet fieldsFields = fields.extractPrefixed(this.asPrefix(eu.eudat.model.descriptiontemplatedefinition.FieldSet._fields));
|
||||
|
||||
List<eu.eudat.model.descriptiontemplatedefinition.FieldSet> models = new ArrayList<>();
|
||||
for (FieldSetEntity d : data) {
|
||||
eu.eudat.model.descriptiontemplatedefinition.FieldSet m = new eu.eudat.model.descriptiontemplatedefinition.FieldSet();
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._id))) m.setId(d.getId());
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._ordinal))) m.setOrdinal(d.getOrdinal());
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._title))) m.setTitle(d.getTitle());
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._numbering))) m.setNumbering(d.getNumbering());
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._description))) m.setDescription(d.getDescription());
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._extendedDescription))) m.setExtendedDescription(d.getExtendedDescription());
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._additionalInformation))) m.setAdditionalInformation(d.getAdditionalInformation());
|
||||
if (fields.hasField(this.asIndexer(eu.eudat.model.descriptiontemplatedefinition.FieldSet._hasCommentField))) m.setHasCommentField(d.getHasCommentField());
|
||||
if (!fieldsFields.isEmpty() && d.getFields() != null) m.setFields(this.builderFactory.builder(FieldBuilder.class).authorize(this.authorize).build(fieldsFields, d.getFields()));
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.PageEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Page;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class PageBuilder extends BaseBuilder<Page, PageEntity> {
|
||||
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public PageBuilder(
|
||||
ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(PageBuilder.class)));
|
||||
}
|
||||
|
||||
public PageBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Page> build(FieldSet fields, List<PageEntity> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
List<Page> models = new ArrayList<>();
|
||||
for (PageEntity d : data) {
|
||||
Page m = new Page();
|
||||
if (fields.hasField(this.asIndexer(Page._id))) m.setId(d.getId());
|
||||
if (fields.hasField(this.asIndexer(Page._ordinal))) m.setOrdinal(d.getOrdinal());
|
||||
if (fields.hasField(this.asIndexer(Page._title))) m.setTitle(d.getTitle());
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.RuleEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Rule;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class RuleBuilder extends BaseBuilder<Rule, RuleEntity> {
|
||||
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public RuleBuilder(
|
||||
ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(RuleBuilder.class)));
|
||||
}
|
||||
|
||||
public RuleBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Rule> build(FieldSet fields, List<RuleEntity> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
List<Rule> models = new ArrayList<>();
|
||||
for (RuleEntity d : data) {
|
||||
Rule m = new Rule();
|
||||
if (fields.hasField(this.asIndexer(Rule._target))) m.setTarget(d.getTarget());
|
||||
if (fields.hasField(this.asIndexer(Rule._value))) m.setValue(d.getValue());
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.SectionEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.Section;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component("descriptiontemplatedefinitionsectionbuilder")
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class SectionBuilder extends BaseBuilder<Section, SectionEntity> {
|
||||
|
||||
private final BuilderFactory builderFactory;
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public SectionBuilder(
|
||||
ConventionService conventionService, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(SectionBuilder.class)));
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
public SectionBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Section> build(FieldSet fields, List<SectionEntity> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
//Not Bulk Build because is XML no interaction with db
|
||||
FieldSet fieldSetsFields = fields.extractPrefixed(this.asPrefix(Section._fieldSets));
|
||||
|
||||
List<Section> models = new ArrayList<>();
|
||||
for (SectionEntity d : data) {
|
||||
Section m = new Section();
|
||||
if (fields.hasField(this.asIndexer(Section._id))) m.setId(d.getId());
|
||||
if (fields.hasField(this.asIndexer(Section._description))) m.setDescription(d.getDescription());
|
||||
if (fields.hasField(this.asIndexer(Section._ordinal))) m.setOrdinal(d.getOrdinal());
|
||||
if (fields.hasField(this.asIndexer(Section._defaultVisibility))) m.setDefaultVisibility(d.isDefaultVisibility());
|
||||
if (fields.hasField(this.asIndexer(Section._multiplicity))) m.setMultiplicity(d.getMultiplicity());
|
||||
if (fields.hasField(this.asIndexer(Section._numbering))) m.setNumbering(d.getNumbering());
|
||||
if (fields.hasField(this.asIndexer(Section._page))) m.setPage(d.getPage());
|
||||
if (fields.hasField(this.asIndexer(Section._title))) m.setTitle(d.getTitle());
|
||||
if (fields.hasField(this.asIndexer(Section._extendedDescription))) m.setExtendedDescription(d.getExtendedDescription());
|
||||
if (d.getSections() != null) m.setSections(this.builderFactory.builder(SectionBuilder.class).authorize(this.authorize).build(fields, d.getSections()));
|
||||
if (!fieldSetsFields.isEmpty() && d.getFieldSets() != null) m.setFieldSets(this.builderFactory.builder(FieldSetBuilder.class).authorize(this.authorize).build(fieldSetsFields, d.getFieldSets()));
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.AutoCompleteDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.AuthAutoCompleteData;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class AuthAutoCompleteDataBuilder extends BaseBuilder<AuthAutoCompleteData, AutoCompleteDataEntity.AuthAutoCompleteData> {
|
||||
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public AuthAutoCompleteDataBuilder(
|
||||
ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(AuthAutoCompleteDataBuilder.class)));
|
||||
}
|
||||
|
||||
public AuthAutoCompleteDataBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AuthAutoCompleteData> build(FieldSet fields, List<AutoCompleteDataEntity.AuthAutoCompleteData> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
List<AuthAutoCompleteData> models = new ArrayList<>();
|
||||
for (AutoCompleteDataEntity.AuthAutoCompleteData d : data) {
|
||||
AuthAutoCompleteData m = new AuthAutoCompleteData();
|
||||
if (fields.hasField(this.asIndexer(AuthAutoCompleteData._url))) m.setUrl(d.getUrl());
|
||||
if (fields.hasField(this.asIndexer(AuthAutoCompleteData._method))) m.setMethod(d.getMethod());
|
||||
if (fields.hasField(this.asIndexer(AuthAutoCompleteData._body))) m.setBody(d.getBody());
|
||||
if (fields.hasField(this.asIndexer(AuthAutoCompleteData._path))) m.setPath(d.getPath());
|
||||
if (fields.hasField(this.asIndexer(AuthAutoCompleteData._type))) m.setType(d.getType());
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.AutoCompleteDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.AutoCompleteData;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 AutoCompleteDataBuilder extends ComboBoxDataBuilder<AutoCompleteData, AutoCompleteDataEntity> {
|
||||
private final BuilderFactory builderFactory;
|
||||
@Autowired
|
||||
public AutoCompleteDataBuilder(ConventionService conventionService, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(AutoCompleteDataBuilder.class)));
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AutoCompleteData getInstance() {
|
||||
return new AutoCompleteData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildComboBoxChild(FieldSet fields, AutoCompleteDataEntity d, AutoCompleteData m) {
|
||||
FieldSet autoCompleteSingleDataListFields = fields.extractPrefixed(this.asPrefix(AutoCompleteData._autoCompleteSingleDataList));
|
||||
if (fields.hasField(this.asIndexer(AutoCompleteData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
if (!autoCompleteSingleDataListFields.isEmpty() && d.getAutoCompleteSingleDataList() != null) m.setAutoCompleteSingleDataList(this.builderFactory.builder(AutoCompleteSingleDataBuilder.class).authorize(this.authorize).build(autoCompleteSingleDataListFields, d.getAutoCompleteSingleDataList()));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.AutoCompleteDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.AutoCompleteSingleData;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class AutoCompleteSingleDataBuilder extends BaseBuilder<AutoCompleteSingleData, AutoCompleteDataEntity.AutoCompleteSingleData> {
|
||||
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
private final BuilderFactory builderFactory;
|
||||
|
||||
@Autowired
|
||||
public AutoCompleteSingleDataBuilder(
|
||||
ConventionService conventionService, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(AutoCompleteSingleDataBuilder.class)));
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
public AutoCompleteSingleDataBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AutoCompleteSingleData> build(FieldSet fields, List<AutoCompleteDataEntity.AutoCompleteSingleData> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
FieldSet autoCompleteOptionsFields = fields.extractPrefixed(this.asPrefix(AutoCompleteSingleData._autoCompleteOptions));
|
||||
FieldSet authFields = fields.extractPrefixed(this.asPrefix(AutoCompleteSingleData._auth));
|
||||
List<AutoCompleteSingleData> models = new ArrayList<>();
|
||||
for (AutoCompleteDataEntity.AutoCompleteSingleData d : data) {
|
||||
AutoCompleteSingleData m = new AutoCompleteSingleData();
|
||||
if (fields.hasField(this.asIndexer(AutoCompleteSingleData._autocompleteType))) m.setAutocompleteType(d.getAutocompleteType());
|
||||
if (fields.hasField(this.asIndexer(AutoCompleteSingleData._url))) m.setUrl(d.getUrl());
|
||||
if (fields.hasField(this.asIndexer(AutoCompleteSingleData._optionsRoot))) m.setOptionsRoot(d.getOptionsRoot());
|
||||
if (fields.hasField(this.asIndexer(AutoCompleteSingleData._hasAuth))) m.setHasAuth(d.getHasAuth());
|
||||
if (fields.hasField(this.asIndexer(AutoCompleteSingleData._method))) m.setMethod(d.getMethod());
|
||||
if (!autoCompleteOptionsFields.isEmpty() && d.getAutoCompleteOptions() != null) m.setAutoCompleteOptions(this.builderFactory.builder(ComboBoxOptionBuilder.class).authorize(this.authorize).build(autoCompleteOptionsFields, d.getAutoCompleteOptions()));
|
||||
if (!authFields.isEmpty() && d.getAuth() != null) m.setAuth(this.builderFactory.builder(AuthAutoCompleteDataBuilder.class).authorize(this.authorize).build(authFields, d.getAuth()));
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.BaseFieldDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.BaseFieldData;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public abstract class BaseFieldDataBuilder<Model extends BaseFieldData, Entity extends BaseFieldDataEntity<?>> extends BaseBuilder<Model, Entity> {
|
||||
|
||||
protected EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public BaseFieldDataBuilder(
|
||||
ConventionService conventionService,
|
||||
LoggerService logger) {
|
||||
super(conventionService, logger);
|
||||
}
|
||||
|
||||
public BaseFieldDataBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
protected abstract Model getInstance();
|
||||
|
||||
protected abstract void buildChild(FieldSet fields, Entity d, Model m);
|
||||
@Override
|
||||
public List<Model> build(FieldSet fields, List<Entity> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
List<Model> models = new ArrayList<>();
|
||||
for (Entity d : data) {
|
||||
Model m = this.getInstance();
|
||||
if (fields.hasField(this.asIndexer(Model._label))) m.setLabel(d.getLabel());
|
||||
this.buildChild(fields, d, m);
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.BooleanDecisionDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.BooleanDecisionData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 BooleanDecisionDataBuilder extends BaseFieldDataBuilder<BooleanDecisionData, BooleanDecisionDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public BooleanDecisionDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(BooleanDecisionDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected BooleanDecisionData getInstance() {
|
||||
return new BooleanDecisionData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, BooleanDecisionDataEntity d, BooleanDecisionData model) {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.CheckBoxDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.CheckBoxData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 CheckBoxDataBuilder extends BaseFieldDataBuilder<CheckBoxData, CheckBoxDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public CheckBoxDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(CheckBoxDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected CheckBoxData getInstance() {
|
||||
return new CheckBoxData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, CheckBoxDataEntity d, CheckBoxData m) {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.ComboBoxDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.ComboBoxData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
public abstract class ComboBoxDataBuilder<M extends ComboBoxData, D extends ComboBoxDataEntity<?>> extends BaseFieldDataBuilder<M, D> {
|
||||
|
||||
protected abstract void buildComboBoxChild(FieldSet fields, D d, M m);
|
||||
@Autowired
|
||||
public ComboBoxDataBuilder(ConventionService conventionService, LoggerService logger) {
|
||||
super(conventionService, logger);
|
||||
}
|
||||
|
||||
protected void buildChild(FieldSet fields, D d, M m) {
|
||||
if (fields.hasField(this.asIndexer(ComboBoxData._type))) m.setType(d.getType());
|
||||
this.buildComboBoxChild(fields, d, m);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.ComboBoxDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.ComboBoxOption;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class ComboBoxOptionBuilder extends BaseBuilder<ComboBoxOption, ComboBoxDataEntity.Option> {
|
||||
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public ComboBoxOptionBuilder(
|
||||
ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(ComboBoxOptionBuilder.class)));
|
||||
}
|
||||
|
||||
public ComboBoxOptionBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ComboBoxOption> build(FieldSet fields, List<ComboBoxDataEntity.Option> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
List<ComboBoxOption> models = new ArrayList<>();
|
||||
for (ComboBoxDataEntity.Option d : data) {
|
||||
ComboBoxOption m = new ComboBoxOption();
|
||||
if (fields.hasField(this.asIndexer(ComboBoxOption._label))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(ComboBoxOption._source))) m.setSource(d.getSource());
|
||||
if (fields.hasField(this.asIndexer(ComboBoxOption._uri))) m.setUri(d.getUri());
|
||||
if (fields.hasField(this.asIndexer(ComboBoxOption._value))) m.setValue(d.getValue());
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.CurrencyDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.CurrencyData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 CurrencyDataBuilder extends BaseFieldDataBuilder<CurrencyData, CurrencyDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public CurrencyDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(CurrencyDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected CurrencyData getInstance() {
|
||||
return new CurrencyData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, CurrencyDataEntity d, CurrencyData m) {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.DataRepositoryDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.ComboBoxOption;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.DataRepositoryData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 DataRepositoryDataBuilder extends BaseFieldDataBuilder<DataRepositoryData, DataRepositoryDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public DataRepositoryDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DataRepositoryDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected DataRepositoryData getInstance() {
|
||||
return new DataRepositoryData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, DataRepositoryDataEntity d, DataRepositoryData m) {
|
||||
if (fields.hasField(this.asIndexer(DataRepositoryData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.DatasetAutoCompleteDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.DatasetAutoCompleteData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 DatasetAutoCompleteDataBuilder extends InternalDmpBaseDataBuilder<DatasetAutoCompleteData, DatasetAutoCompleteDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public DatasetAutoCompleteDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DatasetAutoCompleteDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected DatasetAutoCompleteData getInstance() {
|
||||
return new DatasetAutoCompleteData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildInternalDmpChild(FieldSet fields, DatasetAutoCompleteDataEntity m, DatasetAutoCompleteData d) {
|
||||
if (fields.hasField(this.asIndexer(DatasetAutoCompleteData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.DatasetIdentifierDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.DatasetIdentifierData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 DatasetIdentifierDataBuilder extends BaseFieldDataBuilder<DatasetIdentifierData, DatasetIdentifierDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public DatasetIdentifierDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DatasetIdentifierDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected DatasetIdentifierData getInstance() {
|
||||
return new DatasetIdentifierData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, DatasetIdentifierDataEntity d, DatasetIdentifierData m) {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.DatePickerDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.DatePickerData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 DatePickerDataBuilder extends BaseFieldDataBuilder<DatePickerData, DatePickerDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public DatePickerDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DatePickerDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected DatePickerData getInstance() {
|
||||
return new DatePickerData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, DatePickerDataEntity d, DatePickerData m) {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.DmpAutoCompleteDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.DmpAutoCompleteData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 DmpAutoCompleteDataBuilder extends InternalDmpBaseDataBuilder<DmpAutoCompleteData, DmpAutoCompleteDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public DmpAutoCompleteDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(DmpAutoCompleteDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected DmpAutoCompleteData getInstance() {
|
||||
return new DmpAutoCompleteData();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildInternalDmpChild(FieldSet fields, DmpAutoCompleteDataEntity m, DmpAutoCompleteData d) {
|
||||
if (fields.hasField(this.asIndexer(DmpAutoCompleteData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.ExternalDatasetDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.ComboBoxOption;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.ExternalDatasetData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 ExternalDatasetDataBuilder extends BaseFieldDataBuilder<ExternalDatasetData, ExternalDatasetDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public ExternalDatasetDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(ExternalDatasetDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected ExternalDatasetData getInstance() {
|
||||
return new ExternalDatasetData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, ExternalDatasetDataEntity d, ExternalDatasetData m) {
|
||||
if (fields.hasField(this.asIndexer(ExternalDatasetData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
if (fields.hasField(this.asIndexer(ExternalDatasetData._type))) m.setType(d.getType());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.FreeTextDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.FreeTextData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 FreeTextDataBuilder extends BaseFieldDataBuilder<FreeTextData, FreeTextDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public FreeTextDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(FreeTextDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected FreeTextData getInstance() {
|
||||
return new FreeTextData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, FreeTextDataEntity d, FreeTextData m) {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.InternalDmpBaseDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.InternalDmpBaseData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
public abstract class InternalDmpBaseDataBuilder<M extends InternalDmpBaseData, D extends InternalDmpBaseDataEntity<?>> extends BaseFieldDataBuilder<M, D> {
|
||||
|
||||
protected abstract void buildInternalDmpChild(FieldSet fields, D d, M m);
|
||||
@Autowired
|
||||
public InternalDmpBaseDataBuilder(ConventionService conventionService, LoggerService logger) {
|
||||
super(conventionService, logger);
|
||||
}
|
||||
|
||||
protected void buildChild(FieldSet fields, D d, M m) {
|
||||
if (fields.hasField(this.asIndexer(InternalDmpBaseData._type))) m.setType(d.getType());
|
||||
this.buildInternalDmpChild(fields, d, m);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.LicenseDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.ComboBoxOption;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.LicenseData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 LicenseDataBuilder extends BaseFieldDataBuilder<LicenseData, LicenseDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public LicenseDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(LicenseDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected LicenseData getInstance() {
|
||||
return new LicenseData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, LicenseDataEntity d, LicenseData m) {
|
||||
if (fields.hasField(this.asIndexer(LicenseData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.OrganizationDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.OrganizationData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 OrganizationDataBuilder extends BaseFieldDataBuilder<OrganizationData, OrganizationDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public OrganizationDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(OrganizationDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected OrganizationData getInstance() {
|
||||
return new OrganizationData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, OrganizationDataEntity d, OrganizationData m) {
|
||||
if (fields.hasField(this.asIndexer(OrganizationData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.PublicationDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.PublicationData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 PublicationDataBuilder extends BaseFieldDataBuilder<PublicationData, PublicationDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public PublicationDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(PublicationDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected PublicationData getInstance() {
|
||||
return new PublicationData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, PublicationDataEntity d, PublicationData m) {
|
||||
if (fields.hasField(this.asIndexer(PublicationData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.RadioBoxDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.descriptiontemplatedefinition.FieldBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.RadioBoxData;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.RadioBoxOption;
|
||||
import gr.cite.tools.data.builder.BuilderFactory;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 RadioBoxDataBuilder extends BaseFieldDataBuilder<RadioBoxData, RadioBoxDataEntity> {
|
||||
private final BuilderFactory builderFactory;
|
||||
|
||||
@Autowired
|
||||
public RadioBoxDataBuilder(ConventionService conventionService, BuilderFactory builderFactory) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(RadioBoxDataBuilder.class)));
|
||||
this.builderFactory = builderFactory;
|
||||
}
|
||||
|
||||
protected RadioBoxData getInstance() {
|
||||
return new RadioBoxData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, RadioBoxDataEntity d, RadioBoxData m) {
|
||||
FieldSet optionsFields = fields.extractPrefixed(this.asPrefix(RadioBoxData._options));
|
||||
if (!optionsFields.isEmpty() && d.getOptions() != null) m.setOptions(this.builderFactory.builder(RadioBoxOptionBuilder.class).authorize(this.authorize).build(optionsFields, d.getOptions()));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.authorization.AuthorizationFlags;
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.RadioBoxDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.builder.BaseBuilder;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.RadioBoxOption;
|
||||
import gr.cite.tools.exception.MyApplicationException;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.DataLogEntry;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public class RadioBoxOptionBuilder extends BaseBuilder<RadioBoxOption, RadioBoxDataEntity.Option> {
|
||||
|
||||
private EnumSet<AuthorizationFlags> authorize = EnumSet.of(AuthorizationFlags.None);
|
||||
|
||||
@Autowired
|
||||
public RadioBoxOptionBuilder(
|
||||
ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(RadioBoxOptionBuilder.class)));
|
||||
}
|
||||
|
||||
public RadioBoxOptionBuilder authorize(EnumSet<AuthorizationFlags> values) {
|
||||
this.authorize = values;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RadioBoxOption> build(FieldSet fields, List<RadioBoxDataEntity.Option> data) throws MyApplicationException {
|
||||
this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0));
|
||||
this.logger.trace(new DataLogEntry("requested fields", fields));
|
||||
if (fields == null || data == null || fields.isEmpty())
|
||||
return new ArrayList<>();
|
||||
|
||||
List<RadioBoxOption> models = new ArrayList<>();
|
||||
for (RadioBoxDataEntity.Option d : data) {
|
||||
RadioBoxOption m = new RadioBoxOption();
|
||||
if (fields.hasField(this.asIndexer(RadioBoxOption._label))) m.setLabel(d.getLabel());
|
||||
if (fields.hasField(this.asIndexer(RadioBoxOption._value))) m.setValue(d.getValue());
|
||||
models.add(m);
|
||||
}
|
||||
this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0));
|
||||
return models;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata;
|
||||
|
||||
import eu.eudat.commons.types.descriptiontemplate.fielddata.RegistryDataEntity;
|
||||
import eu.eudat.convention.ConventionService;
|
||||
import eu.eudat.model.descriptiontemplatedefinition.fielddata.RegistryData;
|
||||
import gr.cite.tools.fieldset.FieldSet;
|
||||
import gr.cite.tools.logging.LoggerService;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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 RegistryDataBuilder extends BaseFieldDataBuilder<RegistryData, RegistryDataEntity> {
|
||||
|
||||
@Autowired
|
||||
public RegistryDataBuilder(ConventionService conventionService) {
|
||||
super(conventionService, new LoggerService(LoggerFactory.getLogger(RegistryDataBuilder.class)));
|
||||
}
|
||||
|
||||
protected RegistryData getInstance() {
|
||||
return new RegistryData();
|
||||
}
|
||||
@Override
|
||||
protected void buildChild(FieldSet fields, RegistryDataEntity d, RegistryData m) {
|
||||
if (fields.hasField(this.asIndexer(RegistryData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultiAutoComplete());
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue