Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
import org.gridsuite.modification.ModificationType;
import org.gridsuite.modification.NetworkModificationException;
import org.gridsuite.modification.dto.annotation.ModificationErrorTypeName;
import org.gridsuite.modification.dto.tabular.LimitSetsTabularModificationInfos;
import org.gridsuite.modification.dto.tabular.TabularCreationInfos;
import org.gridsuite.modification.dto.tabular.TabularModificationInfos;
import org.gridsuite.modification.modifications.AbstractModification;

import java.time.Instant;
Expand Down
36 changes: 0 additions & 36 deletions src/main/java/org/gridsuite/modification/dto/TabularBaseInfos.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,25 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.gridsuite.modification.dto;
package org.gridsuite.modification.dto.tabular;

import com.fasterxml.jackson.annotation.JsonTypeName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.gridsuite.modification.dto.annotation.ModificationErrorTypeName;
import org.gridsuite.modification.modifications.AbstractModification;
import org.gridsuite.modification.modifications.TabularModification;

/**
* @author Hugo Marcellin <hugo.marcelin at rte-france.com>
*/

@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@Data
@Schema(description = "Limit sets tabular modification")
@JsonTypeName("LIMIT_SETS_TABULAR_MODIFICATION")
@ModificationErrorTypeName("LIMIT_SETS_TABULAR_MODIFICATION_ERROR")
public class LimitSetsTabularModificationInfos extends TabularModificationInfos {
@Override
public AbstractModification toModification() {
return new TabularModification(this);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
Copyright (c) 2025, RTE (http://www.rte-france.com)
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.gridsuite.modification.dto.tabular;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.gridsuite.modification.ModificationType;
import org.gridsuite.modification.dto.ModificationInfos;
import org.springframework.lang.NonNull;

import java.util.List;

/**
* @author David Braquart <david.braquart_externe at rte-france.com>
*/
@SuperBuilder
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Data
@Schema(description = "Tabular abstract modification")
public class TabularBaseInfos extends ModificationInfos {

@Schema(description = "additional properties")
@JsonInclude(JsonInclude.Include.NON_NULL)
private List<TabularPropertyInfos> properties;

@Schema(description = "csv file name")
private String csvFilename;

@Schema(description = "Modification type")
@NonNull
private ModificationType modificationType;

@Schema(description = "modifications")
@JsonInclude(JsonInclude.Include.NON_NULL)
private List<ModificationInfos> modifications;

public String formatEquipmentTypeName() {
return switch (getModificationType()) {
case GENERATOR_CREATION, GENERATOR_MODIFICATION -> getModifications().size() > 1 ? "generators" : "generator";
case LOAD_CREATION, LOAD_MODIFICATION -> getModifications().size() > 1 ? "loads" : "load";
case SHUNT_COMPENSATOR_CREATION, SHUNT_COMPENSATOR_MODIFICATION -> getModifications().size() > 1 ? "shunt compensators" : "shunt compensator";
case BATTERY_CREATION, BATTERY_MODIFICATION -> getModifications().size() > 1 ? "batteries" : "battery";
case TWO_WINDINGS_TRANSFORMER_MODIFICATION -> getModifications().size() > 1 ? "two windings transformers" : "two windings transformer";
case VOLTAGE_LEVEL_MODIFICATION -> getModifications().size() > 1 ? "voltage levels" : "voltage level";
case LINE_MODIFICATION -> getModifications().size() > 1 ? "lines" : "line";
case SUBSTATION_MODIFICATION -> getModifications().size() > 1 ? "substations" : "substation";
default -> "equipments of unknown type";
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,20 @@
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.gridsuite.modification.dto;
package org.gridsuite.modification.dto.tabular;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.powsybl.commons.report.ReportNode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.gridsuite.modification.ModificationType;
import org.gridsuite.modification.dto.annotation.ModificationErrorTypeName;
import org.gridsuite.modification.modifications.AbstractModification;
import org.gridsuite.modification.modifications.TabularCreation;
import org.springframework.lang.NonNull;
import org.gridsuite.modification.modifications.tabular.TabularCreation;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
Expand All @@ -36,29 +32,11 @@
@ModificationErrorTypeName("TABULAR_CREATION_ERROR")
public class TabularCreationInfos extends TabularBaseInfos {

@Schema(description = "Creation type")
@NonNull
private ModificationType creationType;

@Schema(description = "Creations")
@JsonInclude(JsonInclude.Include.NON_NULL)
private List<ModificationInfos> creations;

@Override
public AbstractModification toModification() {
return new TabularCreation(this);
}

public String formatEquipmentTypeName() {
return switch (getCreationType()) {
case GENERATOR_CREATION -> getCreations().size() > 1 ? "generators" : "generator";
case LOAD_CREATION -> getCreations().size() > 1 ? "loads" : "load";
case SHUNT_COMPENSATOR_CREATION -> getCreations().size() > 1 ? "shunt compensators" : "shunt compensator";
case BATTERY_CREATION -> getCreations().size() > 1 ? "batteries" : "battery";
default -> "equipments of unknown type";
};
}

@Override
public ReportNode createSubReportNode(ReportNode reportNode) {
return reportNode.newReportNode()
Expand All @@ -70,7 +48,7 @@ public ReportNode createSubReportNode(ReportNode reportNode) {
@Override
public Map<String, String> getMapMessageValues() {
Map<String, String> mapMessageValues = new HashMap<>();
mapMessageValues.put("tabularCreationType", getCreationType().name());
mapMessageValues.put("tabularCreationType", getModificationType().name());
return mapMessageValues;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,63 +4,37 @@
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.gridsuite.modification.dto;
package org.gridsuite.modification.dto.tabular;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.powsybl.commons.report.ReportNode;
import lombok.*;
import org.gridsuite.modification.ModificationType;
import org.gridsuite.modification.dto.annotation.ModificationErrorTypeName;
import org.gridsuite.modification.modifications.AbstractModification;
import org.gridsuite.modification.modifications.TabularModification;
import org.springframework.lang.NonNull;
import org.gridsuite.modification.modifications.tabular.TabularModification;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.experimental.SuperBuilder;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @author Etienne Homer <etienne.homer at rte-france.com>
*/
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@Data
@Schema(description = "Tabular modification")
@JsonTypeName("TABULAR_MODIFICATION")
@ModificationErrorTypeName("TABULAR_MODIFICATION_ERROR")
public class TabularModificationInfos extends TabularBaseInfos {

@Schema(description = "Modification type")
@NonNull
private ModificationType modificationType;

@Schema(description = "modifications")
@JsonInclude(JsonInclude.Include.NON_NULL)
private List<ModificationInfos> modifications;

@Override
public AbstractModification toModification() {
return new TabularModification(this);
}

public String formatEquipmentTypeName() {
return switch (getModificationType()) {
case GENERATOR_MODIFICATION -> getModifications().size() > 1 ? "generators" : "generator";
case LOAD_MODIFICATION -> getModifications().size() > 1 ? "loads" : "load";
case TWO_WINDINGS_TRANSFORMER_MODIFICATION -> getModifications().size() > 1 ? "two windings transformers" : "two windings transformer";
case BATTERY_MODIFICATION -> getModifications().size() > 1 ? "batteries" : "battery";
case VOLTAGE_LEVEL_MODIFICATION -> getModifications().size() > 1 ? "voltage levels" : "voltage level";
case SHUNT_COMPENSATOR_MODIFICATION -> getModifications().size() > 1 ? "shunt compensators" : "shunt compensator";
case LINE_MODIFICATION -> getModifications().size() > 1 ? "lines" : "line";
case SUBSTATION_MODIFICATION -> getModifications().size() > 1 ? "substations" : "substation";
default -> "equipments of unknown type";
};
}

@Override
public ReportNode createSubReportNode(ReportNode reportNode) {
return reportNode.newReportNode()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.gridsuite.modification.dto;
package org.gridsuite.modification.dto.tabular;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
Expand Down
Loading