Skip to content

Commit

Permalink
Merge branch 'main' into fix_by_formula_modification_report
Browse files Browse the repository at this point in the history
  • Loading branch information
souissimai authored Jan 26, 2024
2 parents 64eb7ac + c41d2d1 commit 4bfb2c1
Show file tree
Hide file tree
Showing 16 changed files with 158 additions and 84 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ public class LoadCreationInfos extends InjectionCreationInfos {
private LoadType loadType;

@Schema(description = "Active power")
private double activePower;
private double p0;

@Schema(description = "Reactive power")
private double reactivePower;
private double q0;

@Override
public LoadCreationEntity toEntity() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ public class LoadModificationInfos extends InjectionModificationInfos {
private AttributeModification<LoadType> loadType;

@Schema(description = "Active power modification")
private AttributeModification<Double> constantActivePower;
private AttributeModification<Double> p0;

@Schema(description = "Reactive power modification")
private AttributeModification<Double> constantReactivePower;
private AttributeModification<Double> q0;

@Override
public LoadModificationEntity toEntity() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import org.gridsuite.modification.server.dto.ModificationInfos;

import jakarta.persistence.*;
import org.gridsuite.modification.server.entities.equipment.modification.FreePropertyEntity;
import org.springframework.util.CollectionUtils;

/**
* @author Franck Lecuyer <franck.lecuyer at rte-france.com>
Expand All @@ -27,11 +29,11 @@ public class LoadCreationEntity extends InjectionCreationEntity {
@Column(name = "loadType")
private LoadType loadType;

@Column(name = "activePower")
private double activePower;
@Column(name = "p0")
private double p0;

@Column(name = "reactivePower")
private double reactivePower;
@Column(name = "q0")
private double q0;

public LoadCreationEntity(@NonNull LoadCreationInfos loadCreationInfos) {
super(loadCreationInfos);
Expand All @@ -46,8 +48,8 @@ public void update(@NonNull ModificationInfos modificationInfos) {

private void assignAttributes(LoadCreationInfos loadCreationInfos) {
loadType = loadCreationInfos.getLoadType();
activePower = loadCreationInfos.getActivePower();
reactivePower = loadCreationInfos.getReactivePower();
p0 = loadCreationInfos.getP0();
q0 = loadCreationInfos.getQ0();
}

@Override
Expand All @@ -72,7 +74,12 @@ public LoadCreationInfos toModificationInfos() {
.connected(isConnected())
// load
.loadType(getLoadType())
.activePower(getActivePower())
.reactivePower(getReactivePower());
.p0(getP0())
.q0(getQ0())
// properties
.properties(CollectionUtils.isEmpty(getProperties()) ? null :
getProperties().stream()
.map(FreePropertyEntity::toInfos)
.toList());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import org.gridsuite.modification.server.dto.OperationType;

import jakarta.persistence.*;
import org.springframework.util.CollectionUtils;

/**
* @author Nicolas Noir <nicolas.noir at rte-france.com>
Expand All @@ -33,19 +34,19 @@ public class LoadModificationEntity extends InjectionModificationEntity {
@Enumerated(EnumType.STRING)
private OperationType loadTypeOp;

@Column(name = "activePowerValue")
private Double activePowerValue;
@Column(name = "p0_value")
private Double p0Value;

@Column(name = "activePowerOp")
@Column(name = "p0_op")
@Enumerated(EnumType.STRING)
private OperationType activePowerOp;
private OperationType p0Op;

@Column(name = "reactivePowerValue")
private Double reactivePowerValue;
@Column(name = "q0_value")
private Double q0Value;

@Column(name = "reactivePowerOp")
@Column(name = "q0_Op")
@Enumerated(EnumType.STRING)
private OperationType reactivePowerOp;
private OperationType q0Op;

public LoadModificationEntity(@NonNull LoadModificationInfos loadModificationInfos) {
super(loadModificationInfos);
Expand All @@ -61,10 +62,10 @@ public void update(@NonNull ModificationInfos modificationInfos) {
private void assignAttributes(LoadModificationInfos loadModificationInfos) {
this.loadTypeValue = loadModificationInfos.getLoadType() != null ? loadModificationInfos.getLoadType().getValue() : null;
this.loadTypeOp = loadModificationInfos.getLoadType() != null ? loadModificationInfos.getLoadType().getOp() : null;
this.activePowerValue = loadModificationInfos.getConstantActivePower() != null ? loadModificationInfos.getConstantActivePower().getValue() : null;
this.activePowerOp = loadModificationInfos.getConstantActivePower() != null ? loadModificationInfos.getConstantActivePower().getOp() : null;
this.reactivePowerValue = loadModificationInfos.getConstantReactivePower() != null ? loadModificationInfos.getConstantReactivePower().getValue() : null;
this.reactivePowerOp = loadModificationInfos.getConstantReactivePower() != null ? loadModificationInfos.getConstantReactivePower().getOp() : null;
this.p0Value = loadModificationInfos.getP0() != null ? loadModificationInfos.getP0().getValue() : null;
this.p0Op = loadModificationInfos.getP0() != null ? loadModificationInfos.getP0().getOp() : null;
this.q0Value = loadModificationInfos.getQ0() != null ? loadModificationInfos.getQ0().getValue() : null;
this.q0Op = loadModificationInfos.getQ0() != null ? loadModificationInfos.getQ0().getOp() : null;
}

@Override
Expand All @@ -83,7 +84,12 @@ public LoadModificationInfos toModificationInfos() {
.voltageLevelId(AttributeModification.toAttributeModification(getVoltageLevelIdValue(), getVoltageLevelIdOp()))
.busOrBusbarSectionId(AttributeModification.toAttributeModification(getBusOrBusbarSectionIdValue(), getBusOrBusbarSectionIdOp()))
.loadType(AttributeModification.toAttributeModification(getLoadTypeValue(), getLoadTypeOp()))
.constantActivePower(AttributeModification.toAttributeModification(getActivePowerValue(), getActivePowerOp()))
.constantReactivePower(AttributeModification.toAttributeModification(getReactivePowerValue(), getReactivePowerOp()));
.p0(AttributeModification.toAttributeModification(getP0Value(), getP0Op()))
.q0(AttributeModification.toAttributeModification(getQ0Value(), getQ0Op()))
// properties
.properties(CollectionUtils.isEmpty(getProperties()) ? null :
getProperties().stream()
.map(FreePropertyEntity::toInfos)
.toList());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ public void apply(Network network, Reporter subReporter) {
}
reportElementaryCreations(subReporter);
ModificationUtils.getInstance().disconnectInjection(modificationInfos, network.getLoad(modificationInfos.getEquipmentId()), subReporter);

// properties
Load load = network.getLoad(modificationInfos.getEquipmentId());
PropertiesUtils.applyProperties(load, subReporter, modificationInfos.getProperties());
}

private void reportElementaryCreations(Reporter subReporter) {
Expand All @@ -78,10 +82,10 @@ private void reportElementaryCreations(Reporter subReporter) {
}

ModificationUtils.getInstance()
.reportElementaryCreation(subReporter, modificationInfos.getActivePower(), "Active power");
.reportElementaryCreation(subReporter, modificationInfos.getP0(), "Active power");

ModificationUtils.getInstance()
.reportElementaryCreation(subReporter, modificationInfos.getReactivePower(), "Reactive power");
.reportElementaryCreation(subReporter, modificationInfos.getQ0(), "Reactive power");
}

private LoadAdder createLoadAdderInNodeBreaker(VoltageLevel voltageLevel, LoadCreationInfos loadCreationInfos) {
Expand All @@ -90,8 +94,8 @@ private LoadAdder createLoadAdderInNodeBreaker(VoltageLevel voltageLevel, LoadCr
.setId(loadCreationInfos.getEquipmentId())
.setName(loadCreationInfos.getEquipmentName())
.setLoadType(loadCreationInfos.getLoadType())
.setP0(loadCreationInfos.getActivePower())
.setQ0(loadCreationInfos.getReactivePower());
.setP0(loadCreationInfos.getP0())
.setQ0(loadCreationInfos.getQ0());
}

private Load createLoadInBusBreaker(VoltageLevel voltageLevel, LoadCreationInfos loadCreationInfos) {
Expand All @@ -104,7 +108,7 @@ private Load createLoadInBusBreaker(VoltageLevel voltageLevel, LoadCreationInfos
.setLoadType(loadCreationInfos.getLoadType())
.setBus(bus.getId())
.setConnectableBus(bus.getId())
.setP0(loadCreationInfos.getActivePower())
.setQ0(loadCreationInfos.getReactivePower()).add();
.setP0(loadCreationInfos.getP0())
.setQ0(loadCreationInfos.getQ0()).add();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,21 +40,24 @@ public void check(Network network) throws NetworkModificationException {
public void apply(Network network, Reporter subReporter) {
Load load = network.getLoad(modificationInfos.getEquipmentId());
// modify the load in the network
modifyLoad(load, modificationInfos, subReporter);
modifyLoad(load, subReporter);
}

private void modifyLoad(Load load, LoadModificationInfos loadModificationInfos, Reporter subReporter) {
private void modifyLoad(Load load, Reporter subReporter) {
subReporter.report(Report.builder()
.withKey("loadModification")
.withDefaultMessage("Load with id=${id} modified :")
.withValue("id", loadModificationInfos.getEquipmentId())
.withValue("id", modificationInfos.getEquipmentId())
.withSeverity(TypedValue.INFO_SEVERITY)
.build());

ModificationUtils.getInstance().applyElementaryModifications(load::setName, () -> load.getOptionalName().orElse("No value"), loadModificationInfos.getEquipmentName(), subReporter, "Name");
ModificationUtils.getInstance().applyElementaryModifications(load::setLoadType, load::getLoadType, loadModificationInfos.getLoadType(), subReporter, "Type");
ModificationUtils.getInstance().applyElementaryModifications(load::setP0, load::getP0, loadModificationInfos.getConstantActivePower(), subReporter, "Constant active power");
ModificationUtils.getInstance().applyElementaryModifications(load::setQ0, load::getQ0, loadModificationInfos.getConstantReactivePower(), subReporter, "Constant reactive power");
ModificationUtils.getInstance().applyElementaryModifications(load::setName, () -> load.getOptionalName().orElse("No value"), modificationInfos.getEquipmentName(), subReporter, "Name");
ModificationUtils.getInstance().applyElementaryModifications(load::setLoadType, load::getLoadType, modificationInfos.getLoadType(), subReporter, "Type");
ModificationUtils.getInstance().applyElementaryModifications(load::setP0, load::getP0, modificationInfos.getP0(), subReporter, "Constant active power");
ModificationUtils.getInstance().applyElementaryModifications(load::setQ0, load::getQ0, modificationInfos.getQ0(), subReporter, "Constant reactive power");

// properties
PropertiesUtils.applyProperties(load, subReporter, modificationInfos.getProperties());

// TODO connectivity modification
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
<changeSet author="souissimai (generated)" id="1705067177909-29">
<renameColumn tableName="load_creation"
columnDataType="float(53)"
oldColumnName="active_power"
newColumnName="p0" />
</changeSet>
<changeSet author="souissimai (generated)" id="1705067177909-30">
<renameColumn tableName="load_modification"
columnDataType="varchar(255)"
oldColumnName="active_power_op"
newColumnName="p0_op" />
</changeSet>
<changeSet author="souissimai (generated)" id="1705067177909-31">
<renameColumn tableName="load_modification"
columnDataType="float(53)"
oldColumnName="active_power_value"
newColumnName="p0_value" />
</changeSet>
<changeSet author="souissimai (generated)" id="1705067177909-32">
<renameColumn tableName="load_creation"
columnDataType="float(53)"
oldColumnName="reactive_power"
newColumnName="q0" />
</changeSet>
<changeSet author="souissimai (generated)" id="1705067177909-33">
<renameColumn tableName="load_modification"
columnDataType="varchar(255)"
oldColumnName="reactive_power_op"
newColumnName="q0_op" />
</changeSet>
<changeSet author="souissimai (generated)" id="1705067177909-34">
<renameColumn tableName="load_modification"
columnDataType="float(53)"
oldColumnName="reactive_power_value"
newColumnName="q0_value" />
</changeSet>
</databaseChangeLog>
4 changes: 3 additions & 1 deletion src/main/resources/db/changelog/db.changelog-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,9 @@ databaseChangeLog:
- include:
file: changesets/changelog_20231228T142443Z.xml
relativeToChangelogFile: true

- include:
file: changesets/changelog_20231228T111008Z.xml
relativeToChangelogFile: true
- include:
file: changesets/changelog_20240112T134559Z.xml
relativeToChangelogFile: true
Original file line number Diff line number Diff line change
Expand Up @@ -838,8 +838,8 @@ public void testGroupDuplication() throws Exception {
.voltageLevelId("v2")
.busOrBusbarSectionId("1B")
.loadType(LoadType.AUXILIARY)
.activePower(100.0)
.reactivePower(60.0)
.p0(100.0)
.q0(60.0)
.connectionDirection(ConnectablePosition.Direction.BOTTOM)
.connectionName("bottom")
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.extensions.ConnectablePosition;
import lombok.SneakyThrows;
import org.gridsuite.modification.server.dto.FreePropertyInfos;
import org.gridsuite.modification.server.dto.LoadCreationInfos;
import org.gridsuite.modification.server.dto.ModificationInfos;
import org.gridsuite.modification.server.utils.NetworkCreation;
import org.junit.jupiter.api.Tag;

import java.util.List;
import java.util.Map;
import java.util.UUID;

Expand All @@ -26,6 +28,9 @@

@Tag("IntegrationTest")
public class LoadCreationInBusBreakerTest extends AbstractNetworkModificationTest {
private static String PROPERTY_NAME = "property-name";
private static String PROPERTY_VALUE = "property-value";

@Override
protected Network createNetwork(UUID networkUuid) {
return NetworkCreation.createBusBreaker(networkUuid);
Expand All @@ -40,10 +45,11 @@ protected ModificationInfos buildModification() {
.voltageLevelId("v1")
.busOrBusbarSectionId("bus1")
.loadType(LoadType.FICTITIOUS)
.activePower(200.0)
.reactivePower(30.0)
.p0(200.0)
.q0(30.0)
.connectionName("top")
.connectionDirection(ConnectablePosition.Direction.TOP)
.properties(List.of(FreePropertyInfos.builder().name(PROPERTY_NAME).value(PROPERTY_VALUE).build()))
.build();
}

Expand All @@ -56,8 +62,8 @@ protected ModificationInfos buildModificationUpdate() {
.voltageLevelId("v1Edited")
.busOrBusbarSectionId("bus1Edited")
.loadType(LoadType.FICTITIOUS)
.activePower(300.0)
.reactivePower(50.0)
.p0(300.0)
.q0(50.0)
.connectionName("bottom")
.connectionDirection(ConnectablePosition.Direction.BOTTOM)
.build();
Expand All @@ -66,6 +72,7 @@ protected ModificationInfos buildModificationUpdate() {
@Override
protected void assertAfterNetworkModificationCreation() {
assertNotNull(getNetwork().getLoad("idLoad1"));
assertEquals(PROPERTY_VALUE, getNetwork().getLoad("idLoad1").getProperty(PROPERTY_NAME));
}

@Override
Expand Down
Loading

0 comments on commit 4bfb2c1

Please sign in to comment.