diff --git a/pom.xml b/pom.xml
index 664e3b2d4..862b56f6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,6 +51,10 @@
org.springframework.boot
spring-boot-starter-oauth2-resource-server
+
+ org.springframework.boot
+ spring-boot-starter-webflux
+
org.springframework.boot
diff --git a/src/main/java/fr/insee/genesis/Constants.java b/src/main/java/fr/insee/genesis/Constants.java
index 9fb7edc67..7d2122a3f 100644
--- a/src/main/java/fr/insee/genesis/Constants.java
+++ b/src/main/java/fr/insee/genesis/Constants.java
@@ -1,5 +1,8 @@
package fr.insee.genesis;
+import lombok.experimental.UtilityClass;
+
+@UtilityClass
public class Constants {
public static final String XSLT_STRUCTURED_VARIABLES = "xslt/structured-variables.xsl";
@@ -58,11 +61,6 @@ public class Constants {
// Kraftwerk service path parameters
public static final String KRAFTWERK_MAIN_ENDPOINT = "";
- private Constants() {
- throw new IllegalStateException("Constants class");
- }
-
-
public static String[] getEnoVariables() {
return ENO_VARIABLES;
}
diff --git a/src/main/java/fr/insee/genesis/configuration/Config.java b/src/main/java/fr/insee/genesis/configuration/Config.java
index 15d511749..9b084caef 100644
--- a/src/main/java/fr/insee/genesis/configuration/Config.java
+++ b/src/main/java/fr/insee/genesis/configuration/Config.java
@@ -31,6 +31,11 @@ public class Config {
@Value("${fr.insee.genesis.oidc.realm}")
private String realm;
+ @Value("${fr.insee.genesis.oidc.service.client-id}")
+ private String serviceClientId;
+ @Value("${fr.insee.genesis.oidc.service.client-secret}")
+ private String serviceClientSecret;
+
@Value("${fr.insee.genesis.security.token.oidc-claim-role}")
private String oidcClaimRole;
@@ -40,6 +45,12 @@ public class Config {
@Value("#{'${fr.insee.genesis.security.whitelist-matchers}'.split(',')}")
private String[] whiteList;
+ @Value("${fr.insee.genesis.rawdata.process.batch-size}")
+ private int rawDataProcessingBatchSize;
+
+ @Value("${fr.insee.genesis.survey-quality-tool.url}")
+ private String surveyQualityToolUrl;
+
private final String logFolder;
//Extract log folder from log filename property
diff --git a/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitQualityToolPort.java b/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitQualityToolPort.java
new file mode 100644
index 000000000..549e89464
--- /dev/null
+++ b/src/main/java/fr/insee/genesis/domain/ports/spi/SurveyUnitQualityToolPort.java
@@ -0,0 +1,11 @@
+package fr.insee.genesis.domain.ports.spi;
+
+import org.springframework.http.ResponseEntity;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Set;
+
+public interface SurveyUnitQualityToolPort {
+ ResponseEntity