diff --git a/dmp-backend/core/pom.xml b/dmp-backend/core/pom.xml
index 5ece8aa4e..24197ca4e 100644
--- a/dmp-backend/core/pom.xml
+++ b/dmp-backend/core/pom.xml
@@ -24,10 +24,15 @@
commons-csv
1.10.0
+
+ commons-validator
+ commons-validator
+ 1.8.0
+
gr.cite
validation
- 2.1.0
+ 3.0.1
gr.cite
diff --git a/dmp-backend/core/src/main/java/eu/eudat/audit/AuditableAction.java b/dmp-backend/core/src/main/java/eu/eudat/audit/AuditableAction.java
index 2d15d5232..8297c8d42 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/audit/AuditableAction.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/audit/AuditableAction.java
@@ -37,6 +37,7 @@ public class AuditableAction {
public static final EventId Dmp_RemoveUser = new EventId(5007, "Dmp_RemoveUser");
public static final EventId Dmp_Invite_Users = new EventId(5008, "Dmp_Invite_Users");
public static final EventId Dmp_Invite_Accept = new EventId(5009, "Dmp_Invite_Accept");
+ public static final EventId Dmp_PublicQuery = new EventId(5010, "Dmp_PublicQuery");
public static final EventId Description_Query = new EventId(6000, "Description_Query");
public static final EventId Description_Lookup = new EventId(6001, "Description_Lookup");
@@ -129,5 +130,14 @@ public class AuditableAction {
public static final EventId ContactSupport_Sent = new EventId(210000, "ContactSupport_Sent");
public static final EventId ContactSupport_PublicSent = new EventId(210001, "ContactSupport_PublicSent");
+ public static final EventId Prefilling_Query = new EventId(220000, "Prefilling_Query");
+ public static final EventId Prefilling_Generate = new EventId(210001, "Prefilling_Generate");
+ public static final EventId Prefilling_GenerateWithData = new EventId(210002, "Prefilling_GenerateWithData");
+
+ public static final EventId Maintenance_GenerateElastic = new EventId(220000, "Maintenance_GenerateElastic");
+ public static final EventId Maintenance_ClearElastic = new EventId(230000, "Maintenance_ClearElastic");
+
+ public static final EventId Principal_Lookup = new EventId(240000, "Principal_Lookup");
+
}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/authorization/ClaimNames.java b/dmp-backend/core/src/main/java/eu/eudat/authorization/ClaimNames.java
new file mode 100644
index 000000000..4e6edfdbd
--- /dev/null
+++ b/dmp-backend/core/src/main/java/eu/eudat/authorization/ClaimNames.java
@@ -0,0 +1,5 @@
+package eu.eudat.authorization;
+
+public class ClaimNames {
+ public static final String ExternalProviderName = "ExternalProviderName";
+}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/authorization/Permission.java b/dmp-backend/core/src/main/java/eu/eudat/authorization/Permission.java
index 1ddf0698d..869f36ef1 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/authorization/Permission.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/authorization/Permission.java
@@ -164,6 +164,10 @@ public final class Permission {
public static String BrowseTenantUser = "BrowseTenantUser";
public static String EditTenantUser = "EditTenantUser";
public static String DeleteTenantUser = "DeleteTenantUser";
+
+ //Prefilling
+ public static String BrowsePrefilling = "BrowsePrefilling";
+
//Lock
public static String BrowseLock = "BrowseLock";
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/EmailConfirmationEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/MergeAccountConfirmationEntity.java
similarity index 83%
rename from dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/EmailConfirmationEntity.java
rename to dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/MergeAccountConfirmationEntity.java
index 72c74869a..d158f1b22 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/EmailConfirmationEntity.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/MergeAccountConfirmationEntity.java
@@ -5,9 +5,9 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlRootElement;
-@XmlRootElement(name = "email-confirmation")
+@XmlRootElement(name = "merge-account-confirmation")
@XmlAccessorType(XmlAccessType.FIELD)
-public class EmailConfirmationEntity {
+public class MergeAccountConfirmationEntity {
@XmlAttribute(name = "email")
private String email;
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/RemoveCredentialRequestEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/RemoveCredentialRequestEntity.java
new file mode 100644
index 000000000..773c9aacc
--- /dev/null
+++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/actionconfirmation/RemoveCredentialRequestEntity.java
@@ -0,0 +1,24 @@
+package eu.eudat.commons.types.actionconfirmation;
+
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlAttribute;
+import jakarta.xml.bind.annotation.XmlRootElement;
+
+import java.util.UUID;
+
+@XmlRootElement(name = "remove-credential-confirmation")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class RemoveCredentialRequestEntity {
+
+ @XmlAttribute(name = "credential-id")
+ private UUID credentialId;
+
+ public UUID getCredentialId() {
+ return credentialId;
+ }
+
+ public void setCredentialId(UUID credentialId) {
+ this.credentialId = credentialId;
+ }
+}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java
index 492495a74..5e87fdc1c 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java
@@ -77,15 +77,18 @@ public class DefinitionEntity implements XmlSerializable {
}
return this;
}
- public List getFieldById(String id){
+ public List getAllField(){
List fieldEntities = new ArrayList<>();
- if (id == null || id.isBlank()) return fieldEntities;
if (this.getSections() != null){
for (SectionEntity sectionEntity: this.getSections()) {
- fieldEntities.addAll(sectionEntity.getFieldById(id));
+ fieldEntities.addAll(sectionEntity.getAllField());
}
}
return fieldEntities;
}
+ public List getFieldById(String id) {
+ return this.getAllField().stream().filter(x-> id.equals(x.getId())).toList();
+ }
+
}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldSetEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldSetEntity.java
index 85ff4c7c2..35492ff86 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldSetEntity.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldSetEntity.java
@@ -190,11 +190,8 @@ public class FieldSetEntity implements DatabaseViewStyleDefinition, XmlSerializa
this.multiplicity.setTableView(Boolean.parseBoolean(multiplicity.getAttribute("tableView")));
return this;
- }
-
- public List getFieldById(String id){
- if (this.getFields() == null || id == null || id.isBlank()) return new ArrayList<>();
-
- return this.getFields().stream().filter(x-> id.equals(x.getId())).toList();
+ }
+ public List getAllField() {
+ return this.getFields() == null ? new ArrayList<>() : this.getFields();
}
}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java
index 72a4bf5e0..2041ed3bc 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java
@@ -209,17 +209,16 @@ public class SectionEntity implements DatabaseViewStyleDefinition, XmlSerializab
return this;
}
- public List getFieldById(String id){
+ public List getAllField(){
List fieldEntities = new ArrayList<>();
- if (id == null || id.isBlank()) return fieldEntities;
if (this.getFieldSets() != null){
for (FieldSetEntity fieldSetEntity: this.getFieldSets()) {
- fieldEntities.addAll(fieldSetEntity.getFieldById(id));
+ fieldEntities.addAll(fieldSetEntity.getAllField());
}
}
if (this.getSections() != null){
for (SectionEntity sectionEntity: this.getSections()) {
- fieldEntities.addAll(sectionEntity.getFieldById(id));
+ fieldEntities.addAll(sectionEntity.getAllField());
}
}
return fieldEntities;
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/AutoCompleteDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/AutoCompleteDataEntity.java
index 971e8ae31..d3d0a05fb 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/AutoCompleteDataEntity.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/AutoCompleteDataEntity.java
@@ -15,6 +15,9 @@ import java.util.List;
import java.util.Map;
public class AutoCompleteDataEntity extends ComboBoxDataEntity {
+ public AutoCompleteDataEntity() {
+ super(FieldType.AUTO_COMPLETE);
+ }
public static class AuthAutoCompleteData {
private String url;
@@ -145,11 +148,6 @@ public class AutoCompleteDataEntity extends ComboBoxDataEntity implements XmlSerializable {
+
+ private final FieldType fieldType;
+
+ public BaseFieldDataEntity(FieldType fieldType) {
+ this.fieldType = fieldType;
+ }
+
private String label;
- public abstract FieldType getFieldType();
+
+ public FieldType getFieldType() {
+ return fieldType;
+ }
public String getLabel() {
return label;
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/BooleanDecisionDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/BooleanDecisionDataEntity.java
deleted file mode 100644
index b92b2c7d1..000000000
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/BooleanDecisionDataEntity.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package eu.eudat.commons.types.descriptiontemplate.fielddata;
-
-import eu.eudat.commons.enums.FieldType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class BooleanDecisionDataEntity extends BaseFieldDataEntity {
-
- @Override
- public FieldType getFieldType() {
- return FieldType.BOOLEAN_DECISION;
- }
-}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/CheckBoxDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/CheckBoxDataEntity.java
deleted file mode 100644
index b45af367e..000000000
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/CheckBoxDataEntity.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package eu.eudat.commons.types.descriptiontemplate.fielddata;
-
-import eu.eudat.commons.enums.FieldType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class CheckBoxDataEntity extends BaseFieldDataEntity {
-
- @Override
- public FieldType getFieldType() {
- return FieldType.CHECK_BOX;
- }
-}
diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ComboBoxDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ComboBoxDataEntity.java
index 2551604ce..a84abc5ba 100644
--- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ComboBoxDataEntity.java
+++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ComboBoxDataEntity.java
@@ -1,6 +1,7 @@
package eu.eudat.commons.types.descriptiontemplate.fielddata;
import eu.eudat.commons.enums.FieldDataComboBoxType;
+import eu.eudat.commons.enums.FieldType;
import eu.eudat.commons.types.xml.XmlSerializable;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -10,6 +11,10 @@ import java.util.Map;
public abstract class ComboBoxDataEntity extends BaseFieldDataEntity {
+ public ComboBoxDataEntity(FieldType fieldType) {
+ super(fieldType);
+ }
+
public abstract FieldDataComboBoxType getFieldSubType();
public static class Option implements XmlSerializable