Skip to content

Commit a44b0b6

Browse files
committed
migrate to spring 3
1 parent d2e72a8 commit a44b0b6

File tree

44 files changed

+256
-195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+256
-195
lines changed

pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
<parent>
5656
<groupId>org.springframework.boot</groupId>
5757
<artifactId>spring-boot-starter-parent</artifactId>
58-
<version>2.7.18</version>
58+
<version>3.3.5</version>
5959
<relativePath/>
6060
</parent>
6161
<!-- =========================================================================================================== -->
@@ -73,7 +73,7 @@
7373
<!-- Libraries releases -->
7474

7575
<!-- Core -->
76-
<spring.version>2.7.18</spring.version>
76+
<spring.version>3.3.5</spring.version>
7777
<reactor.version>Dysprosium-SR25</reactor.version>
7878
<xchange.version>5.0.13</xchange.version>
7979
<bucket4j.version>8.0.1</bucket4j.version>
@@ -168,7 +168,7 @@
168168
</configuration>
169169
</plugin>
170170
<!-- GPG signing -->
171-
<plugin>
171+
<!--<plugin>
172172
<groupId>org.apache.maven.plugins</groupId>
173173
<artifactId>maven-gpg-plugin</artifactId>
174174
<version>3.1.0</version>
@@ -180,15 +180,15 @@
180180
<goal>sign</goal>
181181
</goals>
182182
<configuration>
183-
<!-- Prevent `gpg` from using pinentry programs -->
183+
&lt;!&ndash; Prevent `gpg` from using pinentry programs &ndash;&gt;
184184
<gpgArguments>
185-
<arg>--pinentry-mode</arg>
185+
<arg>&#45;&#45;pinentry-mode</arg>
186186
<arg>loopback</arg>
187187
</gpgArguments>
188188
</configuration>
189189
</execution>
190190
</executions>
191-
</plugin>
191+
</plugin>-->
192192
</plugins>
193193
</build>
194194
<!-- =========================================================================================================== -->

spring-boot-starter-api/spring-boot-starter-api-graphql/autoconfigure/src/main/java/tech/cassandre/trading/bot/configuration/GraphQLAPIKeyAuthenticationFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter;
44

5-
import javax.servlet.http.HttpServletRequest;
5+
import jakarta.servlet.http.HttpServletRequest;
66

77
/**
88
* GraphQL API authentication filter.

spring-boot-starter-api/spring-boot-starter-api-graphql/autoconfigure/src/main/java/tech/cassandre/trading/bot/configuration/GraphQLAPISecurityConfiguration.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
import org.springframework.beans.factory.annotation.Value;
44
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
5+
import org.springframework.context.annotation.Bean;
56
import org.springframework.context.annotation.Configuration;
67
import org.springframework.core.Ordered;
78
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
89
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
9-
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
10-
10+
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
11+
import org.springframework.security.web.SecurityFilterChain;
1112
import static org.springframework.security.config.http.SessionCreationPolicy.STATELESS;
1213

1314
/**
@@ -16,32 +17,34 @@
1617
@Configuration
1718
@EnableWebSecurity
1819
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 1)
19-
public class GraphQLAPISecurityConfiguration extends WebSecurityConfigurerAdapter {
20+
public final class GraphQLAPISecurityConfiguration {
2021

2122
/** API Key. */
2223
@Value("${cassandre.trading.bot.api.graphql.key:}")
2324
private String key;
2425

25-
@Override
26-
protected final void configure(final HttpSecurity http) throws Exception {
26+
@Bean
27+
public SecurityFilterChain securityFilterChain(final HttpSecurity http) throws Exception {
2728
if (key == null || key.isBlank()) {
2829
// if key is not set, no security at all. Everything is accessible.
29-
http.antMatcher("/graphql/**")
30-
.csrf().disable()
31-
.sessionManagement().sessionCreationPolicy(STATELESS)
32-
.and()
33-
.authorizeRequests().anyRequest().permitAll();
30+
http
31+
.securityMatcher("/graphql/**")
32+
.csrf(AbstractHttpConfigurer::disable)
33+
.sessionManagement(session -> session.sessionCreationPolicy(STATELESS))
34+
.authorizeHttpRequests(auth -> auth.anyRequest().permitAll());
3435
} else {
3536
// If a key is set, we ask for key on every request (X-API-Key header).
3637
GraphQLAPIKeyAuthenticationFilter filter = new GraphQLAPIKeyAuthenticationFilter();
3738
filter.setAuthenticationManager(new GraphQLAPIKeyAuthenticationManager(key));
38-
http.antMatcher("/graphql/**")
39-
.csrf().disable()
40-
.sessionManagement().sessionCreationPolicy(STATELESS)
41-
.and()
39+
40+
http
41+
.securityMatcher("/graphql/**")
42+
.csrf(AbstractHttpConfigurer::disable)
43+
.sessionManagement(session -> session.sessionCreationPolicy(STATELESS))
4244
.addFilter(filter)
43-
.authorizeRequests().anyRequest().authenticated();
45+
.authorizeHttpRequests(auth -> auth.anyRequest().authenticated());
4446
}
45-
}
4647

48+
return http.build();
49+
}
4750
}

spring-boot-starter-test/autoconfigure/src/main/java/tech/cassandre/trading/bot/domain/BacktestingCandle.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
import org.hibernate.Hibernate;
99
import tech.cassandre.trading.bot.dto.util.CurrencyPairDTO;
1010

