Skip to content

Commit 45db592

Browse files
committed
Change the DB schema in order to add locationId.
Signed-off-by: AAJELLAL <[email protected]>
1 parent a3d255b commit 45db592

23 files changed

+166
-203
lines changed

pom.xml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
<parent>
1414
<groupId>com.powsybl</groupId>
1515
<artifactId>powsybl-parent-ws</artifactId>
16-
<version>20</version>
16+
<version>21</version>
1717
<relativePath/>
1818
</parent>
1919

2020
<groupId>org.gridsuite</groupId>
2121
<artifactId>gridsuite-security-analysis-server</artifactId>
22-
<version>2.12.0-SNAPSHOT</version>
22+
<version>2.14.0-SNAPSHOT</version>
2323

2424
<packaging>jar</packaging>
2525
<name>Security analysis server</name>
@@ -42,14 +42,11 @@
4242
</developers>
4343

4444
<properties>
45-
<jib.from.image>powsybl/java-dynawo:2.1.0</jib.from.image>
46-
<gridsuite-dependencies.version>35</gridsuite-dependencies.version>
45+
<jib.from.image>powsybl/java-dynawo:3.0.0</jib.from.image>
46+
<gridsuite-dependencies.version>37.0.0</gridsuite-dependencies.version>
4747
<liquibase-hibernate-package>org.gridsuite.securityanalysis.server</liquibase-hibernate-package>
4848
<db-util.version>1.0.5</db-util.version>
4949
<mockwebserver3.version>5.0.0-alpha.14</mockwebserver3.version>
50-
<!-- FIXME: powsybl-ws-commons modules'version is overloaded in the dependencies section
51-
The overloads and this property below have to be removed at next powsybl-ws-dependencies.version upgrade -->
52-
<powsybl-ws-commons.version>1.17.0</powsybl-ws-commons.version>
5350
</properties>
5451

5552
<build>
@@ -152,8 +149,6 @@
152149
<dependency>
153150
<groupId>com.powsybl</groupId>
154151
<artifactId>powsybl-ws-commons</artifactId>
155-
<version>${powsybl-ws-commons.version}</version>
156-
157152
</dependency>
158153
<dependency>
159154
<groupId>org.springframework.cloud</groupId>
@@ -266,4 +261,4 @@
266261
<scope>test</scope>
267262
</dependency>
268263
</dependencies>
269-
</project>
264+
</project>

