diff --git a/dmp-backend/pom.xml b/dmp-backend/pom.xml
index 16f74c1c1..32dc92fa8 100644
--- a/dmp-backend/pom.xml
+++ b/dmp-backend/pom.xml
@@ -27,7 +27,7 @@
1.8
0.0.1-SNAPSHOT
- 5.3.8
+ 5.3.14
5.3.10.RELEASE
@@ -36,27 +36,27 @@
-->
- 5.5.3.Final
+ 5.6.3.Final
1.9
4.11
1.2.17
- 2.15.0
+ 2.17.0
1.7.12
- 1.2.3
+ 1.2.10
-
+
org.springframework
spring-context-support
@@ -91,19 +91,18 @@
org.apache.httpcomponents
httpclient
- 4.5.12
org.apache.httpcomponents
httpcore-nio
- 4.4.13
+ 4.4.15
org.apache.httpcomponents
httpcore
- 4.4.13
+ 4.4.15
@@ -127,13 +126,13 @@
com.google.api-client
google-api-client
- 1.23.0
+ 1.33.0
com.jayway.jsonpath
json-path
- 2.4.0
+ 2.6.0
@@ -141,7 +140,7 @@
com.fasterxml.jackson.dataformat
jackson-dataformat-xml
- 2.12.3
+ 2.13.1
@@ -149,13 +148,13 @@
com.fasterxml.jackson.core
jackson-core
- 2.12.3
+ 2.13.1
com.fasterxml.jackson.core
jackson-databind
- 2.12.3
+ 2.13.1
@@ -167,26 +166,25 @@
org.apache.commons
commons-lang3
- 3.5
org.apache.poi
poi-ooxml
- 4.0.0
+ 5.0.0
org.apache.poi
poi
- 4.0.0
+ 5.0.0
org.apache.xmlgraphics
fop
- 2.3
+ 2.6
@@ -210,13 +208,13 @@
fr.opensagres.xdocreport
fr.opensagres.xdocreport.itext.extension
- 2.0.1
+ 2.0.2
commons-io
commons-io
- 2.1
+ 2.11.0
org.glassfish.jaxb
jaxb-runtime
- 2.3.1
+ 3.0.1
@@ -262,7 +260,6 @@
javax.annotation
javax.annotation-api
- 1.3.1
@@ -277,32 +274,32 @@
io.prometheus
simpleclient
- 0.11.0
+ 0.14.1
io.prometheus
simpleclient_hotspot
- 0.11.0
+ 0.14.1
io.prometheus
simpleclient_httpserver
- 0.11.0
+ 0.14.1
io.prometheus
simpleclient_pushgateway
- 0.11.0
+ 0.14.1
io.micrometer
micrometer-registry-prometheus
- 1.7.1
+ 1.8.1
org.springframework.boot
diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/DatasetProfileController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/DatasetProfileController.java
index 5f16cb390..a7e059ffc 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/controllers/DatasetProfileController.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/DatasetProfileController.java
@@ -9,9 +9,7 @@ import eu.eudat.models.data.components.commons.datafield.AutoCompleteData;
import eu.eudat.models.data.externaldataset.ExternalAutocompleteFieldModel;
import eu.eudat.models.data.helpers.common.AutoCompleteLookupItem;
import eu.eudat.models.data.helpers.responses.ResponseItem;
-import eu.eudat.models.data.properties.PropertiesModel;
import eu.eudat.models.data.security.Principal;
-import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -19,9 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.xml.xpath.XPathExpressionException;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.UUID;
import static eu.eudat.types.Authorities.ADMIN;
diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/UserInvitationController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/UserInvitationController.java
index d9633d312..3838fee4a 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/controllers/UserInvitationController.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/UserInvitationController.java
@@ -52,7 +52,6 @@ public class UserInvitationController extends BaseController {
public @ResponseBody
// ResponseEntity>> getUsers(Principal principal) throws IllegalAccessException, InstantiationException {
ResponseEntity>> getUsers(Principal principal, @RequestBody UserInfoRequestItem userInfoRequestItem) throws IllegalAccessException, InstantiationException {
- System.out.println(userInfoRequestItem.getCriteria().getLike());
// List users = invitationsManager.getUsers(principal);
List users = invitationsManager.getUsersWithCriteria(principal, userInfoRequestItem);
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem>().status(ApiMessageCode.SUCCESS_MESSAGE).payload(users));
diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java
index b8c4ccf0d..56cb7fe42 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java
@@ -1,7 +1,6 @@
package eu.eudat.logic.managers;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import eu.eudat.configurations.dynamicgrant.DynamicGrantConfiguration;
import eu.eudat.configurations.dynamicgrant.entities.Property;
@@ -64,7 +63,6 @@ import eu.eudat.types.MetricNames;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
-import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -299,15 +297,21 @@ public class DataManagementPlanManager {
.filter(dataset -> !dataset.getStatus().equals(Dataset.Status.DELETED) && !dataset.getStatus().equals(Dataset.Status.CANCELED))
.forEach(dataset -> {
dataManagementPlan.getDatasets().stream().filter(datasetWizardModel -> datasetWizardModel.getId().equals(dataset.getId())).forEach(datasetWizardModel -> {
- DatasetWizardModel wizardModel = datasetManager.getSingle(datasetWizardModel.getId().toString(), principal);
- datasetWizardModel.setDatasetProfileDefinition(wizardModel.getDatasetProfileDefinition());
- datasetWizardModel.setTags(wizardModel.getTags());
+ DatasetWizardModel wizardModel;
+ try {
+ wizardModel = datasetManager.getSingle(datasetWizardModel.getId().toString(), principal);
+ datasetWizardModel.setDatasetProfileDefinition(wizardModel.getDatasetProfileDefinition());
+ datasetWizardModel.setTags(wizardModel.getTags());
+ } catch (JsonProcessingException e) {
+ logger.error(e.getLocalizedMessage(), e);
+ }
+
});
});
if (isPublic) {
dataManagementPlan.setDatasets(dataManagementPlan.getDatasets().stream().filter(dataset -> dataset.getStatus() == Dataset.Status.FINALISED.getValue()).collect(Collectors.toList()));
}
- Map dmpProperties = dataManagementPlanEntity.getDmpProperties() != null ? new org.json.JSONObject(dataManagementPlanEntity.getDmpProperties()).toMap() : null;
+ Map dmpProperties = dataManagementPlanEntity.getDmpProperties() != null ? apiContext.getObjectMapper().readValue(dataManagementPlanEntity.getDmpProperties(), HashMap.class) : null;
if (dmpProperties != null && dataManagementPlan.getDynamicFields() != null)
dataManagementPlan.getDynamicFields().forEach(item -> {
@@ -1305,10 +1309,11 @@ public class DataManagementPlanManager {
datasetDescriptionRun.setBold(true);
datasetDescriptionRun.setFontSize(12);
- PagedDatasetProfile pagedDatasetProfile = datasetManager.getPagedProfile(dataset, datasetEntity);
- visibilityRuleService.setProperties(properties);
- visibilityRuleService.buildVisibilityContext(pagedDatasetProfile.getRules());
+ PagedDatasetProfile pagedDatasetProfile = null;
try {
+ pagedDatasetProfile = datasetManager.getPagedProfile(dataset, datasetEntity);
+ visibilityRuleService.setProperties(properties);
+ visibilityRuleService.buildVisibilityContext(pagedDatasetProfile.getRules());
wordBuilder.build(document, pagedDatasetProfile, visibilityRuleService);
} catch (IOException e) {
logger.error(e.getMessage(), e);
@@ -1456,8 +1461,7 @@ public class DataManagementPlanManager {
DatasetWizardModel datasetWizardModel = new DatasetWizardModel();
Map properties = new HashMap<>();
if (dataset.getProperties() != null) {
- JSONObject jobject = new JSONObject(dataset.getProperties());
- properties = jobject.toMap();
+ properties = apiContext.getObjectMapper().readValue(dataset.getProperties(), HashMap.class);
}
PagedDatasetProfile pagedDatasetProfile = datasetManager.getPagedProfile(datasetWizardModel, dataset);
visibilityRuleService.setProperties(properties);
@@ -2017,7 +2021,7 @@ public class DataManagementPlanManager {
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
headers.setContentType(MediaType.APPLICATION_JSON);
String createData = null;
- Map extraProperties = dmp.getExtraProperties() != null ? new org.json.JSONObject(dmp.getExtraProperties()).toMap() : new HashMap<>();
+ Map extraProperties = dmp.getExtraProperties() != null ? apiContext.getObjectMapper().readValue(dmp.getExtraProperties(), HashMap.class) : new HashMap<>();
StringBuilder dataBuilder = new StringBuilder();
dataBuilder.append("{\n \"metadata\": {\n");
dataBuilder.append( " \"title\": \"").append(dmp.getLabel()).append("\",\n");
diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java
index 4cb98b59b..c578db0e5 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java
@@ -1,5 +1,6 @@
package eu.eudat.logic.managers;
+import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import eu.eudat.data.dao.criteria.*;
@@ -49,22 +50,19 @@ import eu.eudat.models.data.user.composite.PagedDatasetProfile;
import eu.eudat.queryable.QueryableList;
import eu.eudat.types.Authorities;
import eu.eudat.types.MetricNames;
-import org.apache.commons.io.IOUtils;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
-import org.json.JSONArray;
-import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
-import org.springframework.core.io.FileSystemResource;
-import org.springframework.http.*;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -91,8 +89,6 @@ import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
@Component
public class DatasetManager {
@@ -279,7 +275,7 @@ public class DatasetManager {
return dataTable;
}
- public DatasetWizardModel getSingle(String id, Principal principal) {
+ public DatasetWizardModel getSingle(String id, Principal principal) throws JsonProcessingException {
DatasetWizardModel dataset = new DatasetWizardModel();
eu.eudat.data.entities.Dataset datasetEntity = databaseRepository.getDatasetDao().find(UUID.fromString(id), HintedModelFactory.getHint(DatasetWizardModel.class));
if (datasetEntity.getDmp().getUsers()
@@ -380,12 +376,11 @@ public class DatasetManager {
return databaseRepository.getDatasetDao().find(id);
}
- public PagedDatasetProfile getPagedProfile(DatasetWizardModel dataset, eu.eudat.data.entities.Dataset datasetEntity) {
+ public PagedDatasetProfile getPagedProfile(DatasetWizardModel dataset, eu.eudat.data.entities.Dataset datasetEntity) throws JsonProcessingException {
eu.eudat.models.data.user.composite.DatasetProfile datasetprofile = userManager.generateDatasetProfileModel(datasetEntity.getProfile());
datasetprofile.setStatus(dataset.getStatus());
if (datasetEntity.getProperties() != null) {
- JSONObject jObject = new JSONObject(datasetEntity.getProperties());
- Map properties = jObject.toMap();
+ Map properties = apiContext.getObjectMapper().readValue(datasetEntity.getProperties(), HashMap.class);
datasetprofile.fromJsonObject(properties);
}
PagedDatasetProfile pagedDatasetProfile = new PagedDatasetProfile();
@@ -451,8 +446,7 @@ public class DatasetManager {
Map properties = new HashMap<>();
if (datasetEntity.getProperties() != null) {
- JSONObject jObject = new JSONObject(datasetEntity.getProperties());
- properties = jObject.toMap();
+ properties = apiContext.getObjectMapper().readValue(datasetEntity.getProperties(), HashMap.class);
}
wordBuilder.addParagraphContent("Dataset Description", document, ParagraphStyle.HEADER2, BigInteger.ZERO);
@@ -484,8 +478,7 @@ public class DatasetManager {
Map properties = new HashMap<>();
if (dataset.getDatasetProfileDefinition() != null) {
- JSONObject jObject = new JSONObject(propertiesModelToString(dataset.getDatasetProfileDefinition()));
- properties = jObject.toMap();
+ properties = apiContext.getObjectMapper().readValue(propertiesModelToString(dataset.getDatasetProfileDefinition()), HashMap.class);
}
wordBuilder.addParagraphContent("Dataset Description", document, ParagraphStyle.HEADER2, BigInteger.ZERO);
@@ -542,8 +535,7 @@ public class DatasetManager {
throw new UnauthorisedException();
Map properties = new HashMap<>();
if (datasetEntity.getProperties() != null) {
- JSONObject jobject = new JSONObject(datasetEntity.getProperties());
- properties = jobject.toMap();
+ properties = apiContext.getObjectMapper().readValue(datasetEntity.getProperties(), HashMap.class);
}
PagedDatasetProfile pagedDatasetProfile = getPagedProfile(dataset, datasetEntity);
visibilityRuleService.setProperties(properties);
@@ -656,9 +648,9 @@ public class DatasetManager {
nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
- JSONObject obj = new JSONObject(dataset.getProperties());
+ Map obj = apiContext.getObjectMapper().readValue(dataset.getProperties(), HashMap.class);
VisibilityRuleService visibilityRuleService = this.apiContext.getUtilitiesService().getVisibilityRuleService();
- visibilityRuleService.setProperties(obj.toMap());
+ visibilityRuleService.setProperties(obj);
dataset.setProfile(profile);
PagedDatasetProfile pagedDatasetProfile = this.getPagedProfile(new DatasetWizardModel(), dataset);
@@ -666,7 +658,7 @@ public class DatasetManager {
for (String validator : datasetProfileValidators) {
- if ((obj.has(validator) && (obj.getString(validator) == null || obj.getString(validator).trim().isEmpty())) && isElementVisible(nodeList, validator, visibilityRuleService)) {
+ if ((obj.containsKey(validator) && (obj.get(validator) == null || obj.get(validator).toString().trim().isEmpty())) && isElementVisible(nodeList, validator, visibilityRuleService)) {
throw new Exception("Field value of " + validator + " must be filled.");
}
}
@@ -695,11 +687,10 @@ public class DatasetManager {
}
}
- private String propertiesModelToString(PagedDatasetProfile pagedDatasetProfile) {
+ private String propertiesModelToString(PagedDatasetProfile pagedDatasetProfile) throws JsonProcessingException {
Map values = new LinkedHashMap<>();
pagedDatasetProfile.toMap(values);
- JSONObject jobject = new JSONObject(values);
- return jobject.toString();
+ return apiContext.getObjectMapper().writeValueAsString(values);
}
public void updateTags(Dataset datasetEntity, List tags) throws Exception {
@@ -908,12 +899,9 @@ public class DatasetManager {
)))))
.collect(Collectors.toMap(DatasetImportField::getId, DatasetImportField::getValue));
- // Transforms map into json file.
- JSONObject jsonDatasetProperties = new JSONObject(importMap);
-
// Creates the entity data set to save.
eu.eudat.data.entities.Dataset entity = new Dataset();
- entity.setProperties(jsonDatasetProperties.toString());
+ entity.setProperties(apiContext.getObjectMapper().writeValueAsString(importMap));
entity.setLabel(importFile.getOriginalFilename());
DMP dmp = new DMP();
dmp.setId(UUID.fromString(dmpId));
@@ -942,7 +930,7 @@ public class DatasetManager {
// TODO: When tags functionality return.
}
- public DatasetWizardModel datasetUpdateProfile(String id) {
+ public DatasetWizardModel datasetUpdateProfile(String id) throws JsonProcessingException {
DatasetWizardModel dataset = new DatasetWizardModel();
eu.eudat.data.entities.Dataset datasetEntity = databaseRepository.getDatasetDao().find(UUID.fromString(id), HintedModelFactory.getHint(DatasetWizardModel.class));
eu.eudat.elastic.entities.Dataset datasetElastic;
@@ -982,12 +970,11 @@ public class DatasetManager {
return dataset;
}
- public PagedDatasetProfile getLatestDatasetProfile(Dataset datasetEntity, DatasetProfile profile) {
+ public PagedDatasetProfile getLatestDatasetProfile(Dataset datasetEntity, DatasetProfile profile) throws JsonProcessingException {
eu.eudat.models.data.user.composite.DatasetProfile datasetprofile = userManager.generateDatasetProfileModel(profile);
datasetprofile.setStatus(datasetEntity.getStatus());
if (datasetEntity.getProperties() != null) {
- JSONObject jobject = new JSONObject(datasetEntity.getProperties());
- Map properties = jobject.toMap();
+ Map properties = apiContext.getObjectMapper().readValue(datasetEntity.getProperties(), HashMap.class);
datasetprofile.fromJsonObject(properties);
}
PagedDatasetProfile pagedDatasetProfile = new PagedDatasetProfile();
@@ -1053,10 +1040,15 @@ public class DatasetManager {
JsonNode value = node.get("value");
if (!value.toString().equals("\"\"")) {
String stringValue = value.toString().replaceAll("=", ":");
- JSONArray values = new JSONArray(stringValue);
+ List