diff --git a/pom.xml b/pom.xml index e944ad25..5369b061 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.14 + 3.2.0 net.dancier @@ -14,8 +14,7 @@ dancer Demo project for Spring Boot - 5.8.8 - 17 + 21 1.15.1 @@ -60,6 +59,11 @@ spring-security-test test + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity6 + com.vladmihalcea hibernate-types-52 @@ -101,6 +105,7 @@ org.projectlombok lombok + true io.minio @@ -151,33 +156,13 @@ io.micrometer micrometer-registry-prometheus + runtime dancer - - org.apache.maven.plugins - maven-compiler-plugin - - 17 - 17 - --enable-preview - - - - maven-surefire-plugin - - --enable-preview - - - - maven-failsafe-plugin - - --enable-preview - - org.jacoco jacoco-maven-plugin @@ -201,7 +186,12 @@ org.springframework.boot spring-boot-maven-plugin - --enable-preview + + + org.projectlombok + lombok + + diff --git a/src/main/java/net/dancier/dancer/DancerApplication.java b/src/main/java/net/dancier/dancer/DancerApplication.java index b07e8843..24c05cf8 100644 --- a/src/main/java/net/dancier/dancer/DancerApplication.java +++ b/src/main/java/net/dancier/dancer/DancerApplication.java @@ -8,7 +8,7 @@ import org.springframework.data.jpa.convert.threeten.Jsr310JpaConverters; import org.springframework.scheduling.annotation.EnableScheduling; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.util.TimeZone; @SpringBootApplication diff --git a/src/main/java/net/dancier/dancer/authentication/AdminUserInitializer.java b/src/main/java/net/dancier/dancer/authentication/AdminUserInitializer.java index 3a952c4c..67b2c1b3 100644 --- a/src/main/java/net/dancier/dancer/authentication/AdminUserInitializer.java +++ b/src/main/java/net/dancier/dancer/authentication/AdminUserInitializer.java @@ -14,8 +14,8 @@ import org.springframework.context.annotation.Profile; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import javax.transaction.Transactional; +import jakarta.annotation.PostConstruct; +import jakarta.transaction.Transactional; import java.util.Collection; import java.util.Optional; diff --git a/src/main/java/net/dancier/dancer/authentication/AuthenticationController.java b/src/main/java/net/dancier/dancer/authentication/AuthenticationController.java index f21fa4de..b39b691d 100644 --- a/src/main/java/net/dancier/dancer/authentication/AuthenticationController.java +++ b/src/main/java/net/dancier/dancer/authentication/AuthenticationController.java @@ -27,9 +27,9 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; -import javax.servlet.http.HttpServletResponse; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.net.URI; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/net/dancier/dancer/authentication/dto/RegisterRequestDto.java b/src/main/java/net/dancier/dancer/authentication/dto/RegisterRequestDto.java index 543ecbba..9f021bac 100644 --- a/src/main/java/net/dancier/dancer/authentication/dto/RegisterRequestDto.java +++ b/src/main/java/net/dancier/dancer/authentication/dto/RegisterRequestDto.java @@ -4,7 +4,7 @@ import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.*; +import jakarta.validation.constraints.*; @Data @AllArgsConstructor diff --git a/src/main/java/net/dancier/dancer/authentication/dto/SendLinkDto.java b/src/main/java/net/dancier/dancer/authentication/dto/SendLinkDto.java index f1b12146..99e0e6ae 100644 --- a/src/main/java/net/dancier/dancer/authentication/dto/SendLinkDto.java +++ b/src/main/java/net/dancier/dancer/authentication/dto/SendLinkDto.java @@ -3,9 +3,9 @@ import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Size; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; @Data @NoArgsConstructor diff --git a/src/main/java/net/dancier/dancer/authentication/model/EmailValidationCode.java b/src/main/java/net/dancier/dancer/authentication/model/EmailValidationCode.java index d15e4a3a..b8e359ce 100644 --- a/src/main/java/net/dancier/dancer/authentication/model/EmailValidationCode.java +++ b/src/main/java/net/dancier/dancer/authentication/model/EmailValidationCode.java @@ -2,8 +2,8 @@ import lombok.Data; -import javax.persistence.*; -import javax.validation.constraints.NotNull; +import jakarta.persistence.*; +import jakarta.validation.constraints.NotNull; import java.time.Instant; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/authentication/model/PasswordResetCode.java b/src/main/java/net/dancier/dancer/authentication/model/PasswordResetCode.java index 41405d63..ef4169ee 100644 --- a/src/main/java/net/dancier/dancer/authentication/model/PasswordResetCode.java +++ b/src/main/java/net/dancier/dancer/authentication/model/PasswordResetCode.java @@ -2,7 +2,7 @@ import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.Instant; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/authentication/model/Role.java b/src/main/java/net/dancier/dancer/authentication/model/Role.java index b092df7b..726df04f 100644 --- a/src/main/java/net/dancier/dancer/authentication/model/Role.java +++ b/src/main/java/net/dancier/dancer/authentication/model/Role.java @@ -1,9 +1,8 @@ package net.dancier.dancer.authentication.model; +import jakarta.persistence.*; import lombok.Data; -import org.hibernate.annotations.NaturalId; -import javax.persistence.*; import java.util.UUID; @Data diff --git a/src/main/java/net/dancier/dancer/authentication/model/User.java b/src/main/java/net/dancier/dancer/authentication/model/User.java index 077f5fea..9e4aae11 100644 --- a/src/main/java/net/dancier/dancer/authentication/model/User.java +++ b/src/main/java/net/dancier/dancer/authentication/model/User.java @@ -2,11 +2,11 @@ import lombok.Data; -import javax.persistence.*; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; +import jakarta.persistence.*; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import java.util.Collection; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/authentication/model/VerifiedActionCode.java b/src/main/java/net/dancier/dancer/authentication/model/VerifiedActionCode.java index 92a8e68a..d30ec3f2 100644 --- a/src/main/java/net/dancier/dancer/authentication/model/VerifiedActionCode.java +++ b/src/main/java/net/dancier/dancer/authentication/model/VerifiedActionCode.java @@ -2,8 +2,8 @@ import lombok.Data; -import javax.persistence.*; -import javax.validation.constraints.NotNull; +import jakarta.persistence.*; +import jakarta.validation.constraints.NotNull; import java.time.Instant; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/authentication/service/AuthenticationService.java b/src/main/java/net/dancier/dancer/authentication/service/AuthenticationService.java index 502b30ca..155b9c6c 100644 --- a/src/main/java/net/dancier/dancer/authentication/service/AuthenticationService.java +++ b/src/main/java/net/dancier/dancer/authentication/service/AuthenticationService.java @@ -21,8 +21,8 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; -import javax.persistence.EntityNotFoundException; -import javax.transaction.Transactional; +import jakarta.persistence.EntityNotFoundException; +import jakarta.transaction.Transactional; import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; diff --git a/src/main/java/net/dancier/dancer/chat/client/ChatServiceClient.java b/src/main/java/net/dancier/dancer/chat/client/ChatServiceClient.java index 69b9e9f1..f6f1b392 100644 --- a/src/main/java/net/dancier/dancer/chat/client/ChatServiceClient.java +++ b/src/main/java/net/dancier/dancer/chat/client/ChatServiceClient.java @@ -1,12 +1,13 @@ package net.dancier.dancer.chat.client; import io.netty.handler.logging.LogLevel; -import net.dancier.dancer.chat.dto.*; +import net.dancier.dancer.chat.dto.ChatDto; +import net.dancier.dancer.chat.dto.CreateChatDto; +import net.dancier.dancer.chat.dto.CreatedChatDto; +import net.dancier.dancer.chat.dto.MessageDto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties; -import org.springframework.http.ResponseEntity; import org.springframework.http.client.reactive.ReactorClientHttpConnector; import org.springframework.stereotype.Service; import org.springframework.web.reactive.function.client.ExchangeFilterFunction; @@ -16,7 +17,7 @@ import reactor.netty.transport.logging.AdvancedByteBufFormat; import reactor.util.retry.Retry; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.time.Duration; import java.util.Optional; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/chat/dto/ChatDto.java b/src/main/java/net/dancier/dancer/chat/dto/ChatDto.java index 7073ebb4..5da1ef38 100644 --- a/src/main/java/net/dancier/dancer/chat/dto/ChatDto.java +++ b/src/main/java/net/dancier/dancer/chat/dto/ChatDto.java @@ -1,10 +1,7 @@ package net.dancier.dancer.chat.dto; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; import java.time.OffsetDateTime; import java.util.List; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/chat/dto/CreateChatDto.java b/src/main/java/net/dancier/dancer/chat/dto/CreateChatDto.java index e24f3fae..5c34385e 100644 --- a/src/main/java/net/dancier/dancer/chat/dto/CreateChatDto.java +++ b/src/main/java/net/dancier/dancer/chat/dto/CreateChatDto.java @@ -2,8 +2,6 @@ import lombok.Data; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; import java.util.List; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/contact/ContactDto.java b/src/main/java/net/dancier/dancer/contact/ContactDto.java index bf4202a4..72018b59 100644 --- a/src/main/java/net/dancier/dancer/contact/ContactDto.java +++ b/src/main/java/net/dancier/dancer/contact/ContactDto.java @@ -2,8 +2,8 @@ import lombok.Data; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotNull; @Data public class ContactDto { diff --git a/src/main/java/net/dancier/dancer/core/AppInstanceIdFilter.java b/src/main/java/net/dancier/dancer/core/AppInstanceIdFilter.java index ae02331e..c6e4d3f7 100644 --- a/src/main/java/net/dancier/dancer/core/AppInstanceIdFilter.java +++ b/src/main/java/net/dancier/dancer/core/AppInstanceIdFilter.java @@ -4,10 +4,10 @@ import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @Component diff --git a/src/main/java/net/dancier/dancer/core/ProfileController.java b/src/main/java/net/dancier/dancer/core/ProfileController.java index 77bb826c..975a4747 100644 --- a/src/main/java/net/dancier/dancer/core/ProfileController.java +++ b/src/main/java/net/dancier/dancer/core/ProfileController.java @@ -13,7 +13,7 @@ import org.springframework.security.access.annotation.Secured; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; +import jakarta.validation.Valid; import java.util.Map; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/core/config/SecurityConfig.java b/src/main/java/net/dancier/dancer/core/config/SecurityConfig.java deleted file mode 100644 index 4f7999fd..00000000 --- a/src/main/java/net/dancier/dancer/core/config/SecurityConfig.java +++ /dev/null @@ -1,73 +0,0 @@ -package net.dancier.dancer.core.config; - -import lombok.RequiredArgsConstructor; -import net.dancier.dancer.security.CustomUserDetailsServiceImpl; -import net.dancier.dancer.security.JwtAuthenticationEntryPoint; -import net.dancier.dancer.security.JwtAuthenticationFilter; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.config.BeanIds; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; -import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; - -@Configuration -@EnableWebSecurity -@RequiredArgsConstructor -public class SecurityConfig extends WebSecurityConfigurerAdapter { - - private final CustomUserDetailsServiceImpl customUserDetailsService; - - private final JwtAuthenticationEntryPoint unauthorizedHandler; - - private final JwtAuthenticationFilter jwtAuthenticationFilter; - @Override - public void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception { - authenticationManagerBuilder - .userDetailsService(customUserDetailsService) - .passwordEncoder(passwordEncoder()); - } - - @Bean(BeanIds.AUTHENTICATION_MANAGER) - @Override - public AuthenticationManager authenticationManagerBean() throws Exception { - return super.authenticationManagerBean(); - } - - @Bean - public PasswordEncoder passwordEncoder() { - return new BCryptPasswordEncoder(); - } - - @Override - protected void configure(HttpSecurity http) throws Exception { - http - .cors() - .and() - .csrf() - .disable() - .exceptionHandling() - .authenticationEntryPoint(unauthorizedHandler) - .and() - .sessionManagement() - .sessionCreationPolicy(SessionCreationPolicy.NEVER) - .and() - .authorizeRequests() - .antMatchers("/authentication/**", - "/profile/checkDancerNameAvailability/*", - "/eventlog/**", - "/actuator/**" - ) - .permitAll() - .anyRequest() - .authenticated(); - - http.addFilterAfter(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); - } -} \ No newline at end of file diff --git a/src/main/java/net/dancier/dancer/core/config/SecurityConfiguration.java b/src/main/java/net/dancier/dancer/core/config/SecurityConfiguration.java new file mode 100644 index 00000000..b38dee2e --- /dev/null +++ b/src/main/java/net/dancier/dancer/core/config/SecurityConfiguration.java @@ -0,0 +1,33 @@ +package net.dancier.dancer.core.config; + + +import lombok.RequiredArgsConstructor; +import net.dancier.dancer.security.CustomUserDetailsService; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +@RequiredArgsConstructor +public class SecurityConfiguration { + + private final CustomUserDetailsService customUserDetailsService; + + @Bean + AuthenticationManager authenticationManager() { + return null; + } + + @Bean + SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { + httpSecurity. + authorizeHttpRequests( + authz -> authz. anyRequest().authenticated() + ); + return httpSecurity.build(); + } + +} diff --git a/src/main/java/net/dancier/dancer/core/controller/payload/LoginRequestDto.java b/src/main/java/net/dancier/dancer/core/controller/payload/LoginRequestDto.java index 43ff4f76..28a9371b 100644 --- a/src/main/java/net/dancier/dancer/core/controller/payload/LoginRequestDto.java +++ b/src/main/java/net/dancier/dancer/core/controller/payload/LoginRequestDto.java @@ -2,7 +2,7 @@ import lombok.Data; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; @Data public class LoginRequestDto { diff --git a/src/main/java/net/dancier/dancer/core/dto/ProfileOfCurrentUserDto.java b/src/main/java/net/dancier/dancer/core/dto/ProfileOfCurrentUserDto.java index 79cfea6f..5e26ec54 100644 --- a/src/main/java/net/dancier/dancer/core/dto/ProfileOfCurrentUserDto.java +++ b/src/main/java/net/dancier/dancer/core/dto/ProfileOfCurrentUserDto.java @@ -5,7 +5,6 @@ import net.dancier.dancer.core.model.Gender; import java.time.LocalDate; -import java.util.Date; import java.util.Set; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/core/model/Address.java b/src/main/java/net/dancier/dancer/core/model/Address.java index 7db142e4..1c56ff3e 100644 --- a/src/main/java/net/dancier/dancer/core/model/Address.java +++ b/src/main/java/net/dancier/dancer/core/model/Address.java @@ -1,6 +1,6 @@ package net.dancier.dancer.core.model; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.UUID; @Entity diff --git a/src/main/java/net/dancier/dancer/core/model/Dance.java b/src/main/java/net/dancier/dancer/core/model/Dance.java index c3e74fd8..5ef83fee 100644 --- a/src/main/java/net/dancier/dancer/core/model/Dance.java +++ b/src/main/java/net/dancier/dancer/core/model/Dance.java @@ -1,11 +1,10 @@ package net.dancier.dancer.core.model; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.UUID; @Entity diff --git a/src/main/java/net/dancier/dancer/core/model/DanceProfile.java b/src/main/java/net/dancier/dancer/core/model/DanceProfile.java index bde01733..df8df8c6 100644 --- a/src/main/java/net/dancier/dancer/core/model/DanceProfile.java +++ b/src/main/java/net/dancier/dancer/core/model/DanceProfile.java @@ -3,7 +3,7 @@ import lombok.Data; import org.hibernate.annotations.Cascade; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.UUID; @Data diff --git a/src/main/java/net/dancier/dancer/core/model/Dancer.java b/src/main/java/net/dancier/dancer/core/model/Dancer.java index 0e63a121..a16666ce 100644 --- a/src/main/java/net/dancier/dancer/core/model/Dancer.java +++ b/src/main/java/net/dancier/dancer/core/model/Dancer.java @@ -3,7 +3,7 @@ import lombok.Data; import org.hibernate.annotations.Cascade; -import javax.persistence.*; +import jakarta.persistence.*; import java.time.Instant; import java.time.LocalDate; import java.util.Date; diff --git a/src/main/java/net/dancier/dancer/eventlog/controller/EventlogController.java b/src/main/java/net/dancier/dancer/eventlog/controller/EventlogController.java index c75353f3..cbff4c94 100644 --- a/src/main/java/net/dancier/dancer/eventlog/controller/EventlogController.java +++ b/src/main/java/net/dancier/dancer/eventlog/controller/EventlogController.java @@ -47,7 +47,7 @@ private void setRolesAndUser(Eventlog eventlog) { .collect(Collectors.toSet()) ); } - case default -> { + default -> { eventlog.setUserId(null); eventlog.setRoles(Set.of("ROLE_ANONYMOUS")); } diff --git a/src/main/java/net/dancier/dancer/eventlog/service/EventlogS3ServiceImpl.java b/src/main/java/net/dancier/dancer/eventlog/service/EventlogS3ServiceImpl.java index 40517aa2..ec2062b0 100644 --- a/src/main/java/net/dancier/dancer/eventlog/service/EventlogS3ServiceImpl.java +++ b/src/main/java/net/dancier/dancer/eventlog/service/EventlogS3ServiceImpl.java @@ -18,7 +18,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.io.ByteArrayInputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; diff --git a/src/main/java/net/dancier/dancer/location/ZipCode.java b/src/main/java/net/dancier/dancer/location/ZipCode.java index 824648c5..a3b52d6d 100644 --- a/src/main/java/net/dancier/dancer/location/ZipCode.java +++ b/src/main/java/net/dancier/dancer/location/ZipCode.java @@ -2,7 +2,7 @@ import lombok.Data; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.UUID; @Data diff --git a/src/main/java/net/dancier/dancer/mail/configuration/AllForOneMailSender.java b/src/main/java/net/dancier/dancer/mail/configuration/AllForOneMailSender.java index c358cbd4..eb2f466d 100644 --- a/src/main/java/net/dancier/dancer/mail/configuration/AllForOneMailSender.java +++ b/src/main/java/net/dancier/dancer/mail/configuration/AllForOneMailSender.java @@ -1,6 +1,6 @@ package net.dancier.dancer.mail.configuration; -import org.hibernate.cfg.NotYetImplementedException; +import org.apache.commons.lang3.NotImplementedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.mail.MailException; @@ -9,7 +9,7 @@ import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessagePreparator; -import javax.mail.internet.MimeMessage; +import jakarta.mail.internet.MimeMessage; import java.io.InputStream; import java.util.Properties; @@ -48,36 +48,36 @@ public void send(SimpleMailMessage simpleMessage) throws MailException { @Override public MimeMessage createMimeMessage() { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public MimeMessage createMimeMessage(InputStream contentStream) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessage mimeMessage) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessage... mimeMessages) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessagePreparator mimeMessagePreparator) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessagePreparator... mimeMessagePreparators) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(SimpleMailMessage... simpleMessages) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } } diff --git a/src/main/java/net/dancier/dancer/mail/configuration/DumpingMailSender.java b/src/main/java/net/dancier/dancer/mail/configuration/DumpingMailSender.java index 83bfc105..4fd7cf89 100644 --- a/src/main/java/net/dancier/dancer/mail/configuration/DumpingMailSender.java +++ b/src/main/java/net/dancier/dancer/mail/configuration/DumpingMailSender.java @@ -1,17 +1,15 @@ package net.dancier.dancer.mail.configuration; -import org.hibernate.cfg.NotYetImplementedException; +import jakarta.mail.internet.MimeMessage; +import org.apache.commons.lang3.NotImplementedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.mail.MailException; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; -import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessagePreparator; -import javax.mail.internet.MimeMessage; import java.io.InputStream; -import java.util.Properties; public class DumpingMailSender implements JavaMailSender { @@ -19,7 +17,7 @@ public class DumpingMailSender implements JavaMailSender { @Override public MimeMessage createMimeMessage() { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override @@ -29,31 +27,31 @@ public void send(SimpleMailMessage simpleMessage) throws MailException { @Override public MimeMessage createMimeMessage(InputStream contentStream) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessage mimeMessage) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessage... mimeMessages) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessagePreparator mimeMessagePreparator) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(MimeMessagePreparator... mimeMessagePreparators) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } @Override public void send(SimpleMailMessage... simpleMessages) throws MailException { - throw new NotYetImplementedException(); + throw new NotImplementedException(); } } diff --git a/src/main/java/net/dancier/dancer/mail/configuration/MailTemplateConfiguration.java b/src/main/java/net/dancier/dancer/mail/configuration/MailTemplateConfiguration.java index b5b0d13b..718577dc 100644 --- a/src/main/java/net/dancier/dancer/mail/configuration/MailTemplateConfiguration.java +++ b/src/main/java/net/dancier/dancer/mail/configuration/MailTemplateConfiguration.java @@ -3,7 +3,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.thymeleaf.TemplateEngine; -import org.thymeleaf.spring5.SpringTemplateEngine; +import org.thymeleaf.spring6.SpringTemplateEngine; import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; import org.thymeleaf.templateresolver.ITemplateResolver; diff --git a/src/main/java/net/dancier/dancer/mail/model/EntityWithUUID.java b/src/main/java/net/dancier/dancer/mail/model/EntityWithUUID.java index 46ffb764..9785bd3e 100644 --- a/src/main/java/net/dancier/dancer/mail/model/EntityWithUUID.java +++ b/src/main/java/net/dancier/dancer/mail/model/EntityWithUUID.java @@ -1,21 +1,13 @@ package net.dancier.dancer.mail.model; -import com.vladmihalcea.hibernate.type.json.JsonBinaryType; -import org.hibernate.annotations.Type; -import org.hibernate.annotations.TypeDef; -import org.hibernate.annotations.TypeDefs; +import jakarta.persistence.Id; +import jakarta.persistence.MappedSuperclass; -import javax.persistence.Id; -import javax.persistence.MappedSuperclass; import java.util.UUID; @MappedSuperclass -@TypeDefs({ - @TypeDef(name = "jsonb", typeClass = JsonBinaryType.class) -}) public class EntityWithUUID { @Id - @Type(type = "pg-uuid") private UUID id; public EntityWithUUID() { diff --git a/src/main/java/net/dancier/dancer/mail/model/OutgoingMail.java b/src/main/java/net/dancier/dancer/mail/model/OutgoingMail.java index 1257e4ba..b4985a04 100644 --- a/src/main/java/net/dancier/dancer/mail/model/OutgoingMail.java +++ b/src/main/java/net/dancier/dancer/mail/model/OutgoingMail.java @@ -3,9 +3,12 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Type; -import javax.persistence.*; +import jakarta.persistence.*; +import org.hibernate.type.SqlTypes; + import java.io.Serializable; @Entity @@ -18,8 +21,7 @@ public class OutgoingMail extends EntityWithUUID implements Serializable { private OutgoingMailStatus status; private Integer retry; - @Type(type = "jsonb") - @Column(columnDefinition = "jsonb") + @JdbcTypeCode(SqlTypes.JSON) @Basic(fetch = FetchType.EAGER) private DancierMailMessage mail; } diff --git a/src/main/java/net/dancier/dancer/recommendation/RecommendationService.java b/src/main/java/net/dancier/dancer/recommendation/RecommendationService.java index ba58250e..f1256c9d 100644 --- a/src/main/java/net/dancier/dancer/recommendation/RecommendationService.java +++ b/src/main/java/net/dancier/dancer/recommendation/RecommendationService.java @@ -3,16 +3,12 @@ import lombok.RequiredArgsConstructor; import net.dancier.dancer.core.DancerRepository; import net.dancier.dancer.core.model.Dancer; -import net.dancier.dancer.core.model.Recommendable; -import net.dancier.dancer.recommendation.dto.RecommendationDto; import net.dancier.dancer.recommendation.model.BaseRecommendation; import net.dancier.dancer.recommendation.model.RecommendationWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; -import javax.persistence.criteria.CriteriaBuilder; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/recommendation/RecommendationServiceClient.java b/src/main/java/net/dancier/dancer/recommendation/RecommendationServiceClient.java index 664f7f06..62d5ec1e 100644 --- a/src/main/java/net/dancier/dancer/recommendation/RecommendationServiceClient.java +++ b/src/main/java/net/dancier/dancer/recommendation/RecommendationServiceClient.java @@ -7,7 +7,7 @@ import org.springframework.stereotype.Component; import org.springframework.web.reactive.function.client.WebClient; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.util.Arrays; import java.util.List; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/recommendation/dto/Mapper.java b/src/main/java/net/dancier/dancer/recommendation/dto/Mapper.java index 8e87c8b7..5ab8bd01 100644 --- a/src/main/java/net/dancier/dancer/recommendation/dto/Mapper.java +++ b/src/main/java/net/dancier/dancer/recommendation/dto/Mapper.java @@ -45,7 +45,7 @@ public static ExposedRecommendationDto recommendationWrapper2ExposedRecommendati dancerPayload.setScore(recommendationWrapper.getScore()); exposedRecommendationDto.setPayload(dancerPayload); } - case default -> { + default -> { throw new IllegalStateException(); } } diff --git a/src/main/java/net/dancier/dancer/school/School.java b/src/main/java/net/dancier/dancer/school/School.java index fc552b9b..f54f3cd6 100644 --- a/src/main/java/net/dancier/dancer/school/School.java +++ b/src/main/java/net/dancier/dancer/school/School.java @@ -5,7 +5,7 @@ import net.dancier.dancer.core.model.Dance; import net.dancier.dancer.core.model.Recommendable; -import javax.persistence.*; +import jakarta.persistence.*; import java.util.Set; import java.util.UUID; diff --git a/src/main/java/net/dancier/dancer/security/CustomUserDetailsServiceImpl.java b/src/main/java/net/dancier/dancer/security/CustomUserDetailsServiceImpl.java index 2b2eb6e7..978455b9 100644 --- a/src/main/java/net/dancier/dancer/security/CustomUserDetailsServiceImpl.java +++ b/src/main/java/net/dancier/dancer/security/CustomUserDetailsServiceImpl.java @@ -1,16 +1,14 @@ package net.dancier.dancer.security; +import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; import net.dancier.dancer.authentication.model.User; import net.dancier.dancer.authentication.repository.UserRepository; import net.dancier.dancer.core.DancerRepository; import net.dancier.dancer.core.model.Dancer; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import javax.transaction.Transactional; import java.util.UUID; @Service diff --git a/src/main/java/net/dancier/dancer/security/JwtAuthenticationEntryPoint.java b/src/main/java/net/dancier/dancer/security/JwtAuthenticationEntryPoint.java index 49e14c79..bfaf737d 100644 --- a/src/main/java/net/dancier/dancer/security/JwtAuthenticationEntryPoint.java +++ b/src/main/java/net/dancier/dancer/security/JwtAuthenticationEntryPoint.java @@ -6,9 +6,9 @@ import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @Component @@ -23,4 +23,5 @@ public void commence(HttpServletRequest request, log.error("Problem while trying to authenticate: " + authException.getMessage()); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, authException.getMessage()); } + } diff --git a/src/main/java/net/dancier/dancer/security/JwtAuthenticationFilter.java b/src/main/java/net/dancier/dancer/security/JwtAuthenticationFilter.java index e5aeedc1..3aaaf8d2 100644 --- a/src/main/java/net/dancier/dancer/security/JwtAuthenticationFilter.java +++ b/src/main/java/net/dancier/dancer/security/JwtAuthenticationFilter.java @@ -14,11 +14,11 @@ import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Collection; import java.util.List;