This is an automated email from the ASF dual-hosted git repository.

pefernan pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new 509d51cbb5 incubator-kie-issues#1615: Fix Kie Flyway execution in 
Windows (#3776)
509d51cbb5 is described below

commit 509d51cbb54a2224ce273a27c07daa9f0f09734c
Author: Pere Fernández <[email protected]>
AuthorDate: Thu Nov 14 13:26:23 2024 +0100

    incubator-kie-issues#1615: Fix Kie Flyway execution in Windows (#3776)
---
 .../impl/DefaultKieModuleFlywayConfigLoader.java   |  5 +--
 .../flyway/integration/KieFlywayConfiguration.java | 29 -------------
 .../flyway/integration/KieFlywayNamedModule.java   | 18 ++++++++-
 .../kie/flyway/integration/KieFlywayRunner.java    | 15 ++++---
 .../integration/KieFlywayRunnerConfiguration.java} | 15 +++++--
 .../initializer/KieFlywayInitializerTest.java      | 14 +++----
 .../DefaultKieModuleFlywayConfigLoaderTest.java    | 14 ++++---
 .../flyway/integration/KieFlywayRunnerTest.java    | 34 ++++++++--------
 .../integration/TestKieFlywayConfiguration.java    | 47 ----------------------
 .../org/kie/flyway/test/AbstractKieFlywayTest.java | 40 +++++++++---------
 .../flyway/quarkus/KieFlywayQuarkusRecorder.java   | 14 ++++++-
 .../quarkus/KieFlywayQuarkusRuntimeConfig.java     | 22 +---------
 .../springboot/KieFlywaySpringbootInitializer.java | 12 +++++-
 .../springboot/KieFlywaySpringbootProperties.java  |  8 ++--
 14 files changed, 117 insertions(+), 170 deletions(-)

diff --git 
a/addons/common/flyway/src/main/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoader.java
 
b/addons/common/flyway/src/main/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoader.java
index 71665bc63d..986d9eada6 100644
--- 
a/addons/common/flyway/src/main/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoader.java
+++ 
b/addons/common/flyway/src/main/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoader.java
@@ -19,7 +19,6 @@
 
 package org.kie.flyway.initializer.impl;
 
-import java.io.File;
 import java.io.InputStream;
 import java.net.URL;
 import java.util.*;
@@ -33,9 +32,7 @@ import org.slf4j.LoggerFactory;
 
 public class DefaultKieModuleFlywayConfigLoader implements 