src/main/java/org/gridsuite/securityanalysis/server/dto/LimitViolationDTO.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class LimitViolationDTO {
2626
private double limitReduction;
2727
private double value;
2828
private Double loading;
29+
private String locationId;
2930

3031
public static LimitViolationDTO toDto(AbstractLimitViolationEntity limitViolation) {
3132
return LimitViolationDTO.builder()
@@ -37,11 +38,13 @@ public static LimitViolationDTO toDto(AbstractLimitViolationEntity limitViolatio
3738
.limitReduction(limitViolation.getLimitReduction())
3839
.value(limitViolation.getValue())
3940
.loading(limitViolation.getLoading())
41+
.locationId(limitViolation.getLocationId())
4042
.build();
4143
}
4244

4345
public List<String> toCsvRow(Map<String, String> translations) {
4446
List<String> csvRow = new ArrayList<>();
47+
csvRow.add(this.getLocationId());
4548
csvRow.add(this.getLimitType() != null ? CsvExportUtils.translate(this.getLimitType().name(), translations) : "");
4649
csvRow.add(CsvExportUtils.replaceNullWithEmptyString(CsvExportUtils.translate(this.getLimitName(), translations)));
4750
csvRow.add(Double.toString(this.getLimit()));

src/main/java/org/gridsuite/securityanalysis/server/dto/PreContingencyLimitViolationResultDTO.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import lombok.Builder;
1212
import lombok.Getter;
1313
import lombok.NoArgsConstructor;
14+
import lombok.experimental.FieldNameConstants;
1415
import org.gridsuite.securityanalysis.server.entities.PreContingencyLimitViolationEntity;
1516

1617
import java.util.List;
@@ -21,30 +22,26 @@
2122
@AllArgsConstructor
2223
@NoArgsConstructor
2324
@Builder
25+
@FieldNameConstants
2426
public class PreContingencyLimitViolationResultDTO {
2527

2628
private String subjectId;
27-
private String locationId;
2829
private String status;
2930
private LimitViolationDTO limitViolation;
3031

3132
public static PreContingencyLimitViolationResultDTO toDto(PreContingencyLimitViolationEntity preContingencyLimitViolation) {
3233
String subjectId = preContingencyLimitViolation.getSubjectLimitViolation() != null
3334
? preContingencyLimitViolation.getSubjectLimitViolation().getSubjectId()
3435
: null;
35-
String locationId = preContingencyLimitViolation.getSubjectLimitViolation() != null
36-
? preContingencyLimitViolation.getSubjectLimitViolation().getLocationId()
37-
: null;
3836
return PreContingencyLimitViolationResultDTO.builder()
3937
.subjectId(subjectId)
40-
.locationId(locationId)
4138
.status(preContingencyLimitViolation.getResult().getPreContingencyStatus())
4239
.limitViolation(LimitViolationDTO.toDto(preContingencyLimitViolation))
4340
.build();
4441
}
4542

4643
public List<String> toCsvRow(Map<String, String> translations) {
47-
List<String> csvRow = List.of(this.getSubjectId());
44+
List<String> csvRow = List.of();
4845

4946
if (this.getLimitViolation() != null) {
5047
return Stream.concat(csvRow.stream(), this.getLimitViolation().toCsvRow(translations).stream()).toList();

src/main/java/org/gridsuite/securityanalysis/server/dto/SubjectLimitViolationDTO.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,14 @@
2121
@Builder
2222
public class SubjectLimitViolationDTO {
2323
private String subjectId;
24-
private String locationId;
25-
2624
private LimitViolationDTO limitViolation;
2725

2826
public static SubjectLimitViolationDTO toDto(ContingencyLimitViolationEntity limitViolation) {
2927
String subjectId = limitViolation.getSubjectLimitViolation() != null
3028
? limitViolation.getSubjectLimitViolation().getSubjectId()
3129
: null;
32-
33-
String locationId = limitViolation.getSubjectLimitViolation() != null
34-
? limitViolation.getSubjectLimitViolation().getLocationId()
35-
: null;
36-
3730
return SubjectLimitViolationDTO.builder()
3831
.subjectId(subjectId)
39-
.locationId(locationId)
4032
.limitViolation(LimitViolationDTO.toDto(limitViolation))
4133
.build();
4234
}

src/main/java/org/gridsuite/securityanalysis/server/dto/SubjectLimitViolationResultDTO.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@
2727
@NoArgsConstructor
2828
public class SubjectLimitViolationResultDTO {
2929
private String subjectId;
30-
31-
private String locationId;
32-
3330
private List<ContingencyLimitViolationDTO> contingencies;
3431

3532
public static SubjectLimitViolationResultDTO toDto(SubjectLimitViolationEntity subjectLimitViolation) {
@@ -39,7 +36,6 @@ public static SubjectLimitViolationResultDTO toDto(SubjectLimitViolationEntity s
3936

4037
return SubjectLimitViolationResultDTO.builder()
4138
.subjectId(subjectLimitViolation.getSubjectId())
42-
.locationId(subjectLimitViolation.getLocationId())
4339
.contingencies(contingencies)
4440
.build();
4541
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ public abstract class AbstractLimitViolationEntity {
5858
@Column(name = "loading")
5959
private Double loading;
6060

61+
@Column
62+
private String locationId;
63+
6164
public static Double computeLoading(LimitViolation limitViolation) {
6265
return LimitViolationType.CURRENT.equals(limitViolation.getLimitType())
6366
? (100 * limitViolation.getValue()) / (limitViolation.getLimit() * limitViolation.getLimitReduction())

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ public ContingencyEntity(String contingencyId, String status, List<ContingencyEl
4242
private UUID uuid;
4343

4444
private String contingencyId;
45-
4645
@Setter
4746
@ManyToOne(fetch = FetchType.LAZY)
4847
private SecurityAnalysisResultEntity result;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ public class ContingencyLimitViolationEntity extends AbstractLimitViolationEntit
3333
private ContingencyEntity contingency;
3434

3535
public static ContingencyLimitViolationEntity toEntity(Network network, LimitViolation limitViolation, SubjectLimitViolationEntity subjectLimitViolation) {
36-
subjectLimitViolation.setLocationId(ComputationResultUtils.getViolationLocationId(limitViolation, network));
3736
ContingencyLimitViolationEntity contingencyLimitViolationEntity = ContingencyLimitViolationEntity.builder()
3837
.limit(limitViolation.getLimit())
3938
.limitName(limitViolation.getLimitName())
@@ -43,6 +42,7 @@ public static ContingencyLimitViolationEntity toEntity(Network network, LimitVio
4342
.value(limitViolation.getValue())
4443
.side(limitViolation.getSide())
4544
.loading(computeLoading(limitViolation))
45+
.locationId(ComputationResultUtils.getViolationLocationId(limitViolation, network))
4646
.subjectLimitViolation(subjectLimitViolation)
4747
.build();
4848

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@
1010
import com.powsybl.security.LimitViolation;
1111
import com.powsybl.security.results.PreContingencyResult;
1212
import com.powsybl.ws.commons.computation.utils.ComputationResultUtils;
13-
import jakarta.persistence.Entity;
14-
import jakarta.persistence.FetchType;
15-
import jakarta.persistence.ManyToOne;
16-
import jakarta.persistence.Table;
13+
import jakarta.persistence.*;
1714
import lombok.Data;
1815
import lombok.Getter;
1916
import lombok.NoArgsConstructor;
@@ -37,7 +34,6 @@
3734
@FieldNameConstants
3835
@Table(name = "pre_contingency_limit_violation")
3936
public class PreContingencyLimitViolationEntity extends AbstractLimitViolationEntity {
40-
4137
@ManyToOne(fetch = FetchType.LAZY)
4238
@Setter
4339
SecurityAnalysisResultEntity result;
@@ -47,7 +43,6 @@ public static List<PreContingencyLimitViolationEntity> toEntityList(Network netw
4743
}
4844

4945
public static PreContingencyLimitViolationEntity toEntity(Network network, LimitViolation limitViolation, SubjectLimitViolationEntity subjectLimitViolation) {
50-
subjectLimitViolation.setLocationId(ComputationResultUtils.getViolationLocationId(limitViolation, network));
5146
return PreContingencyLimitViolationEntity.builder()
5247
.subjectLimitViolation(subjectLimitViolation)
5348
.limit(limitViolation.getLimit())
@@ -58,6 +53,7 @@ public static PreContingencyLimitViolationEntity toEntity(Network network, Limit
5853
.value(limitViolation.getValue())
5954
.side(limitViolation.getSide())
6055
.loading(computeLoading(limitViolation))
56+
.locationId(ComputationResultUtils.getViolationLocationId(limitViolation, network))
6157
.build();
6258
}
6359
}

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,6 @@ public SubjectLimitViolationEntity(String subjectId, String subjectName) {
3939

4040
private String subjectName;
4141

42-
@Column
43-
@Setter
44-
@Getter
45-
private String locationId;
46-
4742
@ManyToOne(fetch = FetchType.LAZY)
4843
@Setter
4944
@Getter

0 commit comments

Comments
 (0)