Skip to content

Commit

Permalink
powsybl-ws-dependencies 2.7.0 (#427)
Browse files Browse the repository at this point in the history
Signed-off-by: Antoine Bouhours <antoine.bouhours@rte-france.com>
  • Loading branch information
antoinebhs authored Feb 2, 2024
1 parent 66bb059 commit 306d506
Show file tree
Hide file tree
Showing 26 changed files with 151 additions and 180 deletions.
32 changes: 4 additions & 28 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,11 @@
</developers>

<properties>
<gridsuite-dependencies.version>28</gridsuite-dependencies.version>
<powsybl-ws-dependencies.version>2.7.0</powsybl-ws-dependencies.version>
<db-util.version>1.0.5</db-util.version>
<commons-lang3.version>3.9</commons-lang3.version>
<log4j2-mock-version>0.0.2</log4j2-mock-version>
<testcontainers.version>1.16.2</testcontainers.version>
<liquibase-hibernate-package>org.gridsuite.modification.server</liquibase-hibernate-package>
<assertj.version>3.24.2</assertj.version>
</properties>

<build>
Expand Down Expand Up @@ -86,34 +84,17 @@
<dependencyManagement>
<dependencies>
<!-- overrides of imports -->
<dependency><!-- TODO: to delete when spring is updated -->
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-guava</artifactId>
<version>${assertj.version}</version>
<scope>test</scope>
</dependency>

<!-- imports -->
<dependency>
<groupId>org.gridsuite</groupId>
<artifactId>gridsuite-dependencies</artifactId>
<version>${gridsuite-dependencies.version}</version>
<groupId>com.powsybl</groupId>
<artifactId>powsybl-ws-dependencies</artifactId>
<version>${powsybl-ws-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>

<!-- project specific dependencies -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>de.dentrassi.elasticsearch</groupId>
<artifactId>log4j2-mock</artifactId>
Expand Down Expand Up @@ -144,11 +125,6 @@
<groupId>com.powsybl</groupId>
<artifactId>powsybl-network-store-client</artifactId>
</dependency>
<dependency>
<groupId>com.powsybl</groupId>
<artifactId>powsybl-network-store-iidm-impl</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>com.powsybl</groupId>
<artifactId>powsybl-ws-commons</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*/
package org.gridsuite.modification.server.dto;

import com.powsybl.iidm.network.ThreeWindingsTransformer;
import com.powsybl.iidm.network.ThreeSides;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Getter;
Expand All @@ -31,5 +31,5 @@ public class VoltageInitTransformerModificationInfos {
private Integer ratioTapChangerPosition;

@Schema(description = "3 windings transformer leg side")
private ThreeWindingsTransformer.Side legSide;
private ThreeSides legSide;
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ public static Set<VoltageLevel> getVoltageLevels(@NonNull Identifiable<?> identi
} else if (identifiable instanceof ThreeWindingsTransformer) {
ThreeWindingsTransformer w3t = (ThreeWindingsTransformer) identifiable;
return Stream.of(
w3t.getTerminal(ThreeWindingsTransformer.Side.ONE).getVoltageLevel(),
w3t.getTerminal(ThreeWindingsTransformer.Side.TWO).getVoltageLevel(),
w3t.getTerminal(ThreeWindingsTransformer.Side.THREE).getVoltageLevel()
w3t.getTerminal(ThreeSides.ONE).getVoltageLevel(),
w3t.getTerminal(ThreeSides.TWO).getVoltageLevel(),
w3t.getTerminal(ThreeSides.THREE).getVoltageLevel()
).collect(Collectors.toSet());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@

package org.gridsuite.modification.server.entities.equipment.modification;

import com.powsybl.iidm.network.ThreeWindingsTransformer;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

import com.powsybl.iidm.network.ThreeSides;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
* @author Franck Lecuyer <franck.lecuyer at rte-france.com>
Expand All @@ -34,5 +33,5 @@ public class VoltageInitTransformerModificationEmbeddable {

@Column
@Enumerated(EnumType.STRING)
private ThreeWindingsTransformer.Side legSide;
private ThreeSides legSide;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@
import com.powsybl.commons.reporter.Report;
import com.powsybl.commons.reporter.Reporter;
import com.powsybl.commons.reporter.TypedValue;
import com.powsybl.iidm.network.Branch;
import com.powsybl.iidm.network.CurrentLimits;
import com.powsybl.iidm.network.CurrentLimitsAdder;
import com.powsybl.iidm.network.LoadingLimits;
import com.powsybl.iidm.network.*;
import org.gridsuite.modification.server.dto.BranchModificationInfos;
import org.gridsuite.modification.server.dto.CurrentLimitsModificationInfos;
import org.gridsuite.modification.server.dto.CurrentTemporaryLimitModificationInfos;
Expand Down Expand Up @@ -77,14 +74,14 @@ protected void modifyBranch(Branch<?> branch, BranchModificationInfos branchModi
" Side 2");
}
if (branchModificationInfos.getConnected1() != null) {
updateConnection(branch, Branch.Side.ONE, modificationInfos.getConnected1().getValue());
updateConnection(branch, TwoSides.ONE, modificationInfos.getConnected1().getValue());
}
if (branchModificationInfos.getConnected2() != null) {
updateConnection(branch, Branch.Side.TWO, modificationInfos.getConnected2().getValue());
updateConnection(branch, TwoSides.TWO, modificationInfos.getConnected2().getValue());
}
}

private void updateConnection(Branch<?> branch, Branch.Side side, Boolean connectionChange) {
private void updateConnection(Branch<?> branch, TwoSides side, Boolean connectionChange) {
if (branch.getTerminal(side).isConnected() && Boolean.FALSE.equals(connectionChange)) {
branch.getTerminal(side).disconnect();
} else if (!branch.getTerminal(side).isConnected() && Boolean.TRUE.equals(connectionChange)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.powsybl.commons.reporter.Reporter;
import com.powsybl.computation.ComputationManager;
import com.powsybl.iidm.modification.AbstractNetworkModification;
import com.powsybl.iidm.modification.topology.NamingStrategy;
import com.powsybl.iidm.network.Network;
import org.gridsuite.modification.server.NetworkModificationException;

Expand All @@ -17,7 +18,7 @@
*/
public abstract class AbstractModification extends AbstractNetworkModification {
@Override
public void apply(Network network, boolean throwException, ComputationManager computationManager, Reporter reporter) {
public void apply(Network network, NamingStrategy namingStrategy, boolean throwException, ComputationManager computationManager, Reporter reporter) {
apply(network, reporter);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,7 @@
import com.powsybl.commons.reporter.TypedValue;
import com.powsybl.iidm.modification.topology.CreateFeederBay;
import com.powsybl.iidm.modification.topology.CreateFeederBayBuilder;
import com.powsybl.iidm.network.Battery;
import com.powsybl.iidm.network.BatteryAdder;
import com.powsybl.iidm.network.Bus;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.TopologyKind;
import com.powsybl.iidm.network.VoltageLevel;
import com.powsybl.iidm.network.*;
import com.powsybl.iidm.network.extensions.ActivePowerControlAdder;
import org.gridsuite.modification.server.NetworkModificationException;
import org.gridsuite.modification.server.dto.BatteryCreationInfos;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import com.powsybl.commons.reporter.TypedValue;
import com.powsybl.iidm.modification.tripping.BranchTripping;
import com.powsybl.iidm.network.*;
import com.powsybl.iidm.network.extensions.BranchStatus;
import com.powsybl.iidm.network.extensions.BranchStatusAdder;
import com.powsybl.iidm.network.extensions.OperatingStatus;
import com.powsybl.iidm.network.extensions.OperatingStatusAdder;
import org.gridsuite.modification.server.NetworkModificationException;
import org.gridsuite.modification.server.dto.BranchStatusModificationInfos;
import org.slf4j.Logger;
Expand Down Expand Up @@ -65,10 +65,10 @@ public void apply(Network network, Reporter subReporter) {
applySwitchOnBranch(subReporter, branch, branchTypeName);
break;
case ENERGISE_END_ONE:
applyEnergiseBranchEnd(subReporter, branch, branchTypeName, Branch.Side.ONE);
applyEnergiseBranchEnd(subReporter, branch, branchTypeName, TwoSides.ONE);
break;
case ENERGISE_END_TWO:
applyEnergiseBranchEnd(subReporter, branch, branchTypeName, Branch.Side.TWO);
applyEnergiseBranchEnd(subReporter, branch, branchTypeName, TwoSides.TWO);
break;
default:
throw NetworkModificationException.createBranchActionTypeUnsupported(modificationInfos.getAction());
Expand All @@ -77,7 +77,7 @@ public void apply(Network network, Reporter subReporter) {

private void applyLockoutBranch(Reporter subReporter, Branch<?> branch, String branchTypeName) {
if (disconnectAllTerminals(branch)) {
branch.newExtension(BranchStatusAdder.class).withStatus(BranchStatus.Status.PLANNED_OUTAGE).add();
branch.newExtension(OperatingStatusAdder.class).withStatus(OperatingStatus.Status.PLANNED_OUTAGE).add();
} else {
throw new NetworkModificationException(BRANCH_ACTION_ERROR, "Unable to disconnect all branch ends");
}
Expand Down Expand Up @@ -115,12 +115,12 @@ private void applyTripBranch(Reporter subReporter, Branch<?> branch, String bran
traversedTerminals.stream().map(t -> network.getBranch(t.getConnectable().getId()))
.filter(Objects::nonNull)
.filter(distinctByKey(b -> b.getId())) // dont process the same branch more than once
.forEach(b -> ((Branch<?>) b).newExtension(BranchStatusAdder.class).withStatus(BranchStatus.Status.FORCED_OUTAGE).add());
.forEach(b -> ((Branch<?>) b).newExtension(OperatingStatusAdder.class).withStatus(OperatingStatus.Status.FORCED_OUTAGE).add());
}

private void applySwitchOnBranch(Reporter subReporter, Branch<?> branch, String branchTypeName) {
if (connectAllTerminals(branch)) {
branch.newExtension(BranchStatusAdder.class).withStatus(BranchStatus.Status.IN_OPERATION).add();
branch.newExtension(OperatingStatusAdder.class).withStatus(OperatingStatus.Status.IN_OPERATION).add();
} else {
throw new NetworkModificationException(BRANCH_ACTION_ERROR, "Unable to connect all branch ends");
}
Expand All @@ -133,10 +133,10 @@ private void applySwitchOnBranch(Reporter subReporter, Branch<?> branch, String
.build());
}

private void applyEnergiseBranchEnd(Reporter subReporter, Branch<?> branch, String branchTypeName, Branch.Side side) {
Branch.Side oppositeSide = side == Branch.Side.ONE ? Branch.Side.TWO : Branch.Side.ONE;
private void applyEnergiseBranchEnd(Reporter subReporter, Branch<?> branch, String branchTypeName, TwoSides side) {
TwoSides oppositeSide = side == TwoSides.ONE ? TwoSides.TWO : TwoSides.ONE;
if (connectOneTerminal(branch.getTerminal(side)) && disconnectOneTerminal(branch.getTerminal(oppositeSide))) {
branch.newExtension(BranchStatusAdder.class).withStatus(BranchStatus.Status.IN_OPERATION).add();
branch.newExtension(OperatingStatusAdder.class).withStatus(OperatingStatus.Status.IN_OPERATION).add();
} else {
throw new NetworkModificationException(BRANCH_ACTION_ERROR, "Unable to energise branch end");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import com.powsybl.commons.reporter.Reporter;
import com.powsybl.commons.reporter.TypedValue;
import com.powsybl.iidm.network.*;
import com.powsybl.iidm.network.extensions.BranchStatus;
import com.powsybl.iidm.network.extensions.BranchStatusAdder;
import com.powsybl.iidm.network.extensions.OperatingStatus;
import com.powsybl.iidm.network.extensions.OperatingStatusAdder;
import org.gridsuite.modification.server.NetworkModificationException;
import org.gridsuite.modification.server.dto.EquipmentAttributeModificationInfos;

Expand Down Expand Up @@ -98,7 +98,7 @@ private void changeGeneratorAttribute(Generator generator, String attributeName,
// TODO remove only for switch
private void changeLineAttribute(Line line, String attributeName, Object attributeValue, Reporter reporter) {
if (attributeName.equals("branchStatus")) {
line.newExtension(BranchStatusAdder.class).withStatus(BranchStatus.Status.valueOf((String) attributeValue)).add();
line.newExtension(OperatingStatusAdder.class).withStatus(OperatingStatus.Status.valueOf((String) attributeValue)).add();
reporter.report(Report.builder()
.withKey("lineStatusChanged")
.withDefaultMessage("Branch with id=${id} status changed")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -374,15 +374,15 @@ public LineAdder createLineAdder(Network network, VoltageLevel voltageLevel1, Vo
.setB2(lineCreationInfos.getShuntSusceptance2() != null ? lineCreationInfos.getShuntSusceptance2() : 0.0);

// lineAdder completion by topology
setBranchAdderNodeOrBus(lineAdder, voltageLevel1, lineCreationInfos, Branch.Side.ONE, withSwitch1);
setBranchAdderNodeOrBus(lineAdder, voltageLevel2, lineCreationInfos, Branch.Side.TWO, withSwitch2);
setBranchAdderNodeOrBus(lineAdder, voltageLevel1, lineCreationInfos, TwoSides.ONE, withSwitch1);
setBranchAdderNodeOrBus(lineAdder, voltageLevel2, lineCreationInfos, TwoSides.TWO, withSwitch2);

return lineAdder;
}

void setBranchAdderNodeOrBus(BranchAdder<?, ?> branchAdder, VoltageLevel voltageLevel, BranchCreationInfos branchCreationInfos,
Branch.Side side, boolean withSwitch) {
String busOrBusbarSectionId = (side == Branch.Side.ONE) ? branchCreationInfos.getBusOrBusbarSectionId1() : branchCreationInfos.getBusOrBusbarSectionId2();
TwoSides side, boolean withSwitch) {
String busOrBusbarSectionId = (side == TwoSides.ONE) ? branchCreationInfos.getBusOrBusbarSectionId1() : branchCreationInfos.getBusOrBusbarSectionId2();
if (voltageLevel.getTopologyKind() == TopologyKind.BUS_BREAKER) {
setBranchAdderBusBreaker(branchAdder, voltageLevel, side, busOrBusbarSectionId);
} else {
Expand All @@ -392,19 +392,19 @@ void setBranchAdderNodeOrBus(BranchAdder<?, ?> branchAdder, VoltageLevel voltage
}
}

private void setBranchAdderBusBreaker(BranchAdder<?, ?> branchAdder, VoltageLevel voltageLevel, Branch.Side side, String busId) {
private void setBranchAdderBusBreaker(BranchAdder<?, ?> branchAdder, VoltageLevel voltageLevel, TwoSides side, String busId) {
Bus bus = getBusBreakerBus(voltageLevel, busId);

// complete the lineAdder
if (side == Branch.Side.ONE) {
if (side == TwoSides.ONE) {
branchAdder.setBus1(bus.getId()).setConnectableBus1(bus.getId());
} else {
branchAdder.setBus2(bus.getId()).setConnectableBus2(bus.getId());
}
}

private void setBranchAdderNodeBreaker(BranchAdder<?, ?> branchAdder, VoltageLevel voltageLevel,
BranchCreationInfos branchCreationInfos, Branch.Side side,
BranchCreationInfos branchCreationInfos, TwoSides side,
String currentBusBarSectionId) {
// create cell switches
String sideSuffix = side != null ? "_" + side.name() : "";
Expand All @@ -415,7 +415,7 @@ private void setBranchAdderNodeBreaker(BranchAdder<?, ?> branchAdder, VoltageLev
sideSuffix);

// complete the lineAdder
if (side == Branch.Side.ONE) {
if (side == TwoSides.ONE) {
branchAdder.setNode1(nodeNum);
} else {
branchAdder.setNode2(nodeNum);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,23 +98,15 @@ private ApplicationStatus apply(ModificationInfos modificationInfos, Network net
return getApplicationStatus(reporter);
}

@SuppressWarnings("squid:S1181")
private void apply(AbstractModification modification, Network network, Reporter subReporter) {
try {
// check input data but don't change the network
modification.check(network);

// init application context
modification.initApplicationContext(this);

// apply all changes on the network
modification.apply(network, subReporter);
} catch (Error e) {
// TODO remove this catch with powsybl 5.2.0
// Powsybl can raise Error
// Ex: java.lang.AssertionError: The voltage level 'vlId' cannot be removed because of a remaining LINE
throw new PowsyblException(e);
}
// check input data but don't change the network
modification.check(network);

// init application context
modification.initApplicationContext(this);

// apply all changes on the network
modification.apply(network, subReporter);
}

private void handleException(NetworkModificationException.Type typeIfError, Reporter subReporter, Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ private static Set<String> getSubstationIds(Identifiable<?> identifiable) {
ids.add(((Branch<?>) identifiable).getTerminal1().getVoltageLevel().getSubstation().orElseThrow().getId());
ids.add(((Branch<?>) identifiable).getTerminal2().getVoltageLevel().getSubstation().orElseThrow().getId());
} else if (identifiable instanceof ThreeWindingsTransformer) {
ids.add(((ThreeWindingsTransformer) identifiable).getTerminal(ThreeWindingsTransformer.Side.ONE).getVoltageLevel().getSubstation().orElseThrow().getId());
ids.add(((ThreeWindingsTransformer) identifiable).getTerminal(ThreeWindingsTransformer.Side.TWO).getVoltageLevel().getSubstation().orElseThrow().getId());
ids.add(((ThreeWindingsTransformer) identifiable).getTerminal(ThreeWindingsTransformer.Side.THREE).getVoltageLevel().getSubstation().orElseThrow().getId());
ids.add(((ThreeWindingsTransformer) identifiable).getTerminal(ThreeSides.ONE).getVoltageLevel().getSubstation().orElseThrow().getId());
ids.add(((ThreeWindingsTransformer) identifiable).getTerminal(ThreeSides.TWO).getVoltageLevel().getSubstation().orElseThrow().getId());
ids.add(((ThreeWindingsTransformer) identifiable).getTerminal(ThreeSides.THREE).getVoltageLevel().getSubstation().orElseThrow().getId());
} else if (identifiable instanceof HvdcLine) {
ids.add(((HvdcLine) identifiable).getConverterStation1().getTerminal().getVoltageLevel().getSubstation().orElseThrow().getId());
ids.add(((HvdcLine) identifiable).getConverterStation2().getTerminal().getVoltageLevel().getSubstation().orElseThrow().getId());
Expand Down
Loading

0 comments on commit 306d506

Please sign in to comment.