KieModuleFlywayConfigLoader {
 
-    public static String KIE_FLYWAY_DESCRIPTOR_FILE_NAME = 
"kie-flyway.properties";
-
-    public static String KIE_FLYWAY_DESCRIPTOR_FILE_LOCATION = "META-INF" + 
File.separator + KIE_FLYWAY_DESCRIPTOR_FILE_NAME;
+    public static String KIE_FLYWAY_DESCRIPTOR_FILE_LOCATION = 
"META-INF/kie-flyway.properties";
 
     public static final String MODULE_PREFIX = "module.";
     public static final String MODULE_NAME_KEY = MODULE_PREFIX + "name";
diff --git 
a/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayConfiguration.java
 
b/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayConfiguration.java
deleted file mode 100644
index c99dba53b8..0000000000
--- 
a/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayConfiguration.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.kie.flyway.integration;
-
-import java.util.Map;
-
-public interface KieFlywayConfiguration<T extends KieFlywayNamedModule> {
-
-    boolean isEnabled();
-
-    Map<String, T> getModules();
-}
diff --git 
a/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayNamedModule.java
 
b/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayNamedModule.java
index e3ebe1b6a0..3b4d064445 100644
--- 
a/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayNamedModule.java
+++ 
b/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayNamedModule.java
@@ -19,7 +19,21 @@
 
 package org.kie.flyway.integration;
 
-public interface KieFlywayNamedModule {
+public class KieFlywayNamedModule {
 
-    boolean isEnabled();
+    private final String name;
+    private final boolean enabled;
+
+    public KieFlywayNamedModule(String name, boolean enabled) {
+        this.name = name;
+        this.enabled = enabled;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public boolean isEnabled() {
+        return enabled;
+    }
 }
diff --git 
a/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayRunner.java
 
b/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayRunner.java
index 47d55a96e6..ddc68b35d0 100644
--- 
a/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayRunner.java
+++ 
b/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayRunner.java
@@ -20,7 +20,6 @@
 package org.kie.flyway.integration;
 
 import java.util.Collection;
-import java.util.Map;
 import java.util.Objects;
 
 import javax.sql.DataSource;
@@ -34,18 +33,18 @@ public class KieFlywayRunner {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(KieFlywayRunner.class);
 
     private final ClassLoader classLoader;
-    private final KieFlywayConfiguration<? extends KieFlywayNamedModule> 
configuration;
+    private final KieFlywayRunnerConfiguration configuration;
 
-    private KieFlywayRunner(KieFlywayConfiguration<? extends 
KieFlywayNamedModule> configuration) {
+    private KieFlywayRunner(KieFlywayRunnerConfiguration configuration) {
         this(configuration, Thread.currentThread().getContextClassLoader());
     }
 
-    protected KieFlywayRunner(KieFlywayConfiguration<? extends 
KieFlywayNamedModule> configuration, ClassLoader classLoader) {
+    protected KieFlywayRunner(KieFlywayRunnerConfiguration configuration, 
ClassLoader classLoader) {
         this.configuration = configuration;
         this.classLoader = classLoader;
     }
 
-    public static KieFlywayRunner get(KieFlywayConfiguration<? extends 
KieFlywayNamedModule> configuration) {
+    public static KieFlywayRunner get(KieFlywayRunnerConfiguration 
configuration) {
         return new KieFlywayRunner(configuration);
     }
 
@@ -60,9 +59,9 @@ public class KieFlywayRunner {
         assertValue(dataSource, "Kie Flyway: Cannot run Kie Flyway migration 
default datasource is null");
 
         Collection<String> excludedModules = configuration.getModules()
-                .entrySet()
-                .stream().filter(entry -> !entry.getValue().isEnabled())
-                .map(Map.Entry::getKey)
+                .stream()
+                .filter(module -> !module.isEnabled())
+                .map(KieFlywayNamedModule::getName)
                 .toList();
 
         KieFlywayInitializer.builder()
diff --git 
a/addons/common/flyway/src/test/java/org/kie/flyway/integration/TestKieFlywayNamedModule.java
 
b/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayRunnerConfiguration.java
similarity index 70%
rename from 
addons/common/flyway/src/test/java/org/kie/flyway/integration/TestKieFlywayNamedModule.java
rename to 
addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayRunnerConfiguration.java
index 8eea404acc..81ebbee4b9 100644
--- 
a/addons/common/flyway/src/test/java/org/kie/flyway/integration/TestKieFlywayNamedModule.java
+++ 
b/addons/common/flyway/src/main/java/org/kie/flyway/integration/KieFlywayRunnerConfiguration.java
@@ -19,16 +19,23 @@
 
 package org.kie.flyway.integration;
 
-public class TestKieFlywayNamedModule implements KieFlywayNamedModule {
+import java.util.Collection;
 
-    private boolean enabled;
+public class KieFlywayRunnerConfiguration {
 
-    public TestKieFlywayNamedModule(boolean enabled) {
+    private final boolean enabled;
+    private final Collection<KieFlywayNamedModule> modules;
+
+    public KieFlywayRunnerConfiguration(boolean enabled, 
Collection<KieFlywayNamedModule> modules) {
         this.enabled = enabled;
+        this.modules = modules;
     }
 
-    @Override
     public boolean isEnabled() {
         return enabled;
     }
+
+    public Collection<KieFlywayNamedModule> getModules() {
+        return modules;
+    }
 }
diff --git 
a/addons/common/flyway/src/test/java/org/kie/flyway/initializer/KieFlywayInitializerTest.java
 
b/addons/common/flyway/src/test/java/org/kie/flyway/initializer/KieFlywayInitializerTest.java
index 425c3b32c9..16ca985ba0 100644
--- 
a/addons/common/flyway/src/test/java/org/kie/flyway/initializer/KieFlywayInitializerTest.java
+++ 
b/addons/common/flyway/src/test/java/org/kie/flyway/initializer/KieFlywayInitializerTest.java
@@ -22,7 +22,6 @@ package org.kie.flyway.initializer;
 import java.util.*;
 import java.util.stream.Stream;
 
-import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.*;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
@@ -37,6 +36,7 @@ import 
org.kie.kogito.testcontainers.KogitoPostgreSqlContainer;
 import org.testcontainers.junit.jupiter.Container;
 import org.testcontainers.junit.jupiter.Testcontainers;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.kie.flyway.test.models.TestModels.*;
 
 @Testcontainers
@@ -71,17 +71,17 @@ public class KieFlywayInitializerTest extends 
AbstractKieFlywayTest {
     @ParameterizedTest
     @MethodSource("getDataSources")
     public void testTestKieFlywayInitializerBuilderValidations(TestDataSource 
dataSource) {
-        Assertions.assertThatThrownBy(() -> KieFlywayInitializer.builder()
+        assertThatThrownBy(() -> KieFlywayInitializer.builder()
                 .build()).isInstanceOf(KieFlywayException.class)
-                .hasMessage("Cannot create KieFlywayInitializer migration, 
dataSource is null.");
+                        .hasMessage("Cannot create KieFlywayInitializer 
migration, dataSource is null.");
 
         
classLoader.addKieFlywayModule("initializers/kie-flyway.no.locations.properties");
 
-        Assertions.assertThatThrownBy(() -> KieFlywayInitializer.builder()
+        assertThatThrownBy(() -> KieFlywayInitializer.builder()
                 .withDatasource(dataSource.getDataSource())
                 .withClassLoader(classLoader).build().migrate())
-                .isInstanceOf(KieFlywayException.class)
-                .hasMessageContaining("Cannot run Flyway migration for module 
`no-locations`, cannot find SQL Script locations for db");
+                        .isInstanceOf(KieFlywayException.class)
+                        .hasMessageContaining("Cannot run Flyway migration for 
module `no-locations`, cannot find SQL Script locations for db");
     }
 
     @ParameterizedTest
@@ -92,7 +92,7 @@ public class KieFlywayInitializerTest extends 
AbstractKieFlywayTest {
         
classLoader.addKieFlywayModule("initializers/kie-flyway.duplicated2.properties");
         
classLoader.addKieFlywayModule("initializers/kie-flyway.duplicated2.properties");
 
-        Assertions.assertThatThrownBy(() -> {
+        assertThatThrownBy(() -> {
             KieFlywayInitializer.builder()
                     .withDatasource(dataSource.getDataSource())
                     .withClassLoader(classLoader)
diff --git 
a/addons/common/flyway/src/test/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoaderTest.java
 
b/addons/common/flyway/src/test/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoaderTest.java
index 139f48c649..1fc30bac49 100644
--- 
a/addons/common/flyway/src/test/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoaderTest.java
+++ 
b/addons/common/flyway/src/test/java/org/kie/flyway/initializer/impl/DefaultKieModuleFlywayConfigLoaderTest.java
@@ -21,13 +21,15 @@ package org.kie.flyway.initializer.impl;
 
 import java.util.Collection;
 
-import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.kie.flyway.KieFlywayException;
 import org.kie.flyway.model.KieFlywayModuleConfig;
 import org.kie.flyway.test.utils.TestClassLoader;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
 public class DefaultKieModuleFlywayConfigLoaderTest {
 
     private static final String H2_LOCATIONS = 
"classpath:kie-flyway/db/test/h2";
@@ -48,10 +50,10 @@ public class DefaultKieModuleFlywayConfigLoaderTest {
 
         Collection<KieFlywayModuleConfig> configs = 
flywayConfigLoader.loadModuleConfigs();
 
-        Assertions.assertThat(configs)
+        assertThat(configs)
                 .hasSize(1);
 
-        Assertions.assertThat(configs.iterator().next())
+        assertThat(configs.iterator().next())
                 .isNotNull()
                 .hasFieldOrPropertyWithValue("module", "test")
                 .returns(H2_LOCATIONS, kieFlywayModuleConfig -> 
kieFlywayModuleConfig.getDBScriptLocations("h2")[0])
@@ -63,7 +65,7 @@ public class DefaultKieModuleFlywayConfigLoaderTest {
     public void testEmptyConfigFile() {
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.empty.properties");
 
-        Assertions.assertThatThrownBy(() -> 
flywayConfigLoader.loadModuleConfigs())
+        assertThatThrownBy(() -> flywayConfigLoader.loadModuleConfigs())
                 .isInstanceOf(KieFlywayException.class)
                 .hasMessage("Could not load ModuleFlywayConfig")
                 .cause()
@@ -75,7 +77,7 @@ public class DefaultKieModuleFlywayConfigLoaderTest {
     public void testWrongLocationsFormat() {
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.wrong.format.properties");
 
-        Assertions.assertThatThrownBy(() -> 
flywayConfigLoader.loadModuleConfigs())
+        assertThatThrownBy(() -> flywayConfigLoader.loadModuleConfigs())
                 .isInstanceOf(KieFlywayException.class)
                 .hasMessage("Could not load ModuleFlywayConfig")
                 .cause()
@@ -87,7 +89,7 @@ public class DefaultKieModuleFlywayConfigLoaderTest {
     public void testWrongResourceFile() {
         testClassLoader.addKieFlywayModule("wrong content");
 
-        Assertions.assertThatThrownBy(() -> 
flywayConfigLoader.loadModuleConfigs())
+        assertThatThrownBy(() -> flywayConfigLoader.loadModuleConfigs())
                 .isInstanceOf(KieFlywayException.class)
                 .hasMessage("Could not load ModuleFlywayConfig");
     }
diff --git 
a/addons/common/flyway/src/test/java/org/kie/flyway/integration/KieFlywayRunnerTest.java
 
b/addons/common/flyway/src/test/java/org/kie/flyway/integration/KieFlywayRunnerTest.java
index bd510d9994..ae0109b686 100644
--- 
a/addons/common/flyway/src/test/java/org/kie/flyway/integration/KieFlywayRunnerTest.java
+++ 
b/addons/common/flyway/src/test/java/org/kie/flyway/integration/KieFlywayRunnerTest.java
@@ -19,11 +19,11 @@
 
 package org.kie.flyway.integration;
 
-import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.List;
 
 import javax.sql.DataSource;
 
-import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.*;
 import org.kie.flyway.KieFlywayException;
 import org.kie.flyway.test.AbstractKieFlywayTest;
@@ -31,6 +31,7 @@ import org.kie.flyway.test.dataSources.H2TestDataSource;
 import org.kie.flyway.test.dataSources.TestDataSource;
 import org.kie.flyway.test.utils.TestClassLoader;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.kie.flyway.test.models.TestModels.*;
 import static org.mockito.Mockito.mock;
 
@@ -44,27 +45,27 @@ public class KieFlywayRunnerTest extends 
AbstractKieFlywayTest {
     }
 
     private TestClassLoader testClassLoader;
-    private TestKieFlywayConfiguration testConfiguration;
 
     @BeforeEach
     public void init() {
         testClassLoader = new 
TestClassLoader(this.getClass().getClassLoader());
-        testConfiguration = new TestKieFlywayConfiguration(true, new 
HashMap<>());
     }
 
     @Test
     public void testValidations() {
-        Assertions.assertThatThrownBy(() -> 
KieFlywayRunner.get(null).runFlyway(null))
+        assertThatThrownBy(() -> KieFlywayRunner.get(null).runFlyway(null))
                 .isInstanceOf(KieFlywayException.class)
                 .hasMessage("Kie Flyway: Cannot run Kie Flyway migration 
configuration is null.");
 
-        Assertions.assertThatThrownBy(() -> 
KieFlywayRunner.get(testConfiguration).runFlyway(null)).isInstanceOf(KieFlywayException.class)
+        KieFlywayRunnerConfiguration config = new 
KieFlywayRunnerConfiguration(true, new ArrayList<>());
+
+        assertThatThrownBy(() -> 
KieFlywayRunner.get(config).runFlyway(null)).isInstanceOf(KieFlywayException.class)
                 .hasMessage("Kie Flyway: Cannot run Kie Flyway migration 
default datasource is null");
 
         // Mocking DataSource to make sure we cannot resolve dbType.
         DataSource mockedDS = mock(DataSource.class);
 
-        Assertions.assertThatThrownBy(() -> 
KieFlywayRunner.get(testConfiguration).runFlyway(mockedDS))
+        assertThatThrownBy(() -> 
KieFlywayRunner.get(config).runFlyway(mockedDS))
                 .isInstanceOf(KieFlywayException.class)
                 .hasMessage("Kie Flyway: Couldn't extract database product 
name from datasource.");
     }
@@ -75,9 +76,9 @@ public class KieFlywayRunnerTest extends 
AbstractKieFlywayTest {
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.customers.properties");
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.guitars.properties");
 
-        testConfiguration.setEnabled(false);
+        KieFlywayRunnerConfiguration config = new 
KieFlywayRunnerConfiguration(false, new ArrayList<>());
 
-        TestKieFlywayRunner.get(testConfiguration, testClassLoader)
+        TestKieFlywayRunner.get(config, testClassLoader)
                 .runFlyway(TEST_DATA_SOURCE.getDataSource());
 
         verifyTableDoesntExist("customers", TEST_DATA_SOURCE);
@@ -89,13 +90,12 @@ public class KieFlywayRunnerTest extends 
AbstractKieFlywayTest {
     @Test
     @Order(1)
     public void testFlywayMigrationsWithExclusions() {
-
-        testConfiguration.getModules().put("guitars", new 
TestKieFlywayNamedModule(false));
-
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.customers.properties");
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.guitars.properties");
 
-        TestKieFlywayRunner.get(testConfiguration, testClassLoader)
+        KieFlywayRunnerConfiguration config = new 
KieFlywayRunnerConfiguration(true, List.of(new KieFlywayNamedModule("guitars", 
false)));
+
+        TestKieFlywayRunner.get(config, testClassLoader)
                 .runFlyway(TEST_DATA_SOURCE.getDataSource());
 
         validateKieFlywayIndex("customers", 
EXPECTED_CUSTOMERS_MIGRATIONS.stream().limit(3).toList(), TEST_DATA_SOURCE);
@@ -113,7 +113,9 @@ public class KieFlywayRunnerTest extends 
AbstractKieFlywayTest {
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.customers2.properties");
         
testClassLoader.addKieFlywayModule("initializers/kie-flyway.guitars.properties");
 
-        TestKieFlywayRunner.get(testConfiguration, testClassLoader)
+        KieFlywayRunnerConfiguration config = new 
KieFlywayRunnerConfiguration(true, new ArrayList<>());
+
+        TestKieFlywayRunner.get(config, testClassLoader)
                 .runFlyway(TEST_DATA_SOURCE.getDataSource());
 
         validateKieFlywayIndex("customers", EXPECTED_CUSTOMERS_MIGRATIONS, 
TEST_DATA_SOURCE);
@@ -130,11 +132,11 @@ public class KieFlywayRunnerTest extends 
AbstractKieFlywayTest {
 
     public static class TestKieFlywayRunner extends KieFlywayRunner {
 
-        protected TestKieFlywayRunner(KieFlywayConfiguration<? extends 
KieFlywayNamedModule> configuration, ClassLoader classLoader) {
+        protected TestKieFlywayRunner(KieFlywayRunnerConfiguration 
configuration, ClassLoader classLoader) {
             super(configuration, classLoader);
         }
 
-        public static KieFlywayRunner get(TestKieFlywayConfiguration 
configuration, ClassLoader classLoader) {
+        public static KieFlywayRunner get(KieFlywayRunnerConfiguration 
configuration, ClassLoader classLoader) {
             return new TestKieFlywayRunner(configuration, classLoader);
         }
     }
diff --git 
a/addons/common/flyway/src/test/java/org/kie/flyway/integration/TestKieFlywayConfiguration.java
 
b/addons/common/flyway/src/test/java/org/kie/flyway/integration/TestKieFlywayConfiguration.java
deleted file mode 100644
index 1d20272a08..0000000000
--- 
a/addons/common/flyway/src/test/java/org/kie/flyway/integration/TestKieFlywayConfiguration.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.kie.flyway.integration;
-
-import java.util.Map;
-
-public class TestKieFlywayConfiguration implements 
KieFlywayConfiguration<TestKieFlywayNamedModule> {
-
-    private boolean enabled;
-    private Map<String, TestKieFlywayNamedModule> modules;
-
-    public TestKieFlywayConfiguration(boolean enabled, Map<String, 
TestKieFlywayNamedModule> modules) {
-        this.enabled = enabled;
-        this.modules = modules;
-    }
-
-    public void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-    }
-
-    @Override
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    @Override
-    public Map<String, TestKieFlywayNamedModule> getModules() {
-        return modules;
-    }
-}
diff --git 
a/addons/common/flyway/src/test/java/org/kie/flyway/test/AbstractKieFlywayTest.java
 
b/addons/common/flyway/src/test/java/org/kie/flyway/test/AbstractKieFlywayTest.java
index 3a6ff7fa3f..1ee734a683 100644
--- 
a/addons/common/flyway/src/test/java/org/kie/flyway/test/AbstractKieFlywayTest.java
+++ 
b/addons/common/flyway/src/test/java/org/kie/flyway/test/AbstractKieFlywayTest.java
@@ -24,13 +24,13 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.Collection;
 
-import org.assertj.core.api.Assertions;
 import org.kie.flyway.initializer.KieFlywayInitializerTest;
 import org.kie.flyway.test.dataSources.TestDataSource;
 import org.kie.flyway.test.models.Customer;
 import org.kie.flyway.test.models.Guitar;
 import org.kie.flyway.test.models.KieFlywayMigration;
 
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.kie.flyway.test.models.TestModels.EXPECTED_GUITARS;
 
 public abstract class AbstractKieFlywayTest {
@@ -48,15 +48,15 @@ public abstract class AbstractKieFlywayTest {
                 PreparedStatement stmt = 
con.prepareStatement(KieFlywayInitializerTest.MODULE_MIGRATIONS_QUERY_TEMPLATE.formatted(moduleName));)
 {
             stmt.setString(1, migration.version());
             try (ResultSet rs = stmt.executeQuery()) {
-                Assertions.assertThat(rs.next())
+                assertThat(rs.next())
                         .isTrue();
-                Assertions.assertThat(rs.getString("version"))
+                assertThat(rs.getString("version"))
                         .isEqualTo(migration.version());
-                Assertions.assertThat(rs.getString("description"))
+                assertThat(rs.getString("description"))
                         
.isEqualTo(migration.description().formatted(dataSource.getDbType()));
-                Assertions.assertThat(rs.getBoolean("success"))
+                assertThat(rs.getBoolean("success"))
                         .isEqualTo(true);
-                Assertions.assertThat(rs.next())
+                assertThat(rs.next())
                         .isFalse();
             }
         } catch (Exception ex) {
@@ -70,18 +70,18 @@ public abstract class AbstractKieFlywayTest {
                 ResultSet rs = stmt.executeQuery()) {
 
             for (Customer customer : expectedCustomers) {
-                Assertions.assertThat(rs.next())
+                assertThat(rs.next())
                         .isTrue();
-                Assertions.assertThat(rs.getInt("id"))
+                assertThat(rs.getInt("id"))
                         .isEqualTo(customer.id());
-                Assertions.assertThat(rs.getString("name"))
+                assertThat(rs.getString("name"))
                         .isEqualTo(customer.name());
-                Assertions.assertThat(rs.getString("last_name"))
+                assertThat(rs.getString("last_name"))
                         .isEqualTo(customer.lastName());
-                Assertions.assertThat(rs.getString("email"))
+                assertThat(rs.getString("email"))
                         .isEqualTo(customer.email());
             }
-            Assertions.assertThat(rs.next())
+            assertThat(rs.next())
                     .isFalse();
         } catch (Exception ex) {
             throw new RuntimeException(ex);
@@ -94,19 +94,19 @@ public abstract class AbstractKieFlywayTest {
                 ResultSet rs = stmt.executeQuery()) {
 
             for (Guitar guitar : EXPECTED_GUITARS) {
-                Assertions.assertThat(rs.next())
+                assertThat(rs.next())
                         .isTrue();
-                Assertions.assertThat(rs.getInt("id"))
+                assertThat(rs.getInt("id"))
                         .isEqualTo(guitar.id());
-                Assertions.assertThat(rs.getString("brand"))
+                assertThat(rs.getString("brand"))
                         .isEqualTo(guitar.brand());
-                Assertions.assertThat(rs.getString("model"))
+                assertThat(rs.getString("model"))
                         .isEqualTo(guitar.model());
-                Assertions.assertThat(rs.getInt("rating"))
+                assertThat(rs.getInt("rating"))
                         .isEqualTo(guitar.rating());
             }
 
-            Assertions.assertThat(rs.next())
+            assertThat(rs.next())
                     .isFalse();
         } catch (Exception ex) {
             throw new RuntimeException(ex);
@@ -118,8 +118,8 @@ public abstract class AbstractKieFlywayTest {
                 PreparedStatement stmt = 
con.prepareStatement(QUERY_QUERY_TABLE_EXISTS);) {
             stmt.setString(1, tableName);
             try (ResultSet rs = stmt.executeQuery()) {
-                Assertions.assertThat(rs.next()).isTrue();
-                Assertions.assertThat(rs.getInt("count")).isEqualTo(0);
+                assertThat(rs.next()).isTrue();
+                assertThat(rs.getInt("count")).isEqualTo(0);
             }
         } catch (Exception ex) {
             throw new RuntimeException(ex);
diff --git 
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
 
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
index 13d4c84161..f5dbb0dce8 100644
--- 
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
+++ 
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRecorder.java
@@ -19,9 +19,13 @@
 
 package org.kie.flyway.quarkus;
 
+import java.util.Collection;
+
 import javax.sql.DataSource;
 
+import org.kie.flyway.integration.KieFlywayNamedModule;
 import org.kie.flyway.integration.KieFlywayRunner;
+import org.kie.flyway.integration.KieFlywayRunnerConfiguration;
 
 import io.quarkus.agroal.runtime.DataSources;
 import io.quarkus.arc.Arc;
@@ -42,7 +46,15 @@ public class KieFlywayQuarkusRecorder {
         DataSources agroalDatasourceS = 
Arc.container().select(DataSources.class).get();
         DataSource dataSource = agroalDatasourceS.getDataSource(defaultDSName);
 
-        KieFlywayRunner.get(config.getValue())
+        KieFlywayQuarkusRuntimeConfig runtimeConfig = config.getValue();
+
+        Collection<KieFlywayNamedModule> kieFlywayNamedModules = 
runtimeConfig.modules.entrySet()
+                .stream()
+                .map(entry -> new KieFlywayNamedModule(entry.getKey(), 
entry.getValue().enabled))
+                .toList();
+
+        KieFlywayRunnerConfiguration kieFlywayConfig = new 
KieFlywayRunnerConfiguration(runtimeConfig.enabled, kieFlywayNamedModules);
+        KieFlywayRunner.get(kieFlywayConfig)
                 .runFlyway(dataSource);
     }
 }
diff --git 
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
 
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
index 5819fa3a7c..ae6e2ad70b 100644
--- 
a/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
+++ 
b/quarkus/addons/flyway/runtime/src/main/java/org/kie/flyway/quarkus/KieFlywayQuarkusRuntimeConfig.java
@@ -21,16 +21,13 @@ package org.kie.flyway.quarkus;
 
 import java.util.Map;
 
-import org.kie.flyway.integration.KieFlywayConfiguration;
-import org.kie.flyway.integration.KieFlywayNamedModule;
-
 import io.quarkus.runtime.annotations.*;
 
 /**
  * Configuration for the Kie Flyway initializer
  */
 @ConfigRoot(prefix = "kie", name = "flyway", phase = ConfigPhase.RUN_TIME)
-public class KieFlywayQuarkusRuntimeConfig implements 
KieFlywayConfiguration<KieFlywayQuarkusRuntimeConfig.KieQuarkusFlywayNamedModule>
 {
+public class KieFlywayQuarkusRuntimeConfig {
 
     /**
      * Enables the execution of the Flyway initializer during the application 
startup
@@ -44,28 +41,13 @@ public class KieFlywayQuarkusRuntimeConfig implements 
KieFlywayConfiguration<Kie
     @ConfigItem(name = "modules")
     Map<String, KieQuarkusFlywayNamedModule> modules;
 
-    @Override
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    @Override
-    public Map<String, KieQuarkusFlywayNamedModule> getModules() {
-        return modules;
-    }
-
     @ConfigGroup
-    public static class KieQuarkusFlywayNamedModule implements 
KieFlywayNamedModule {
+    public static class KieQuarkusFlywayNamedModule {
 
         /**
          * Enables the execution of the Flyway initializer for a specific Kie 
module
          */
         @ConfigItem(name = "enabled", defaultValue = "true")
         boolean enabled;
-
-        @Override
-        public boolean isEnabled() {
-            return enabled;
-        }
     }
 }
diff --git 
a/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootInitializer.java
 
b/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootInitializer.java
index dff89d58c2..184a7f8c3f 100644
--- 
a/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootInitializer.java
+++ 
b/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootInitializer.java
@@ -19,9 +19,13 @@
 
 package org.kie.flyway.springboot;
 
+import java.util.Collection;
+
 import javax.sql.DataSource;
 
+import org.kie.flyway.integration.KieFlywayNamedModule;
 import org.kie.flyway.integration.KieFlywayRunner;
+import org.kie.flyway.integration.KieFlywayRunnerConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.InitializingBean;
@@ -40,7 +44,13 @@ public class KieFlywaySpringbootInitializer implements 
InitializingBean, Ordered
 
     @Override
     public void afterPropertiesSet() {
-        KieFlywayRunner.get(properties)
+
+        Collection<KieFlywayNamedModule> kieFlywayNamedModules = 
properties.getModules().entrySet()
+                .stream()
+                .map(entry -> new KieFlywayNamedModule(entry.getKey(), 
entry.getValue().isEnabled()))
+                .toList();
+
+        KieFlywayRunner.get(new 
KieFlywayRunnerConfiguration(properties.isEnabled(), kieFlywayNamedModules))
                 .runFlyway(dataSource);
     }
 
diff --git 
a/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootProperties.java
 
b/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootProperties.java
index 3c89ad447d..c65da4a34b 100644
--- 
a/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootProperties.java
+++ 
b/springboot/addons/flyway/src/main/java/org/kie/flyway/springboot/KieFlywaySpringbootProperties.java
@@ -22,13 +22,11 @@ package org.kie.flyway.springboot;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.kie.flyway.integration.KieFlywayConfiguration;
-import org.kie.flyway.integration.KieFlywayNamedModule;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 @ConfigurationProperties(prefix = "kie.flyway")
-public class KieFlywaySpringbootProperties implements 
KieFlywayConfiguration<KieFlywaySpringbootProperties.KieFlywaySpringbootNamedModule>
 {
-    private boolean enabled = true;
+public class KieFlywaySpringbootProperties {
+    private boolean enabled = false;
 
     private Map<String, KieFlywaySpringbootNamedModule> modules = new 
HashMap<>();
 
@@ -48,7 +46,7 @@ public class KieFlywaySpringbootProperties implements 
KieFlywayConfiguration<Kie
         this.modules = modules;
     }
 
-    public static class KieFlywaySpringbootNamedModule implements 
KieFlywayNamedModule {
+    public static class KieFlywaySpringbootNamedModule {
 
         private boolean enabled = true;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to