From 8b21ff09997fcb385fea596098c9d6114c41706e Mon Sep 17 00:00:00 2001 From: Baptiste Toulemonde <toulemonde@cines.fr> Date: Mon, 7 Mar 2022 09:55:37 +0100 Subject: [PATCH] fix --- .../com/smartharvester/config/AsynConfig.java | 3 -- .../SmartHarvesterMappingController.java | 1 + .../service/MappingService.java | 37 ++++++++++--------- src/main/resources/application-dev.properties | 9 +---- 4 files changed, 23 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/smartharvester/config/AsynConfig.java b/src/main/java/com/smartharvester/config/AsynConfig.java index 920ab49..f103ba6 100644 --- a/src/main/java/com/smartharvester/config/AsynConfig.java +++ b/src/main/java/com/smartharvester/config/AsynConfig.java @@ -1,12 +1,9 @@ package com.smartharvester.config; -import java.util.concurrent.Callable; import java.util.concurrent.Executor; -import java.util.concurrent.Future; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.AsyncTaskExecutor; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; diff --git a/src/main/java/com/smartharvester/controller/SmartHarvesterMappingController.java b/src/main/java/com/smartharvester/controller/SmartHarvesterMappingController.java index 7aba48b..00bb9d6 100644 --- a/src/main/java/com/smartharvester/controller/SmartHarvesterMappingController.java +++ b/src/main/java/com/smartharvester/controller/SmartHarvesterMappingController.java @@ -74,6 +74,7 @@ public class SmartHarvesterMappingController { HttpStatus statusCode = responseEntity.getStatusCode(); if (!distributionPaths.isEmpty()) { List<String> distributions = this.mappingService.buildDistribution(url, paths, isJsonpath, datasetId, fdpUrl); + for (String distribution: distributions) { try { ResponseEntity<String> distributionResponse = this.mappingService.asyncPostToFdp("/distribution", fdpUrl, distribution, fdpToken).get(); diff --git a/src/main/java/com/smartharvester/service/MappingService.java b/src/main/java/com/smartharvester/service/MappingService.java index 2cc51c2..0cf20f1 100644 --- a/src/main/java/com/smartharvester/service/MappingService.java +++ b/src/main/java/com/smartharvester/service/MappingService.java @@ -75,33 +75,36 @@ public class MappingService { List<Map<String, List<String>>> distributionList = dcatPropertiesMap.get("distribution"); List<String> distributionStrings = new ArrayList<>(); - if (!distributionList.get(0).entrySet().stream().map(v -> v.getValue()).allMatch(v -> v.get(0).equals("undefined"))) { - for (Map<String, List<String>> distributionMap : distributionList) { - distributionMap.putIfAbsent("dct:hasVersion", List.of("undefined")); + if (!distributionList.isEmpty()) { + if (!distributionList.get(0).entrySet().stream().map(v -> v.getValue()).allMatch(v -> v.get(0).equals("undefined")) ) { + for (Map<String, List<String>> distributionMap : distributionList) { + distributionMap.putIfAbsent("dct:hasVersion", List.of("undefined")); - distributionMap.putIfAbsent("dct:publisher", List.of("undefined")); + distributionMap.putIfAbsent("dct:publisher", List.of("undefined")); - StringBuilder datasetString = this.getDistributionString(datasetId, fdpUrl); - for (Map.Entry<String, List<String>> entry : distributionMap.entrySet()) { - if (isReplicable(entry.getKey(), paths)) { - for (String value : entry.getValue()) { - datasetString.append(this.write(entry.getKey(), value)); + StringBuilder datasetString = this.getDistributionString(datasetId, fdpUrl); + for (Map.Entry<String, List<String>> entry : distributionMap.entrySet()) { + if (isReplicable(entry.getKey(), paths)) { + for (String value : entry.getValue()) { + datasetString.append(this.write(entry.getKey(), value)); + } + } else { + datasetString.append(this.write(entry.getKey(), entry.getValue().get(0))); } - } else { - datasetString.append(this.write(entry.getKey(), entry.getValue().get(0))); - } + } + datasetString.append("."); + distributionStrings.add(datasetString.toString()); + } + for (String distribString : distributionStrings) { + LOGGER.info(distribString); } - datasetString.append("."); - distributionStrings.add(datasetString.toString()); - } - for (String distribString : distributionStrings) { - LOGGER.info(distribString); } } + return distributionStrings; } diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 7680816..3e448fd 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -6,13 +6,8 @@ spring.jackson.serialization.indent-output=true server.port=8080 # 3. MongoDB configuration. -#spring.data.mongodb.uri=mongodb://admin:adminadmin@mongo2.f2ds.svc.cluster.local:27017/fdp?authSource=admin -spring.data.mongodb.host=146.59.2.87 -spring.data.mongodb.port=27017 -spring.data.mongodb.database=fdp -spring.data.mongodb.authentication-database=admin -spring.data.mongodb.username=admin -spring.data.mongodb.password=adminadmin +spring.data.mongodb.uri=mongodb://admin:adminadmin@90.147.167.103:27017/fdp?authSource=admin + # 4. Logging configuration. logging.level.com.assignment.springboot.mongo=DEBUG -- GitLab