diff --git a/pom.xml b/pom.xml
index cf6f3914..eeaf0ae1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.5.5
+ 4.0.1
@@ -54,8 +54,8 @@
UTF-8
17
2.0.5
- 10.6.0
- 10.6.0
+ 10.8.0
+ 10.7.0
diff --git a/wicket-spring-boot-starter-example/pom.xml b/wicket-spring-boot-starter-example/pom.xml
index 42ff4770..5f9c6005 100644
--- a/wicket-spring-boot-starter-example/pom.xml
+++ b/wicket-spring-boot-starter-example/pom.xml
@@ -112,8 +112,8 @@
4.0.6
- org.liquibase
- liquibase-core
+ org.springframework.boot
+ spring-boot-starter-liquibase
org.apache.commons
diff --git a/wicket-spring-boot-starter-example/src/main/java/com/giffing/wicket/spring/boot/example/repository/services/customer/CustomerRepositoryServiceImpl.java b/wicket-spring-boot-starter-example/src/main/java/com/giffing/wicket/spring/boot/example/repository/services/customer/CustomerRepositoryServiceImpl.java
index 1e419f21..64e125bf 100644
--- a/wicket-spring-boot-starter-example/src/main/java/com/giffing/wicket/spring/boot/example/repository/services/customer/CustomerRepositoryServiceImpl.java
+++ b/wicket-spring-boot-starter-example/src/main/java/com/giffing/wicket/spring/boot/example/repository/services/customer/CustomerRepositoryServiceImpl.java
@@ -71,13 +71,13 @@ private Specification filter(CustomerFilter filter) {
specs.add(CustomerSpecs.hasActive(filter.isActive()));
}
- Specification spec = null;
- for (Specification specification : specs) {
- if (spec == null) {
- spec = Specification.where(specification);
- } else {
- spec = spec.and(specification);
- }
+ if (specs.isEmpty()) {
+ return (root, query, cb) -> cb.conjunction();
+ }
+
+ Specification spec = specs.get(0);
+ for (int i = 1; i < specs.size(); i++) {
+ spec = spec.and(specs.get(i));
}
return spec;
diff --git a/wicket-spring-boot-starter-example/src/test/java/test/com/giffing/wicket/spring/boot/example/web/WicketWebApplicationConfig.java b/wicket-spring-boot-starter-example/src/test/java/test/com/giffing/wicket/spring/boot/example/web/WicketWebApplicationConfig.java
index e820f437..1ce98046 100644
--- a/wicket-spring-boot-starter-example/src/test/java/test/com/giffing/wicket/spring/boot/example/web/WicketWebApplicationConfig.java
+++ b/wicket-spring-boot-starter-example/src/test/java/test/com/giffing/wicket/spring/boot/example/web/WicketWebApplicationConfig.java
@@ -5,9 +5,6 @@
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.resource.loader.ClassStringResourceLoader;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -19,11 +16,7 @@
import com.giffing.wicket.spring.boot.starter.configuration.extensions.external.spring.security.SecureWebSession;
//TODO move to test
-@SpringBootApplication(exclude = {
- DataSourceAutoConfiguration.class,
- JpaRepositoriesAutoConfiguration.class,
- HibernateJpaAutoConfiguration.class,
-})
+@SpringBootApplication
@ComponentScan(basePackageClasses = SpringBootWebPackageIdentifier.class)
@EnableTransactionManagement
public class WicketWebApplicationConfig extends WicketBootSecuredWebApplication {
diff --git a/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/cassandra/DataStoreCassandraConfig.java b/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/cassandra/DataStoreCassandraConfig.java
index 02b87cf4..f36813fe 100644
--- a/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/cassandra/DataStoreCassandraConfig.java
+++ b/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/cassandra/DataStoreCassandraConfig.java
@@ -5,8 +5,6 @@
import org.apache.wicket.pageStore.IPageStore;
import org.apache.wicket.protocol.http.WebApplication;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -37,7 +35,6 @@
@ConditionalOnProperty(prefix = DataStoreCassandraProperties.PROPERTY_PREFIX, value = "enabled", matchIfMissing = true)
@ConditionalOnClass(name = "com.datastax.driver.core.Session", value = {CassandraDataStore.class})
@EnableConfigurationProperties({DataStoreCassandraProperties.class})
-@AutoConfigureAfter(CassandraAutoConfiguration.class)
@RequiredArgsConstructor
public class DataStoreCassandraConfig implements WicketApplicationInitConfiguration {
diff --git a/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/hazelcast/DataStoreHazelcastConfig.java b/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/hazelcast/DataStoreHazelcastConfig.java
index 00a657ad..6ec0ea4f 100644
--- a/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/hazelcast/DataStoreHazelcastConfig.java
+++ b/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/hazelcast/DataStoreHazelcastConfig.java
@@ -5,11 +5,9 @@
import org.apache.wicket.pageStore.IPageStore;
import org.apache.wicket.protocol.http.WebApplication;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.wicketstuff.datastores.common.SessionQuotaManagingDataStore;
import org.wicketstuff.datastores.hazelcast.HazelcastDataStore;
@@ -38,7 +36,6 @@
@ConditionalOnBean(HazelcastInstance.class)
@ConditionalOnClass({HazelcastInstance.class, HazelcastDataStore.class})
@EnableConfigurationProperties({DataStoreHazelcastProperties.class})
-@AutoConfigureAfter(HazelcastAutoConfiguration.class)
@RequiredArgsConstructor
public class DataStoreHazelcastConfig implements WicketApplicationInitConfiguration {
diff --git a/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/redis/DataStoreRedisConfig.java b/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/redis/DataStoreRedisConfig.java
index c5170021..d7f8fc7f 100644
--- a/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/redis/DataStoreRedisConfig.java
+++ b/wicket-spring-boot-starter/src/main/java/com/giffing/wicket/spring/boot/starter/configuration/extensions/stuff/datastore/redis/DataStoreRedisConfig.java
@@ -5,10 +5,8 @@
import org.apache.wicket.pageStore.IPageStore;
import org.apache.wicket.protocol.http.WebApplication;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.wicketstuff.datastores.common.SessionQuotaManagingDataStore;
import org.wicketstuff.datastores.redis.IRedisSettings;
@@ -39,7 +37,6 @@
@ConditionalOnProperty(prefix = DataStoreRedisProperties.PROPERTY_PREFIX, value = "enabled", matchIfMissing = true)
@ConditionalOnClass({Jedis.class, RedisDataStore.class})
@EnableConfigurationProperties({DataStoreRedisProperties.class})
-@AutoConfigureAfter(RedisAutoConfiguration.class)
@RequiredArgsConstructor
public class DataStoreRedisConfig implements WicketApplicationInitConfiguration {