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