11-
import javax.persistence.Column;
12-
import javax.persistence.EmbeddedId;
13-
import javax.persistence.Entity;
14-
import javax.persistence.Table;
11+
import jakarta.persistence.Column;
12+
import jakarta.persistence.EmbeddedId;
13+
import jakarta.persistence.Entity;
14+
import jakarta.persistence.Table;
1515
import java.math.BigDecimal;
16-
import java.time.ZonedDateTime;
16+
import java.time.OffsetDateTime;
1717
import java.util.Objects;
1818

1919
import static tech.cassandre.trading.bot.configuration.DatabaseAutoConfiguration.PRECISION;
@@ -73,7 +73,7 @@ public class BacktestingCandle {
7373

7474
/** Bucket start time. */
7575
@Column(name = "TIMESTAMP")
76-
private ZonedDateTime timestamp;
76+
private OffsetDateTime timestamp;
7777

7878
/**
7979
* Returns currency pair DTO.

spring-boot-starter-test/autoconfigure/src/main/java/tech/cassandre/trading/bot/domain/BacktestingCandleId.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import org.hibernate.Hibernate;
88
import tech.cassandre.trading.bot.dto.util.CurrencyPairDTO;
99

10-
import javax.persistence.Column;
11-
import javax.persistence.Embeddable;
10+
import jakarta.persistence.Column;
11+
import jakarta.persistence.Embeddable;
1212
import java.io.Serializable;
1313
import java.util.Objects;
1414

spring-boot-starter-test/autoconfigure/src/main/java/tech/cassandre/trading/bot/util/mapper/BacktestingTickerMapper.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,20 @@
22

33
import org.mapstruct.Mapper;
44
import org.mapstruct.Mapping;
5+
import org.mapstruct.MappingConstants;
6+
import org.mapstruct.Named;
57
import tech.cassandre.trading.bot.domain.BacktestingCandle;
68
import tech.cassandre.trading.bot.domain.ImportedCandle;
79
import tech.cassandre.trading.bot.dto.market.TickerDTO;
810

11+
import java.time.OffsetDateTime;
12+
import java.time.ZoneId;
13+
import java.util.Date;
14+
915
/**
1016
* Backtesting candle mapper.
1117
*/
12-
@Mapper(uses = CurrencyMapper.class)
18+
@Mapper(uses = CurrencyMapper.class, componentModel = MappingConstants.ComponentModel.JAKARTA)
1319
public interface BacktestingTickerMapper {
1420

1521
// =================================================================================================================

spring-boot-starter/autoconfigure/src/main/java/tech/cassandre/trading/bot/configuration/ExchangeAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import info.bitrich.xchangestream.core.ProductSubscription;
44
import info.bitrich.xchangestream.core.StreamingExchange;
55
import info.bitrich.xchangestream.core.StreamingExchangeFactory;
6+
import jakarta.annotation.PostConstruct;
67
import lombok.RequiredArgsConstructor;
78
import org.knowm.xchange.Exchange;
89
import org.knowm.xchange.ExchangeFactory;
@@ -41,7 +42,6 @@
4142
import tech.cassandre.trading.bot.util.exception.ConfigurationException;
4243
import tech.cassandre.trading.bot.util.parameters.ExchangeParameters;
4344

44-
import javax.annotation.PostConstruct;
4545
import java.io.IOException;
4646
import java.util.Objects;
4747
import java.util.Set;

spring-boot-starter/autoconfigure/src/main/java/tech/cassandre/trading/bot/configuration/ScheduleAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import tech.cassandre.trading.bot.batch.TradeFlux;
1515
import tech.cassandre.trading.bot.util.base.configuration.BaseConfiguration;
1616

17-
import javax.annotation.PreDestroy;
17+
import jakarta.annotation.PreDestroy;
1818
import java.util.concurrent.atomic.AtomicBoolean;
1919

2020
/**

spring-boot-starter/autoconfigure/src/main/java/tech/cassandre/trading/bot/configuration/StrategiesAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
import tech.cassandre.trading.bot.util.exception.ConfigurationException;
4444
import tech.cassandre.trading.bot.util.parameters.ExchangeParameters;
4545

46-
import javax.annotation.PostConstruct;
46+
import jakarta.annotation.PostConstruct;
4747
import java.io.IOException;
4848
import java.nio.file.Files;
4949
import java.util.Arrays;

spring-boot-starter/autoconfigure/src/main/java/tech/cassandre/trading/bot/domain/ImportedCandle.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
import tech.cassandre.trading.bot.util.csv.EpochToZonedDateTime;
1313
import tech.cassandre.trading.bot.util.test.ExcludeFromCoverageGeneratedReport;
1414

15-
import javax.persistence.Column;
16-
import javax.persistence.Entity;
17-
import javax.persistence.Id;
18-
import javax.persistence.Table;
15+
import jakarta.persistence.Column;
16+
import jakarta.persistence.Entity;
17+
import jakarta.persistence.Id;
18+
import jakarta.persistence.Table;
1919
import java.math.BigDecimal;
20-
import java.time.ZonedDateTime;
20+
import java.time.OffsetDateTime;
2121
import java.util.Objects;
2222

2323
import static tech.cassandre.trading.bot.configuration.DatabaseAutoConfiguration.PRECISION;
@@ -72,8 +72,8 @@ public class ImportedCandle {
7272

7373
/** Bucket start time. */
7474
@CsvCustomBindByName(column = "TIMESTAMP", converter = EpochToZonedDateTime.class)
75-
@Column(name = "TIMESTAMP")
76-
private ZonedDateTime timestamp;
75+
@Column(name = "TIMESTAMP", columnDefinition = "TIMESTAMP WITH TIME ZONE")
76+
private OffsetDateTime timestamp;
7777

7878
/**
7979
* Returns currency pair DTO.

0 commit comments

Comments
 (0)