From 8cb1db30ce3dcb42d9292438fca55e79a8704ac4 Mon Sep 17 00:00:00 2001 From: Norman Schmidt <60552466+norman-schmidt@users.noreply.github.com> Date: Thu, 12 Oct 2023 17:25:48 +0200 Subject: [PATCH] Closes #2404 - Upgrade to Spring Boot 3.1.5 --- common/taskana-common-logging/pom.xml | 3 +- .../internal/logging/LoggingAspectTest.java | 8 +-- common/taskana-common-test/pom.xml | 6 +- history/taskana-loghistory-provider/pom.xml | 3 +- .../impl/LogfileHistoryServiceImplTest.java | 4 +- .../taskana-simplehistory-provider/pom.xml | 1 + .../taskana-simplehistory-rest-spring/pom.xml | 8 +-- .../rest/TaskHistoryEventController.java | 2 +- lib/taskana-cdi-example/pom.xml | 6 +- .../pro/taskana/example/ExampleBootstrap.java | 10 +-- .../java/pro/taskana/example/TaskanaEjb.java | 4 +- lib/taskana-cdi/pom.xml | 25 ++++++-- .../common/internal/TaskanaProducers.java | 8 +-- .../java/pro/taskana/RestApplication.java | 4 +- .../taskana/TaskanaCdiTestRestController.java | 16 ++--- .../src/test/java/pro/taskana/TaskanaEjb.java | 4 +- lib/taskana-cdi/src/test/resources/module.xml | 6 +- lib/taskana-core/pom.xml | 1 + .../pro/taskana/example/ExampleBootstrap.java | 2 +- lib/taskana-spring/pom.xml | 6 +- lib/taskana-test-api/pom.xml | 1 + pom.xml | 21 +++--- .../security/BootWebSecurityConfigurer.java | 64 +++++++++---------- .../taskana/example/rest/WebMvcConfig.java | 2 +- .../pom.xml | 4 +- .../wildfly/security/ElytronToJaasFilter.java | 10 +-- .../wildfly/security/LogoutController.java | 4 +- .../WildflyWebSecurityConfigurer.java | 4 +- .../src/test/resources/module.xml | 4 +- rest/taskana-rest-spring-test-lib/pom.xml | 6 +- .../rest/test/SpringSecurityToJaasFilter.java | 8 +-- .../rest/test/TestWebSecurityConfig.java | 16 ++--- rest/taskana-rest-spring/pom.xml | 8 +-- .../rest/ClassificationController.java | 2 +- ...cationSummaryPagedRepresentationModel.java | 2 +- ...ssificationSummaryRepresentationModel.java | 2 +- .../common/rest/QueryPagingParameter.java | 2 +- .../rest/SpringSecurityToJaasFilter.java | 8 +-- .../rest/TaskanaRestExceptionHandler.java | 9 +-- .../taskana/common/rest/ldap/LdapClient.java | 2 +- .../models/VersionRepresentationModel.java | 2 +- .../rest/util/QueryParamsValidator.java | 2 +- .../task/rest/TaskCommentController.java | 2 +- .../pro/taskana/task/rest/TaskController.java | 20 +++--- .../TaskSummaryRepresentationModel.java | 2 +- .../pro/taskana/user/rest/UserController.java | 15 +++-- .../rest/models/UserRepresentationModel.java | 2 +- .../rest/WorkbasketAccessItemController.java | 2 +- .../workbasket/rest/WorkbasketController.java | 2 +- routing/taskana-routing-rest/pom.xml | 12 ++-- 50 files changed, 194 insertions(+), 173 deletions(-) diff --git a/common/taskana-common-logging/pom.xml b/common/taskana-common-logging/pom.xml index 9675f9575..3dac43a3b 100644 --- a/common/taskana-common-logging/pom.xml +++ b/common/taskana-common-logging/pom.xml @@ -32,7 +32,7 @@ test - uk.org.lidalia + com.github.valfirst slf4j-test ${version.slf4j-test} test @@ -45,6 +45,7 @@ org.mockito + ${version.mockito-inline} mockito-inline test diff --git a/common/taskana-common-logging/src/test/java/pro/taskana/common/internal/logging/LoggingAspectTest.java b/common/taskana-common-logging/src/test/java/pro/taskana/common/internal/logging/LoggingAspectTest.java index e1a3f465f..1bb017686 100644 --- a/common/taskana-common-logging/src/test/java/pro/taskana/common/internal/logging/LoggingAspectTest.java +++ b/common/taskana-common-logging/src/test/java/pro/taskana/common/internal/logging/LoggingAspectTest.java @@ -2,6 +2,9 @@ package pro.taskana.common.internal.logging; import static org.assertj.core.api.Assertions.assertThat; +import com.github.valfirst.slf4jtest.LoggingEvent; +import com.github.valfirst.slf4jtest.TestLogger; +import com.github.valfirst.slf4jtest.TestLoggerFactory; import org.assertj.core.api.Condition; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; @@ -9,12 +12,9 @@ import org.junit.jupiter.api.Test; import org.mockito.MockedStatic; import org.mockito.Mockito; import org.mockito.internal.stubbing.answers.CallsRealMethods; +import org.slf4j.event.Level; import outside.of.pro.taskana.OutsideOfProTaskanaPackageLoggingTestClass; import pro.taskana.AtProTaskanaRootPackageLoggingTestClass; -import uk.org.lidalia.slf4jext.Level; -import uk.org.lidalia.slf4jtest.LoggingEvent; -import uk.org.lidalia.slf4jtest.TestLogger; -import uk.org.lidalia.slf4jtest.TestLoggerFactory; @NoLogging class LoggingAspectTest { diff --git a/common/taskana-common-test/pom.xml b/common/taskana-common-test/pom.xml index 3fe8febe8..827cb92b5 100644 --- a/common/taskana-common-test/pom.xml +++ b/common/taskana-common-test/pom.xml @@ -52,9 +52,9 @@ jackson-datatype-jsr310 - javax.servlet - javax.servlet-api - ${version.javax.servlet} + jakarta.servlet + jakarta.servlet-api + ${version.jakarta.servlet} org.springframework diff --git a/history/taskana-loghistory-provider/pom.xml b/history/taskana-loghistory-provider/pom.xml index 8f7a6ba31..f75d902de 100644 --- a/history/taskana-loghistory-provider/pom.xml +++ b/history/taskana-loghistory-provider/pom.xml @@ -41,7 +41,7 @@ - uk.org.lidalia + com.github.valfirst slf4j-test ${version.slf4j-test} test @@ -59,6 +59,7 @@ org.mockito + ${version.mockito-inline} mockito-inline test diff --git a/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java b/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java index 6dc67bf68..9292fbdb7 100644 --- a/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java +++ b/history/taskana-loghistory-provider/src/test/java/pro/taskana/loghistory/impl/LogfileHistoryServiceImplTest.java @@ -4,6 +4,8 @@ import static org.assertj.core.api.Assertions.assertThat; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.github.valfirst.slf4jtest.TestLogger; +import com.github.valfirst.slf4jtest.TestLoggerFactory; import java.time.Instant; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; @@ -17,8 +19,6 @@ import pro.taskana.spi.history.api.events.task.TaskHistoryEvent; import pro.taskana.spi.history.api.events.task.TaskHistoryEventType; import pro.taskana.spi.history.api.events.workbasket.WorkbasketHistoryEvent; import pro.taskana.spi.history.api.events.workbasket.WorkbasketHistoryEventType; -import uk.org.lidalia.slf4jtest.TestLogger; -import uk.org.lidalia.slf4jtest.TestLoggerFactory; class LogfileHistoryServiceImplTest { diff --git a/history/taskana-simplehistory-provider/pom.xml b/history/taskana-simplehistory-provider/pom.xml index 4d27ac2be..b7205be7d 100644 --- a/history/taskana-simplehistory-provider/pom.xml +++ b/history/taskana-simplehistory-provider/pom.xml @@ -66,6 +66,7 @@ org.mockito + ${version.mockito-inline} mockito-inline test diff --git a/history/taskana-simplehistory-rest-spring/pom.xml b/history/taskana-simplehistory-rest-spring/pom.xml index 112ac5e6e..75be5376e 100644 --- a/history/taskana-simplehistory-rest-spring/pom.xml +++ b/history/taskana-simplehistory-rest-spring/pom.xml @@ -44,13 +44,13 @@ spring-hateoas - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api provided - javax.validation - validation-api + jakarta.validation + jakarta.validation-api com.fasterxml.jackson.core diff --git a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java index 2d493a32c..0bb060432 100644 --- a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java +++ b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java @@ -1,10 +1,10 @@ package pro.taskana.simplehistory.rest; +import jakarta.servlet.http.HttpServletRequest; import java.beans.ConstructorProperties; import java.sql.SQLException; import java.util.List; import java.util.function.BiConsumer; -import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.MediaTypes; import org.springframework.hateoas.config.EnableHypermediaSupport; diff --git a/lib/taskana-cdi-example/pom.xml b/lib/taskana-cdi-example/pom.xml index 489e7fb5f..21346f922 100644 --- a/lib/taskana-cdi-example/pom.xml +++ b/lib/taskana-cdi-example/pom.xml @@ -26,9 +26,9 @@ ${project.version} - javax - javaee-api - ${version.javaee-api} + jakarta.platform + jakarta.jakartaee-api + ${version.jakartaee-api} provided diff --git a/lib/taskana-cdi-example/src/main/java/pro/taskana/example/ExampleBootstrap.java b/lib/taskana-cdi-example/src/main/java/pro/taskana/example/ExampleBootstrap.java index 5f2fac7bb..d56886abe 100644 --- a/lib/taskana-cdi-example/src/main/java/pro/taskana/example/ExampleBootstrap.java +++ b/lib/taskana-cdi-example/src/main/java/pro/taskana/example/ExampleBootstrap.java @@ -1,10 +1,10 @@ package pro.taskana.example; -import javax.annotation.PostConstruct; -import javax.ejb.EJB; -import javax.enterprise.context.ApplicationScoped; -import javax.enterprise.context.Initialized; -import javax.enterprise.event.Observes; +import jakarta.annotation.PostConstruct; +import jakarta.ejb.EJB; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.context.Initialized; +import jakarta.enterprise.event.Observes; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.task.api.exceptions.AttachmentPersistenceException; diff --git a/lib/taskana-cdi-example/src/main/java/pro/taskana/example/TaskanaEjb.java b/lib/taskana-cdi-example/src/main/java/pro/taskana/example/TaskanaEjb.java index 7e44c94b2..72f294748 100644 --- a/lib/taskana-cdi-example/src/main/java/pro/taskana/example/TaskanaEjb.java +++ b/lib/taskana-cdi-example/src/main/java/pro/taskana/example/TaskanaEjb.java @@ -1,7 +1,7 @@ package pro.taskana.example; -import javax.ejb.Stateless; -import javax.inject.Inject; +import jakarta.ejb.Stateless; +import jakarta.inject.Inject; import pro.taskana.task.api.TaskService; /** example Taskana EJB. */ diff --git a/lib/taskana-cdi/pom.xml b/lib/taskana-cdi/pom.xml index f94d44f52..b638ea470 100644 --- a/lib/taskana-cdi/pom.xml +++ b/lib/taskana-cdi/pom.xml @@ -39,9 +39,24 @@ ${project.version} - javax - javaee-api - ${version.javaee-api} + jakarta.platform + jakarta.jakartaee-api + ${version.jakartaee-api} + + + jakarta.enterprise + jakarta.enterprise.cdi-api + ${version.jakarta.enterprise.cdi-api} + + + jakarta.annotation + jakarta.annotation-api + ${version.jakarta.annotation-api} + + + jakarta.inject + jakarta.inject-api + ${version.jakarta.inject-api} pro.taskana @@ -77,8 +92,8 @@ test - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api test diff --git a/lib/taskana-cdi/src/main/java/pro/taskana/common/internal/TaskanaProducers.java b/lib/taskana-cdi/src/main/java/pro/taskana/common/internal/TaskanaProducers.java index 45f638078..76d499d13 100644 --- a/lib/taskana-cdi/src/main/java/pro/taskana/common/internal/TaskanaProducers.java +++ b/lib/taskana-cdi/src/main/java/pro/taskana/common/internal/TaskanaProducers.java @@ -1,15 +1,15 @@ package pro.taskana.common.internal; +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.inject.Inject; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; import java.util.Properties; -import javax.annotation.PostConstruct; -import javax.enterprise.context.ApplicationScoped; -import javax.enterprise.inject.Produces; -import javax.inject.Inject; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; diff --git a/lib/taskana-cdi/src/test/java/pro/taskana/RestApplication.java b/lib/taskana-cdi/src/test/java/pro/taskana/RestApplication.java index 5d2fd7443..cd7d8b3e7 100644 --- a/lib/taskana-cdi/src/test/java/pro/taskana/RestApplication.java +++ b/lib/taskana-cdi/src/test/java/pro/taskana/RestApplication.java @@ -1,7 +1,7 @@ package pro.taskana; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; @ApplicationPath("/rest") public class RestApplication extends Application {} diff --git a/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaCdiTestRestController.java b/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaCdiTestRestController.java index e1f4971ff..9f745e8a4 100644 --- a/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaCdiTestRestController.java +++ b/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaCdiTestRestController.java @@ -1,13 +1,13 @@ package pro.taskana; -import javax.ejb.EJB; -import javax.inject.Inject; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.Response; +import jakarta.ejb.EJB; +import jakarta.inject.Inject; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import pro.taskana.classification.api.ClassificationService; diff --git a/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaEjb.java b/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaEjb.java index 42cf31dc1..bc2822fd8 100644 --- a/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaEjb.java +++ b/lib/taskana-cdi/src/test/java/pro/taskana/TaskanaEjb.java @@ -1,7 +1,7 @@ package pro.taskana; -import javax.ejb.Stateless; -import javax.inject.Inject; +import jakarta.ejb.Stateless; +import jakarta.inject.Inject; import pro.taskana.classification.api.ClassificationService; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.models.Task; diff --git a/lib/taskana-cdi/src/test/resources/module.xml b/lib/taskana-cdi/src/test/resources/module.xml index 75ede73ba..6ef36ea27 100644 --- a/lib/taskana-cdi/src/test/resources/module.xml +++ b/lib/taskana-cdi/src/test/resources/module.xml @@ -6,8 +6,8 @@ - - - + + + diff --git a/lib/taskana-core/pom.xml b/lib/taskana-core/pom.xml index fa8f6fa7b..68c1846db 100644 --- a/lib/taskana-core/pom.xml +++ b/lib/taskana-core/pom.xml @@ -65,6 +65,7 @@ org.mockito + ${version.mockito-inline} mockito-inline test diff --git a/lib/taskana-spring-example/src/main/java/pro/taskana/example/ExampleBootstrap.java b/lib/taskana-spring-example/src/main/java/pro/taskana/example/ExampleBootstrap.java index 442b961a5..1923b4e99 100644 --- a/lib/taskana-spring-example/src/main/java/pro/taskana/example/ExampleBootstrap.java +++ b/lib/taskana-spring-example/src/main/java/pro/taskana/example/ExampleBootstrap.java @@ -1,6 +1,6 @@ package pro.taskana.example; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; diff --git a/lib/taskana-spring/pom.xml b/lib/taskana-spring/pom.xml index da7401232..55da68919 100644 --- a/lib/taskana-spring/pom.xml +++ b/lib/taskana-spring/pom.xml @@ -40,9 +40,9 @@ ${version.spring.mybatis} - javax.annotation - javax.annotation-api - ${version.javax.annotation-api} + jakarta.annotation + jakarta.annotation-api + ${version.jakarta.annotation-api} diff --git a/lib/taskana-test-api/pom.xml b/lib/taskana-test-api/pom.xml index 4c2d13286..2aacd5ca2 100644 --- a/lib/taskana-test-api/pom.xml +++ b/lib/taskana-test-api/pom.xml @@ -35,6 +35,7 @@ org.mockito + ${version.mockito-inline} mockito-inline diff --git a/pom.xml b/pom.xml index b154d5e6c..fe3f078ea 100644 --- a/pom.xml +++ b/pom.xml @@ -64,9 +64,9 @@ 1.6.13 - 1.3.2 - 2.0.0.RELEASE - 2.7.17 + 2.1.1 + 3.0.0 + 3.1.5 2.1.1 @@ -77,8 +77,10 @@ 2.7.0.Final - 8.0.1 - 4.0.1 + 10.0.0 + 4.0.1 + 2.0.1 + 6.0.0 1.5.0.Final 3.0.1.Final @@ -88,9 +90,10 @@ 3.15.3 0.9.1 0.8.11 - 1.2.0 + 3.0.1 2.0.11 1.19.1 + 5.2.0 1.14.0 @@ -98,10 +101,10 @@ 0.3.0 - 2.3.1 - 4.0.4 + 2.3.3 + 2.3.0.1 2.3.8 - 1.1.1 + 2.1.2 11.5.6.0 diff --git a/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/example/boot/security/BootWebSecurityConfigurer.java b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/example/boot/security/BootWebSecurityConfigurer.java index 02ed400a3..d97f25477 100644 --- a/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/example/boot/security/BootWebSecurityConfigurer.java +++ b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/example/boot/security/BootWebSecurityConfigurer.java @@ -9,7 +9,10 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.ldap.core.support.BaseLdapPathContextSource; import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer; import org.springframework.security.config.ldap.LdapPasswordComparisonAuthenticationManagerFactory; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -58,33 +61,30 @@ public class BootWebSecurityConfigurer { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { HttpSecurity httpSecurity = - http.authorizeRequests() - .antMatchers("/css/**", "/img/**") - .permitAll() - .and() - .authorizeRequests() - .antMatchers(HttpMethod.GET, "/docs/**") - .permitAll() - .and() + http.authorizeHttpRequests( + authorizeHttpRequests -> + authorizeHttpRequests + .requestMatchers("/css/**", "/img/**") + .permitAll() + .requestMatchers(HttpMethod.GET, "/docs/**") + .permitAll()) .addFilter(jaasApiIntegrationFilter()) .addFilterAfter(new SpringSecurityToJaasFilter(), JaasApiIntegrationFilter.class); if (enableCsrf) { CookieCsrfTokenRepository csrfTokenRepository = CookieCsrfTokenRepository.withHttpOnlyFalse(); csrfTokenRepository.setCookiePath("/"); - httpSecurity.csrf().csrfTokenRepository(csrfTokenRepository); + httpSecurity.csrf(csrf -> csrf.csrfTokenRepository(csrfTokenRepository)); } else { - httpSecurity.csrf().disable().httpBasic(); + httpSecurity.csrf(AbstractHttpConfigurer::disable).httpBasic(Customizer.withDefaults()); } if (devMode) { - http.headers() - .frameOptions() - .sameOrigin() - .and() - .authorizeRequests() - .antMatchers("/h2-console/**") - .permitAll(); + http.headers( + headers -> headers.frameOptions(HeadersConfigurer.FrameOptionsConfig::sameOrigin)) + .authorizeHttpRequests( + authorizeHttpRequests -> + authorizeHttpRequests.requestMatchers("/h2-console/**").permitAll()); } else { addLoginPageConfiguration(http); } @@ -119,23 +119,19 @@ public class BootWebSecurityConfigurer { } protected void addLoginPageConfiguration(HttpSecurity http) throws Exception { - http.authorizeRequests() - .anyRequest() - .fullyAuthenticated() - .and() - .formLogin() - .loginPage("/login") - .failureUrl("/login?error") - .defaultSuccessUrl("/") - .permitAll() - .and() - .logout() - .invalidateHttpSession(true) - .clearAuthentication(true) - .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) - .logoutSuccessUrl("/login?logout") - .deleteCookies("JSESSIONID") - .permitAll(); + http.authorizeHttpRequests( + authorizeHttpRequests -> authorizeHttpRequests.anyRequest().fullyAuthenticated()) + .formLogin( + formLogin -> + formLogin.loginPage("/login").failureUrl("/login?error").defaultSuccessUrl("/")) + .logout( + logout -> + logout + .invalidateHttpSession(true) + .clearAuthentication(true) + .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) + .logoutSuccessUrl("/login?logout") + .deleteCookies("JSESSIONID")); } protected JaasApiIntegrationFilter jaasApiIntegrationFilter() { diff --git a/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/example/rest/WebMvcConfig.java b/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/example/rest/WebMvcConfig.java index 74e17bd30..938653071 100644 --- a/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/example/rest/WebMvcConfig.java +++ b/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/example/rest/WebMvcConfig.java @@ -2,8 +2,8 @@ package pro.taskana.example.rest; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import jakarta.annotation.PostConstruct; import java.util.List; -import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; diff --git a/rest/taskana-rest-spring-example-wildfly/pom.xml b/rest/taskana-rest-spring-example-wildfly/pom.xml index ef5bd7d9a..91306e758 100644 --- a/rest/taskana-rest-spring-example-wildfly/pom.xml +++ b/rest/taskana-rest-spring-example-wildfly/pom.xml @@ -65,8 +65,8 @@ ${version.spring.core} - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api provided diff --git a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/ElytronToJaasFilter.java b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/ElytronToJaasFilter.java index fdda78f63..04cc4d26b 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/ElytronToJaasFilter.java +++ b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/ElytronToJaasFilter.java @@ -1,13 +1,13 @@ package pro.taskana.example.wildfly.security; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.List; import javax.security.auth.Subject; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.filter.GenericFilterBean; diff --git a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/LogoutController.java b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/LogoutController.java index ebd1fef38..fe362f835 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/LogoutController.java +++ b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/LogoutController.java @@ -1,7 +1,7 @@ package pro.taskana.example.wildfly.security; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; diff --git a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/WildflyWebSecurityConfigurer.java b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/WildflyWebSecurityConfigurer.java index f36b0b378..4f42b938f 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/WildflyWebSecurityConfigurer.java +++ b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/security/WildflyWebSecurityConfigurer.java @@ -3,6 +3,7 @@ package pro.taskana.example.wildfly.security; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.jaasapi.JaasApiIntegrationFilter; @@ -17,8 +18,7 @@ public class WildflyWebSecurityConfigurer { public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.addFilter(jaasApiIntegrationFilter()) .addFilterAfter(new ElytronToJaasFilter(), JaasApiIntegrationFilter.class) - .csrf() - .disable(); + .csrf(AbstractHttpConfigurer::disable); return http.build(); } diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml b/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml index 8629680da..6fb52c877 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml @@ -3,8 +3,8 @@ - - + + diff --git a/rest/taskana-rest-spring-test-lib/pom.xml b/rest/taskana-rest-spring-test-lib/pom.xml index c71a4e28b..bef71b4ca 100644 --- a/rest/taskana-rest-spring-test-lib/pom.xml +++ b/rest/taskana-rest-spring-test-lib/pom.xml @@ -32,9 +32,9 @@ compile - javax.servlet - javax.servlet-api - ${version.javax.servlet} + jakarta.servlet + jakarta.servlet-api + ${version.jakarta.servlet} org.springframework diff --git a/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/SpringSecurityToJaasFilter.java b/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/SpringSecurityToJaasFilter.java index 81db75740..af05671ef 100644 --- a/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/SpringSecurityToJaasFilter.java +++ b/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/SpringSecurityToJaasFilter.java @@ -1,13 +1,13 @@ package pro.taskana.rest.test; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; import java.io.IOException; import java.security.AccessController; import java.util.Optional; import javax.security.auth.Subject; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; diff --git a/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/TestWebSecurityConfig.java b/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/TestWebSecurityConfig.java index 25c0cdbb8..d6f3c0214 100644 --- a/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/TestWebSecurityConfig.java +++ b/rest/taskana-rest-spring-test-lib/src/main/java/pro/taskana/rest/test/TestWebSecurityConfig.java @@ -1,5 +1,7 @@ package pro.taskana.rest.test; +import static org.springframework.security.config.Customizer.withDefaults; + import java.util.List; import java.util.Map; import java.util.function.Function; @@ -12,6 +14,7 @@ import org.springframework.context.annotation.Primary; import org.springframework.ldap.core.support.BaseLdapPathContextSource; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.config.ldap.LdapPasswordComparisonAuthenticationManagerFactory; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -102,17 +105,12 @@ public class TestWebSecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { - http.authorizeRequests() - .and() - .csrf() - .disable() - .httpBasic() - .and() + http.csrf(AbstractHttpConfigurer::disable) + .httpBasic(withDefaults()) .addFilter(jaasApiIntegrationFilter()) .addFilterAfter(new SpringSecurityToJaasFilter(), JaasApiIntegrationFilter.class) - .authorizeRequests() - .anyRequest() - .fullyAuthenticated(); + .authorizeHttpRequests( + authorizeHttpRequests -> authorizeHttpRequests.anyRequest().fullyAuthenticated()); return http.build(); } diff --git a/rest/taskana-rest-spring/pom.xml b/rest/taskana-rest-spring/pom.xml index 3b4b48c58..c36bc5f7f 100644 --- a/rest/taskana-rest-spring/pom.xml +++ b/rest/taskana-rest-spring/pom.xml @@ -50,13 +50,13 @@ spring-security-ldap - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api provided - javax.validation - validation-api + jakarta.validation + jakarta.validation-api com.fasterxml.jackson.core diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java index c51b98e45..58280194e 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java @@ -1,9 +1,9 @@ package pro.taskana.classification.rest; +import jakarta.servlet.http.HttpServletRequest; import java.beans.ConstructorProperties; import java.util.List; import java.util.function.BiConsumer; -import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.MediaTypes; import org.springframework.hateoas.config.EnableHypermediaSupport; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryPagedRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryPagedRepresentationModel.java index b587dc1ed..5dd36f520 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryPagedRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryPagedRepresentationModel.java @@ -1,9 +1,9 @@ package pro.taskana.classification.rest.models; import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotNull; import java.beans.ConstructorProperties; import java.util.Collection; -import javax.validation.constraints.NotNull; import pro.taskana.common.rest.models.PageMetadata; import pro.taskana.common.rest.models.PagedRepresentationModel; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryRepresentationModel.java index 056232d1c..d7a40c41f 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryRepresentationModel.java @@ -1,6 +1,6 @@ package pro.taskana.classification.rest.models; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import org.springframework.hateoas.RepresentationModel; import pro.taskana.classification.api.models.ClassificationSummary; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/QueryPagingParameter.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/QueryPagingParameter.java index 76fac9bbc..1d6b1a299 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/QueryPagingParameter.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/QueryPagingParameter.java @@ -2,9 +2,9 @@ package pro.taskana.common.rest; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.Min; import java.beans.ConstructorProperties; import java.util.List; -import javax.validation.constraints.Min; import pro.taskana.common.api.BaseQuery; import pro.taskana.common.rest.models.PageMetadata; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/SpringSecurityToJaasFilter.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/SpringSecurityToJaasFilter.java index ef1357a32..33b62bf45 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/SpringSecurityToJaasFilter.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/SpringSecurityToJaasFilter.java @@ -1,13 +1,13 @@ package pro.taskana.common.rest; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; import java.io.IOException; import java.security.AccessController; import java.util.Optional; import javax.security.auth.Subject; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.Authentication; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java index 3460947e8..dbec165e3 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java @@ -20,10 +20,11 @@ import org.springframework.core.annotation.Order; import org.springframework.core.convert.ConversionFailedException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; +import org.springframework.http.HttpStatusCode; import org.springframework.http.ResponseEntity; import org.springframework.lang.NonNull; -import org.springframework.validation.BindException; import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.context.request.WebRequest; @@ -172,10 +173,10 @@ public class TaskanaRestExceptionHandler extends ResponseEntityExceptionHandler @Override @NonNull - protected ResponseEntity handleBindException( - BindException ex, + protected ResponseEntity handleMethodArgumentNotValid( + MethodArgumentNotValidException ex, @NonNull HttpHeaders headers, - @NonNull HttpStatus status, + @NonNull HttpStatusCode status, @NonNull WebRequest request) { MalformedQueryParameter[] wrongQueryParameters = diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapClient.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapClient.java index 12bd28c61..ed376f872 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapClient.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapClient.java @@ -2,6 +2,7 @@ package pro.taskana.common.rest.ldap; import static java.util.function.Predicate.not; +import jakarta.annotation.PostConstruct; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -12,7 +13,6 @@ import java.util.Set; import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; -import javax.annotation.PostConstruct; import javax.naming.directory.SearchControls; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/VersionRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/VersionRepresentationModel.java index 0a1be0844..fc34866eb 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/VersionRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/VersionRepresentationModel.java @@ -1,6 +1,6 @@ package pro.taskana.common.rest.models; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import org.springframework.hateoas.RepresentationModel; import org.springframework.lang.NonNull; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/util/QueryParamsValidator.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/util/QueryParamsValidator.java index 10b7b0726..8f3c61a7c 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/util/QueryParamsValidator.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/util/QueryParamsValidator.java @@ -1,6 +1,7 @@ package pro.taskana.common.rest.util; import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.servlet.http.HttpServletRequest; import java.util.HashSet; import java.util.Optional; import java.util.Set; @@ -8,7 +9,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; -import javax.servlet.http.HttpServletRequest; import pro.taskana.common.api.exceptions.InvalidArgumentException; public class QueryParamsValidator { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskCommentController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskCommentController.java index 1fb4a3dab..a8b40a9d8 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskCommentController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskCommentController.java @@ -1,9 +1,9 @@ package pro.taskana.task.rest; +import jakarta.servlet.http.HttpServletRequest; import java.beans.ConstructorProperties; import java.util.List; import java.util.function.BiConsumer; -import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.config.EnableHypermediaSupport; import org.springframework.hateoas.config.EnableHypermediaSupport.HypermediaType; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java index e373f7c3b..afe334153 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java @@ -2,6 +2,7 @@ package pro.taskana.task.rest; import static java.util.function.Predicate.not; +import jakarta.servlet.http.HttpServletRequest; import java.beans.ConstructorProperties; import java.util.HashSet; import java.util.List; @@ -10,7 +11,6 @@ import java.util.Optional; import java.util.Set; import java.util.function.BiConsumer; import java.util.stream.Collectors; -import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.config.EnableHypermediaSupport; import org.springframework.hateoas.config.EnableHypermediaSupport.HypermediaType; @@ -109,11 +109,12 @@ public class TaskController { NotAuthorizedOnWorkbasketException { if (!taskRepresentationModel.getAttachments().stream() - .filter(att -> Objects.nonNull(att.getTaskId())) - .filter(att -> !att.getTaskId().equals(taskRepresentationModel.getTaskId())) - .collect(Collectors.toList()).isEmpty()) { + .filter(att -> Objects.nonNull(att.getTaskId())) + .filter(att -> !att.getTaskId().equals(taskRepresentationModel.getTaskId())) + .collect(Collectors.toList()) + .isEmpty()) { throw new InvalidArgumentException( - "An attachments' taskId must be empty or equal to the id of the task it belongs to"); + "An attachments' taskId must be empty or equal to the id of the task it belongs to"); } Task fromResource = taskRepresentationModelAssembler.toEntityModel(taskRepresentationModel); @@ -597,11 +598,12 @@ public class TaskController { } if (!taskRepresentationModel.getAttachments().stream() - .filter(att -> Objects.nonNull(att.getTaskId())) - .filter(att -> !att.getTaskId().equals(taskRepresentationModel.getTaskId())) - .collect(Collectors.toList()).isEmpty()) { + .filter(att -> Objects.nonNull(att.getTaskId())) + .filter(att -> !att.getTaskId().equals(taskRepresentationModel.getTaskId())) + .collect(Collectors.toList()) + .isEmpty()) { throw new InvalidArgumentException( - "An attachments' taskId must be empty or equal to the id of the task it belongs to"); + "An attachments' taskId must be empty or equal to the id of the task it belongs to"); } Task task = taskRepresentationModelAssembler.toEntityModel(taskRepresentationModel); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskSummaryRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskSummaryRepresentationModel.java index 9de67262c..fc879ecc0 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskSummaryRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskSummaryRepresentationModel.java @@ -2,10 +2,10 @@ package pro.taskana.task.rest.models; import static pro.taskana.task.api.models.TaskSummary.DEFAULT_MANUAL_PRIORITY; +import jakarta.validation.constraints.NotNull; import java.time.Instant; import java.util.ArrayList; import java.util.List; -import javax.validation.constraints.NotNull; import org.springframework.hateoas.RepresentationModel; import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; import pro.taskana.task.api.TaskState; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/UserController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/UserController.java index d82dc52ad..de2e23f92 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/UserController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/UserController.java @@ -1,9 +1,9 @@ package pro.taskana.user.rest; +import jakarta.servlet.http.HttpServletRequest; import java.util.HashSet; import java.util.List; import java.util.Set; -import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.config.EnableHypermediaSupport; import org.springframework.hateoas.config.EnableHypermediaSupport.HypermediaType; @@ -41,9 +41,10 @@ public class UserController { private final CurrentUserContext currentUserContext; @Autowired - UserController(UserService userService, - UserRepresentationModelAssembler userAssembler, - CurrentUserContext currentUserContext) { + UserController( + UserService userService, + UserRepresentationModelAssembler userAssembler, + CurrentUserContext currentUserContext) { this.userService = userService; this.userAssembler = userAssembler; this.currentUserContext = currentUserContext; @@ -68,8 +69,8 @@ public class UserController { /** * This endpoint retrieves multiple Users. If a userId can't be found in the database it will be - * ignored. If none of the given userIds is valid, the returned list will be empty. - * If currentUser is set, the current User from the context will be retrieved as well + * ignored. If none of the given userIds is valid, the returned list will be empty. If currentUser + * is set, the current User from the context will be retrieved as well * * @title Get multiple Users * @param request the HttpServletRequest of the request itself @@ -85,7 +86,7 @@ public class UserController { HttpServletRequest request, @RequestParam(name = "user-id", required = false) String[] userIds, @RequestParam(name = "current-user", required = false) String currentUser) - throws InvalidArgumentException, UserNotFoundException { + throws InvalidArgumentException, UserNotFoundException { Set users = new HashSet<>(); if (userIds != null) { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/models/UserRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/models/UserRepresentationModel.java index e8e29793a..f951550a8 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/models/UserRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/user/rest/models/UserRepresentationModel.java @@ -1,9 +1,9 @@ package pro.taskana.user.rest.models; +import jakarta.validation.constraints.NotNull; import java.util.Collections; import java.util.Objects; import java.util.Set; -import javax.validation.constraints.NotNull; import org.springframework.hateoas.RepresentationModel; import pro.taskana.user.api.models.User; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemController.java index 308a81cb9..a46f87ac0 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemController.java @@ -1,9 +1,9 @@ package pro.taskana.workbasket.rest; +import jakarta.servlet.http.HttpServletRequest; import java.beans.ConstructorProperties; import java.util.List; import java.util.function.BiConsumer; -import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.config.EnableHypermediaSupport; import org.springframework.http.ResponseEntity; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java index e16f1a008..2bea63de9 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java @@ -1,10 +1,10 @@ package pro.taskana.workbasket.rest; +import jakarta.servlet.http.HttpServletRequest; import java.beans.ConstructorProperties; import java.util.List; import java.util.function.BiConsumer; import java.util.stream.Collectors; -import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/routing/taskana-routing-rest/pom.xml b/routing/taskana-routing-rest/pom.xml index 98e64eae8..12d3c2da6 100644 --- a/routing/taskana-routing-rest/pom.xml +++ b/routing/taskana-routing-rest/pom.xml @@ -32,9 +32,9 @@ ${version.dmn-xlsx-converter} - javax.xml.bind - jaxb-api - ${version.jaxb-api} + jakarta.xml.bind + jakarta.xml.bind-api + ${version.jakarta.xml.bind-api} com.sun.xml.bind @@ -47,9 +47,9 @@ ${version.jaxb-impl} - javax.activation - activation - ${version.javax.activation} + jakarta.activation + jakarta.activation-api + ${version.jakarta.activation}