From 2993534fef8ca73f126d4f345d0cee4a33267c65 Mon Sep 17 00:00:00 2001
From: Moritz Staudinger <moritz.staudinger@tuwien.ac.at>
Date: Mon, 14 Feb 2022 13:38:27 +0100
Subject: [PATCH] Fixed Seeder Calls @mweise

Former-commit-id: 2184d8fd5cfdd50cc6a42b949cd9056697b2d709
---
 docker-compose.yml                            | 30 +++++++++----------
 .../main/java/at/tuwien/seeder/Seeder.java    |  4 ---
 .../main/java/at/tuwien/seeder/Seeder.java    |  1 -
 .../java/at/tuwien/config/ReadyConfig.java    | 16 ++++++++++
 .../main/java/at/tuwien/seeder/Seeder.java    |  1 -
 .../at/tuwien/seeder/impl/SeederImpl.java     |  1 -
 6 files changed, 31 insertions(+), 22 deletions(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 423c75ef18..b6d408ed0c 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -28,7 +28,7 @@ services:
     image: fda-metadata-db
     networks:
       fda-public:
-        ipv4_address: 172.29.0.5
+    #    ipv4_address: 172.29.0.5
     volumes:
       - fda-metadata-db-data:/var/lib/postgresql/data
     ports:
@@ -49,7 +49,7 @@ services:
     image: fda-discovery-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.4
+    #    ipv4_address: 172.29.0.4
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -69,7 +69,7 @@ services:
     image: fda-gateway-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.2
+    #    ipv4_address: 172.29.0.2
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -87,7 +87,7 @@ services:
     networks:
       fda-userdb:
       fda-public:
-        ipv4_address: 172.29.0.9
+    #    ipv4_address: 172.29.0.9
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -109,7 +109,7 @@ services:
     image: fda-container-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.8
+    #    ipv4_address: 172.29.0.8
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -131,7 +131,7 @@ services:
     build: fda-authentication-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.14
+    #    ipv4_address: 172.29.0.14
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -151,7 +151,7 @@ services:
     image: fda-query-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.12
+    #    ipv4_address: 172.29.0.12
       fda-userdb:
     environment:
       SPRING_PROFILES_ACTIVE: docker
@@ -174,7 +174,7 @@ services:
     image: fda-table-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.11
+    #    ipv4_address: 172.29.0.11
       fda-userdb:
     environment:
       SPRING_PROFILES_ACTIVE: docker
@@ -199,7 +199,7 @@ services:
     image: fda-identifier-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.13
+    #    ipv4_address: 172.29.0.13
     environment:
       SPRING_PROFILES_ACTIVE: docker
       TZ: Europe/Vienna
@@ -217,7 +217,7 @@ services:
     image: fda-analyse-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.10
+    #    ipv4_address: 172.29.0.10
       fda-userdb:
     command: sh -c "/wait && flask run" # docker-compose should not test the implementation
     environment:
@@ -241,7 +241,7 @@ services:
     image: fda-units-service
     networks:
       fda-public:
-        ipv4_address: 172.29.0.7
+    #    ipv4_address: 172.29.0.7
     environment:
       EUREKA_SERVER: http://fda-discovery-service:9090/eureka/
       TZ: Europe/Vienna
@@ -266,7 +266,7 @@ services:
       TZ: Europe/Vienna
     networks:
       fda-public:
-        ipv4_address: 172.29.0.3
+    #    ipv4_address: 172.29.0.3
     ports:
       - "5672:5672"
       - "15672:15672"
@@ -286,7 +286,7 @@ services:
     command: [ "elasticsearch" ]
     networks:
       fda-public:
-        ipv4_address: 172.29.0.6
+    #    ipv4_address: 172.29.0.6
     environment:
       - discovery.type=single-node
       - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
@@ -308,7 +308,7 @@ services:
     image: fda-ui
     networks:
       fda-public:
-        ipv4_address: 172.29.0.15
+    #    ipv4_address: 172.29.0.15
     ports:
       - "3000:3000"
     volumes:
@@ -322,4 +322,4 @@ services:
       API: http://fda-gateway-service:9095
       TZ: Europe/Vienna
     logging:
-      driver: json-file
\ No newline at end of file
+      driver: json-file
diff --git a/fda-container-service/services/src/main/java/at/tuwien/seeder/Seeder.java b/fda-container-service/services/src/main/java/at/tuwien/seeder/Seeder.java
index 241057caf9..544ccc3054 100644
--- a/fda-container-service/services/src/main/java/at/tuwien/seeder/Seeder.java
+++ b/fda-container-service/services/src/main/java/at/tuwien/seeder/Seeder.java
@@ -1,10 +1,6 @@
 package at.tuwien.seeder;
 
-import org.springframework.boot.context.event.ApplicationReadyEvent;
-import org.springframework.context.event.EventListener;
-
 public interface Seeder {
 
-    @EventListener(ApplicationReadyEvent.class)
     void seed();
 }
diff --git a/fda-database-service/services/src/main/java/at/tuwien/seeder/Seeder.java b/fda-database-service/services/src/main/java/at/tuwien/seeder/Seeder.java
index 241057caf9..128dcaf5a9 100644
--- a/fda-database-service/services/src/main/java/at/tuwien/seeder/Seeder.java
+++ b/fda-database-service/services/src/main/java/at/tuwien/seeder/Seeder.java
@@ -5,6 +5,5 @@ import org.springframework.context.event.EventListener;
 
 public interface Seeder {
 
-    @EventListener(ApplicationReadyEvent.class)
     void seed();
 }
diff --git a/fda-table-service/services/src/main/java/at/tuwien/config/ReadyConfig.java b/fda-table-service/services/src/main/java/at/tuwien/config/ReadyConfig.java
index 0bee3b961e..1047426e49 100644
--- a/fda-table-service/services/src/main/java/at/tuwien/config/ReadyConfig.java
+++ b/fda-table-service/services/src/main/java/at/tuwien/config/ReadyConfig.java
@@ -1,13 +1,17 @@
 package at.tuwien.config;
 
+import at.tuwien.seeder.Seeder;
 import com.google.common.io.Files;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.context.event.ApplicationReadyEvent;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.event.EventListener;
+import org.springframework.core.env.Environment;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Arrays;
 
 @Configuration
 public class ReadyConfig {
@@ -15,8 +19,20 @@ public class ReadyConfig {
     @Value("${fda.ready.path}")
     private String readyPath;
 
+    private final Environment environment;
+    private final Seeder seederImpl;
+
+    @Autowired
+    public ReadyConfig(Environment environment, Seeder seederImpl) {
+        this.environment = environment;
+        this.seederImpl = seederImpl;
+    }
+
     @EventListener(ApplicationReadyEvent.class)
     public void init() throws IOException {
+        if (Arrays.asList(environment.getActiveProfiles()).contains("seeder")) {
+            seederImpl.seed();
+        }
         Files.touch(new File(readyPath));
     }
 
diff --git a/fda-table-service/services/src/main/java/at/tuwien/seeder/Seeder.java b/fda-table-service/services/src/main/java/at/tuwien/seeder/Seeder.java
index 241057caf9..128dcaf5a9 100644
--- a/fda-table-service/services/src/main/java/at/tuwien/seeder/Seeder.java
+++ b/fda-table-service/services/src/main/java/at/tuwien/seeder/Seeder.java
@@ -5,6 +5,5 @@ import org.springframework.context.event.EventListener;
 
 public interface Seeder {
 
-    @EventListener(ApplicationReadyEvent.class)
     void seed();
 }
diff --git a/fda-table-service/services/src/main/java/at/tuwien/seeder/impl/SeederImpl.java b/fda-table-service/services/src/main/java/at/tuwien/seeder/impl/SeederImpl.java
index 3c11626280..cc8aade07c 100644
--- a/fda-table-service/services/src/main/java/at/tuwien/seeder/impl/SeederImpl.java
+++ b/fda-table-service/services/src/main/java/at/tuwien/seeder/impl/SeederImpl.java
@@ -20,7 +20,6 @@ public class SeederImpl implements Seeder {
     }
 
     @Override
-    @EventListener(ApplicationReadyEvent.class)
     public void seed() {
         databaseSeederImpl.seed();
     }
-- 
GitLab