Skip to content

Commit 6f8fd32

Browse files
springboot 3.1.2 (#78)
* springcloud output-bindings migration * jaxb javax/jakarta compatibility pom By convention and compatibility with springboot 3 (for example hibernate 6 uses jaxb) we use api: javax.xml.bind:jaxb-api javax version 2.x jakarta.xml.bind:jakarta.xml.bind-api jakarta version 3+ runtime: com.sun.xml.bind:jaxb-impl javax version 2.x org.glassfish.jaxb:jaxb-runtime jakarta version 3+ Signed-off-by: Abdelsalem <[email protected]> Co-authored-by: HARPER Jon <[email protected]>
1 parent 4308652 commit 6f8fd32

File tree

13 files changed

+82
-63
lines changed

13 files changed

+82
-63
lines changed

pom.xml

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<parent>
1414
<groupId>com.powsybl</groupId>
1515
<artifactId>powsybl-parent-ws</artifactId>
16-
<version>12</version>
16+
<version>15</version>
1717
<relativePath/>
1818
</parent>
1919

@@ -45,7 +45,7 @@
4545
<jaxb-api.version>2.4.0-b180830.0359</jaxb-api.version>
4646
<jaxb-runtime.version>2.4.0-b180830.0438</jaxb-runtime.version>
4747
<jib.from.image>gridsuite/java-simulator:2.0.0</jib.from.image>
48-
<gridsuite-dependencies.version>25</gridsuite-dependencies.version>
48+
<gridsuite-dependencies.version>26</gridsuite-dependencies.version>
4949
<liquibase-hibernate-package>org.gridsuite.securityanalysis.server</liquibase-hibernate-package>
5050
</properties>
5151

@@ -77,8 +77,8 @@
7777
<artifactId>spring-boot-maven-plugin</artifactId>
7878
</plugin>
7979
<plugin>
80-
<groupId>pl.project13.maven</groupId>
81-
<artifactId>git-commit-id-plugin</artifactId>
80+
<groupId>io.github.git-commit-id</groupId>
81+
<artifactId>git-commit-id-maven-plugin</artifactId>
8282
</plugin>
8383
</plugins>
8484
</build>
@@ -156,7 +156,7 @@
156156
</dependency>
157157
<dependency>
158158
<groupId>org.springdoc</groupId>
159-
<artifactId>springdoc-openapi-webflux-ui</artifactId>
159+
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
160160
</dependency>
161161

162162
<!-- Runtime dependencies -->
@@ -184,6 +184,22 @@
184184
<groupId>com.rte-france.powsybl</groupId>
185185
<artifactId>powsybl-hades2-integration</artifactId>
186186
<scope>runtime</scope>
187+
<exclusions>
188+
<exclusion>
189+
<!-- Use the "org.glassfish.jaxb:jaxb-runtime" coordinates for the new jakarta jaxb, and
190+
"com.sun.xml.bind" for old the javax jaxb needed by powsybl-hades2-integration
191+
-->
192+
<groupId>org.glassfish.jaxb</groupId>
193+
<artifactId>jaxb-runtime</artifactId>
194+
</exclusion>
195+
</exclusions>
196+
</dependency>
197+
<dependency>
198+
<!-- reimport the old javax jaxb because we excluded the new jakarta jaxb from powsybl-hades2-integration -->
199+
<groupId>com.sun.xml.bind</groupId>
200+
<artifactId>jaxb-impl</artifactId>
201+
<version>${jaxb-runtime.version}</version>
202+
<scope>runtime</scope>
187203
</dependency>
188204
<dependency>
189205
<groupId>javax.xml.bind</groupId>
@@ -201,12 +217,6 @@
201217
<artifactId>postgresql</artifactId>
202218
<scope>runtime</scope>
203219
</dependency>
204-
<dependency>
205-
<groupId>org.glassfish.jaxb</groupId>
206-
<artifactId>jaxb-runtime</artifactId>
207-
<version>${jaxb-runtime.version}</version>
208-
<scope>runtime</scope>
209-
</dependency>
210220
<dependency>
211221
<groupId>org.springframework.cloud</groupId>
212222
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
@@ -261,10 +271,8 @@
261271
</dependency>
262272
<dependency>
263273
<groupId>org.springframework.cloud</groupId>
264-
<artifactId>spring-cloud-stream</artifactId>
265-
<type>test-jar</type>
274+
<artifactId>spring-cloud-stream-test-binder</artifactId>
266275
<scope>test</scope>
267-
<classifier>test-binder</classifier>
268276
</dependency>
269277
<dependency>
270278
<groupId>com.h2database</groupId>

src/main/java/org/gridsuite/securityanalysis/server/entities/ComputationStatusEntity.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010

1111
import java.io.Serializable;
1212

13-
import javax.persistence.Embeddable;
14-
import javax.persistence.Entity;
15-
import javax.persistence.Id;
16-
import javax.persistence.IdClass;
17-
import javax.persistence.Table;
13+
import jakarta.persistence.Embeddable;
14+
import jakarta.persistence.Entity;
15+
import jakarta.persistence.Id;
16+
import jakarta.persistence.IdClass;
17+
import jakarta.persistence.Table;
1818

1919
import lombok.AllArgsConstructor;
2020
import lombok.Getter;

src/main/java/org/gridsuite/securityanalysis/server/entities/ContingencyElementEmbeddable.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
*/
77
package org.gridsuite.securityanalysis.server.entities;
88

9-
import javax.persistence.Column;
10-
import javax.persistence.Embeddable;
9+
import jakarta.persistence.Column;
10+
import jakarta.persistence.Embeddable;
1111

1212
import com.powsybl.contingency.ContingencyElementType;
1313
import lombok.AllArgsConstructor;

src/main/java/org/gridsuite/securityanalysis/server/entities/ContingencyEntity.java

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,10 @@
77
package org.gridsuite.securityanalysis.server.entities;
88

99
import java.util.List;
10-
import java.util.UUID;
1110

1211
import java.io.Serializable;
1312

14-
import javax.persistence.ElementCollection;
15-
import javax.persistence.Embeddable;
16-
import javax.persistence.Entity;
17-
import javax.persistence.Id;
18-
import javax.persistence.IdClass;
19-
import javax.persistence.Table;
13+
import jakarta.persistence.*;
2014

2115
import lombok.AllArgsConstructor;
2216
import lombok.Getter;
@@ -30,25 +24,10 @@
3024
@NoArgsConstructor
3125
@Entity
3226
@Table(name = "contingency")
33-
@IdClass(ContingencyEntity.ID.class)
3427
public class ContingencyEntity implements Serializable {
3528

36-
@NoArgsConstructor
37-
@Getter
38-
@Embeddable
39-
static class ID implements Serializable {
40-
@Id
41-
private UUID resultUuid;
42-
43-
@Id
44-
private String contingencyId;
45-
}
46-
47-
@Id
48-
private UUID resultUuid;
49-
50-
@Id
51-
private String contingencyId;
29+
@EmbeddedId
30+
private ContingencyEntityId resultId;
5231

5332
@ElementCollection
5433
private List<ContingencyElementEmbeddable> contingencyElements;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.gridsuite.securityanalysis.server.entities;
2+
3+
import jakarta.persistence.Embeddable;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.io.Serializable;
9+
import java.util.UUID;
10+
11+
@Embeddable
12+
@Getter
13+
@AllArgsConstructor
14+
@NoArgsConstructor
15+
public class ContingencyEntityId implements Serializable {
16+
17+
private UUID resultUuid;
18+
19+
private String contingencyId;
20+
}

src/main/java/org/gridsuite/securityanalysis/server/entities/GlobalStatusEntity.java

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

1111
import java.io.Serializable;
1212

13-
import javax.persistence.*;
13+
import jakarta.persistence.*;
1414

1515
import lombok.AllArgsConstructor;
1616
import lombok.Getter;

src/main/java/org/gridsuite/securityanalysis/server/entities/LimitViolationEntity.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010

1111
import java.io.Serializable;
1212

13-
import javax.persistence.Column;
14-
import javax.persistence.Embeddable;
15-
import javax.persistence.Entity;
16-
import javax.persistence.EnumType;
17-
import javax.persistence.Enumerated;
18-
import javax.persistence.Id;
19-
import javax.persistence.IdClass;
20-
import javax.persistence.Table;
13+
import jakarta.persistence.Column;
14+
import jakarta.persistence.Embeddable;
15+
import jakarta.persistence.Entity;
16+
import jakarta.persistence.EnumType;
17+
import jakarta.persistence.Enumerated;
18+
import jakarta.persistence.Id;
19+
import jakarta.persistence.IdClass;
20+
import jakarta.persistence.Table;
2121

2222
import com.powsybl.iidm.network.Branch;
2323
import com.powsybl.security.LimitViolationType;

src/main/java/org/gridsuite/securityanalysis/server/repositories/ContingencyRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
@Repository
2020
public interface ContingencyRepository extends JpaRepository<ContingencyEntity, UUID> {
2121

22-
List<ContingencyEntity> findByResultUuid(UUID resultUuid);
22+
List<ContingencyEntity> findByResultIdResultUuid(UUID resultUuid);
2323

24-
void deleteByResultUuid(UUID resultUuid);
24+
void deleteByResultIdResultUuid(UUID resultUuid);
2525
}

src/main/java/org/gridsuite/securityanalysis/server/repositories/SecurityAnalysisResultRepository.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ private static Contingency fromEntity(ContingencyEntity entity) {
7474
throw new IllegalStateException("Element type not yet support: " + e.getElementType());
7575
}
7676
}).collect(Collectors.toList());
77-
return new Contingency(entity.getContingencyId(), elements);
77+
return new Contingency(entity.getResultId().getContingencyId(), elements);
7878
}
7979

8080
private static LimitViolationEntity toEntity(UUID resultUuid, String contingencyId, LimitViolation limitViolation) {
@@ -98,7 +98,7 @@ private static List<LimitViolationEntity> toEntity(UUID resultUuid, Contingency
9898
private static ContingencyEntity toEntity(UUID resultUuid, Contingency contingency) {
9999
List<ContingencyElementEmbeddable> elements = contingency.getElements().stream()
100100
.map(e -> new ContingencyElementEmbeddable(e.getType(), e.getId())).collect(Collectors.toList());
101-
return new ContingencyEntity(resultUuid, contingency.getId(), elements);
101+
return new ContingencyEntity(new ContingencyEntityId(resultUuid, contingency.getId()), elements);
102102
}
103103

104104
private static GlobalStatusEntity toEntity(UUID resultUuid, SecurityAnalysisStatus status) {
@@ -125,7 +125,7 @@ public SecurityAnalysisResult find(UUID resultUuid, Set<LimitViolationType> limi
125125
.collect(
126126
Collectors.groupingBy(Pair::getKey, Collectors.mapping(Pair::getValue, Collectors.toCollection(ArrayList::new))));
127127

128-
List<ContingencyEntity> contingencyEntities = contingencyRepository.findByResultUuid(resultUuid);
128+
List<ContingencyEntity> contingencyEntities = contingencyRepository.findByResultIdResultUuid(resultUuid);
129129
List<Contingency> contingencies = contingencyEntities.stream()
130130
.map(SecurityAnalysisResultRepository::fromEntity)
131131
.collect(Collectors.toList());
@@ -182,7 +182,7 @@ public void delete(UUID resultUuid) {
182182
Objects.requireNonNull(resultUuid);
183183
computationStatusRepository.deleteByResultUuid(resultUuid);
184184
limitViolationRepository.deleteByResultUuid(resultUuid);
185-
contingencyRepository.deleteByResultUuid(resultUuid);
185+
contingencyRepository.deleteByResultIdResultUuid(resultUuid);
186186
globalStatusRepository.deleteByResultUuid(resultUuid);
187187
}
188188

src/main/java/org/gridsuite/securityanalysis/server/service/SecurityAnalysisExecutionService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
import lombok.SneakyThrows;
1313
import org.springframework.stereotype.Service;
1414

15-
import javax.annotation.PostConstruct;
16-
import javax.annotation.PreDestroy;
15+
import jakarta.annotation.PostConstruct;
16+
import jakarta.annotation.PreDestroy;
1717
import java.util.concurrent.ExecutorService;
1818
import java.util.concurrent.Executors;
1919

0 commit comments

Comments
 (0)