Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Requested changes + fixes
Browse files Browse the repository at this point in the history
Signed-off-by: Ayoub LABIDI <ayoub.labidi@protonmail.com>
ayolab committed Sep 18, 2024
1 parent cef926d commit 7456ffc
Showing 43 changed files with 1,732 additions and 234 deletions.
6 changes: 1 addition & 5 deletions src/main/java/org/gridsuite/study/server/StudyConstants.java
Original file line number Diff line number Diff line change
@@ -55,15 +55,11 @@ private StudyConstants() {
public static final String REPORT_UUID = "reportUuid";
public static final String UUIDS = "uuids";
public static final String QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND = "errorOnGroupNotFound";
public static final String QUERY_PARAM_ERROR_ON_REPORT_NOT_FOUND = "errorOnReportNotFound";
public static final String QUERY_PARAM_REPORT_TYPE_FILTER = "reportTypeFilter";
public static final String QUERY_PARAM_REPORT_DEFAULT_NAME = "defaultName";
public static final String QUERY_PARAM_REPORT_SEVERITY_LEVEL = "severityLevels";
public static final String QUERY_PARAM_REPORT_NAME_FILTER = "reportNameFilter";
public static final String QUERY_PARAM_REPORT_NAME_MATCHING_TYPE = "reportNameMatchingType";
public static final String QUERY_PARAM_RECEIVER = "receiver";
public static final String QUERY_PARAM_REPORT_UUID = "reportUuid";
public static final String QUERY_PARAM_REPORTER_ID = "reporterId";
public static final String QUERY_PARAM_NODE_UUID = "nodeUuid";
public static final String QUERY_PARAM_REPORT_TYPE = "reportType";
public static final String HEADER_RECEIVER = "receiver";
public static final String HEADER_BUS_ID = "busId";
11 changes: 0 additions & 11 deletions src/main/java/org/gridsuite/study/server/StudyController.java
Original file line number Diff line number Diff line change
@@ -1054,17 +1054,6 @@ public ResponseEntity<List<Report>> getNodeReport(@Parameter(description = "Stud
return ResponseEntity.ok().contentType(MediaType.APPLICATION_JSON).body(studyService.getNodeReport(nodeUuid, reportId, severityLevels));
}

@GetMapping(value = "/studies/{studyUuid}/nodes/{nodeUuid}/subreport", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "Get node sub-report")
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "The node subreport"), @ApiResponse(responseCode = "404", description = "The study/node is not found")})
public ResponseEntity<Report> getSubReport(@Parameter(description = "Study uuid") @PathVariable("studyUuid") UUID studyUuid,
@Parameter(description = "Node uuid") @PathVariable("nodeUuid") UUID nodeUuid,
@Parameter(description = "The report Id") @RequestParam(name = "reportId") String reportId,
@Parameter(description = "Severity levels") @RequestParam(name = "severityLevels", required = false) Set<String> severityLevels) {
studyService.assertIsStudyAndNodeExist(studyUuid, nodeUuid);
return ResponseEntity.ok().contentType(MediaType.APPLICATION_JSON).body(studyService.getSubReport(reportId, severityLevels));
}

@GetMapping(value = "/svg-component-libraries")
@Operation(summary = "Get a list of the available svg component libraries")
@ApiResponse(responseCode = "200", description = "The list of the available svg component libraries")
2 changes: 0 additions & 2 deletions src/main/java/org/gridsuite/study/server/dto/BuildInfos.java
Original file line number Diff line number Diff line change
@@ -29,8 +29,6 @@ public class BuildInfos {

private String destinationVariantId;

private UUID reportUuid;

private List<UUID> modificationGroupUuids = new ArrayList<>();

private List<ReportInfos> reportsInfos = new ArrayList<>();
Original file line number Diff line number Diff line change
@@ -25,4 +25,6 @@ public class DeleteStudyInfos {
private UUID caseUuid;

private List<NodeModificationInfos> nodesModificationInfos;

private List<UUID> reportsUuids;
}
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@
@Schema(description = "Report infos")
public record ReportInfos(
UUID reportUuid,
String reporterId
UUID nodeUuid
) {

}
Original file line number Diff line number Diff line change
@@ -12,8 +12,10 @@
import org.gridsuite.study.server.dto.NodeModificationInfos;
import org.gridsuite.study.server.networkmodificationtree.dto.AbstractNode;
import org.gridsuite.study.server.networkmodificationtree.dto.BuildStatus;
import org.gridsuite.study.server.networkmodificationtree.dto.NetworkModificationNode;
import org.gridsuite.study.server.networkmodificationtree.dto.NodeBuildStatus;
import org.gridsuite.study.server.networkmodificationtree.entities.AbstractNodeInfoEntity;
import org.gridsuite.study.server.networkmodificationtree.entities.NodeType;
import org.gridsuite.study.server.repository.networkmodificationtree.NodeInfoRepository;
import org.gridsuite.study.server.utils.PropertyUtils;

@@ -67,10 +69,14 @@ public UUID getComputationResultUuid(AbstractNode node, ComputationType computat
}

public Map<String, UUID> getComputationReports(AbstractNode node) {
return null;
return new HashMap<>();
}

public Map<UUID, UUID> getModificationReports(AbstractNode node) {
return new HashMap<>();
}

public UUID getReportUuid(AbstractNode node) {
return null;
}

@@ -87,8 +93,11 @@ public void invalidateNodeBuildStatus(AbstractNode node, List<UUID> changedNodes
}

public void createNodeInfo(AbstractNode nodeInfo) {
if (nodeInfo.getReportUuid() == null) {
nodeInfo.setReportUuid(UUID.randomUUID());
if (nodeInfo.getType() == NodeType.NETWORK_MODIFICATION) {
NetworkModificationNode node = (NetworkModificationNode) nodeInfo;
if (node.getModificationReports() == null) {
node.setModificationReports(Map.of(node.getId(), UUID.randomUUID()));
}
}
nodeInfoRepository.save(toEntity(nodeInfo));
}
@@ -106,7 +115,6 @@ protected U completeNodeInfo(AbstractNodeInfoEntity nodeInfoEntity, U node) {
node.setName(nodeInfoEntity.getName());
node.setDescription(nodeInfoEntity.getDescription());
node.setReadOnly(nodeInfoEntity.getReadOnly());
node.setReportUuid(nodeInfoEntity.getReportUuid());
return node;
}

@@ -115,7 +123,6 @@ protected T completeEntityNodeInfo(AbstractNode node, T entity) {
entity.setName(node.getName());
entity.setDescription(node.getDescription());
entity.setReadOnly(node.getReadOnly());
entity.setReportUuid(node.getReportUuid());
return entity;
}

@@ -151,10 +158,6 @@ public UUID getModificationGroupUuid(UUID nodeUuid) {
return getModificationGroupUuid(getNode(nodeUuid));
}

public UUID getReportUuid(UUID nodeUuid) {
return getNode(nodeUuid).getReportUuid();
}

public void updateComputationResultUuid(UUID nodeUuid, UUID computationResultUuid, ComputationType computationType) {
updateComputationResultUuid(getNode(nodeUuid), computationResultUuid, computationType);
}
@@ -171,6 +174,10 @@ public Map<UUID, UUID> getModificationReports(UUID nodeUuid) {
return getModificationReports(getNode(nodeUuid));
}

public UUID getReportUuid(UUID nodeUuid) {
return getReportUuid(getNode(nodeUuid));
}

public void updateComputationReportUuid(UUID nodeUuid, UUID reportUuid, ComputationType computationType) {
updateComputationReportUuid(getNode(nodeUuid), reportUuid, computationType);
}
Original file line number Diff line number Diff line change
@@ -137,6 +137,11 @@ public Map<UUID, UUID> getModificationReports(AbstractNode node) {
return ((NetworkModificationNode) node).getModificationReports();
}

@Override
public UUID getReportUuid(AbstractNode node) {
return ((NetworkModificationNode) node).getModificationReports().get(node.getId());
}

@Override
public void setModificationReports(AbstractNode node, Map<UUID, UUID> modificationReports) {
((NetworkModificationNode) node).setModificationReports(modificationReports);
@@ -201,7 +206,7 @@ public void invalidateNodeBuildStatus(AbstractNode node, List<UUID> changedNodes

modificationNode.setNodeBuildStatus(NodeBuildStatus.from(BuildStatus.NOT_BUILT));
modificationNode.setVariantId(UUID.randomUUID().toString());
modificationNode.setReportUuid(UUID.randomUUID());
modificationNode.setModificationReports(Map.of(modificationNode.getId(), UUID.randomUUID()));
updateNode(modificationNode, changedNodes);
}

@@ -212,7 +217,6 @@ public NodeModificationInfos getNodeModificationInfos(AbstractNode node) {
.id(networkModificationNode.getId())
.modificationGroupUuid(networkModificationNode.getModificationGroupUuid())
.variantId(networkModificationNode.getVariantId())
.reportUuid(networkModificationNode.getReportUuid())
.loadFlowUuid(networkModificationNode.getLoadFlowResultUuid())
.securityAnalysisUuid(networkModificationNode.getSecurityAnalysisResultUuid())
.sensitivityAnalysisUuid(networkModificationNode.getSensitivityAnalysisResultUuid())
@@ -222,6 +226,7 @@ public NodeModificationInfos getNodeModificationInfos(AbstractNode node) {
.voltageInitUuid(networkModificationNode.getVoltageInitResultUuid())
.dynamicSimulationUuid(networkModificationNode.getDynamicSimulationResultUuid())
.stateEstimationUuid(networkModificationNode.getStateEstimationResultUuid())
.reportUuid(networkModificationNode.getModificationReports().get(networkModificationNode.getId()))
.build();
}
}
Original file line number Diff line number Diff line change
@@ -7,6 +7,8 @@

package org.gridsuite.study.server.networkmodificationtree;

import java.util.UUID;

import org.gridsuite.study.server.dto.NodeModificationInfos;
import org.gridsuite.study.server.networkmodificationtree.dto.AbstractNode;
import org.gridsuite.study.server.networkmodificationtree.dto.RootNode;
@@ -24,12 +26,13 @@ public RootNodeInfoRepositoryProxy(RootNodeInfoRepository rootNodeInfoRepository
@Override
public RootNodeInfoEntity toEntity(AbstractNode node) {
var rootNodeInfoEntity = new RootNodeInfoEntity();
rootNodeInfoEntity.setReportUuid(((RootNode) node).getReportUuid());
return completeEntityNodeInfo(node, rootNodeInfoEntity);
}

@Override
public RootNode toDto(RootNodeInfoEntity node) {
return completeNodeInfo(node, new RootNode(null));
return completeNodeInfo(node, new RootNode(null, node.getReportUuid()));
}

@Override
@@ -39,10 +42,16 @@ public String getVariantId(AbstractNode node) {

@Override
public NodeModificationInfos getNodeModificationInfos(AbstractNode node) {
RootNode rootNode = (RootNode) node;
return NodeModificationInfos.builder()
.id(node.getId())
.id(rootNode.getId())
.variantId("") // we will use the network initial variant
.reportUuid(node.getReportUuid())
.reportUuid(rootNode.getReportUuid())
.build();
}

@Override
public UUID getReportUuid(AbstractNode node) {
return ((RootNode) node).getReportUuid();
}
}
Original file line number Diff line number Diff line change
@@ -6,7 +6,6 @@
*/
package org.gridsuite.study.server.networkmodificationtree.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -51,8 +50,5 @@ public abstract class AbstractNode {

Boolean readOnly;

@JsonIgnore
private UUID reportUuid;

NodeType type;
}
Original file line number Diff line number Diff line change
@@ -28,6 +28,8 @@
public class RootNode extends AbstractNode {
UUID studyId;

UUID reportUuid;

@Override
public NodeType getType() {
return NodeType.ROOT;
Original file line number Diff line number Diff line change
@@ -49,7 +49,4 @@ public UUID getId() {

@Column
Boolean readOnly;

@Column
UUID reportUuid;
}
Original file line number Diff line number Diff line change
@@ -11,6 +11,9 @@
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.UUID;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;

@@ -23,4 +26,6 @@
@Entity
@Table(name = "RootNodeInfo")
public class RootNodeInfoEntity extends AbstractNodeInfoEntity {
@Column
private UUID reportUuid;
}
Original file line number Diff line number Diff line change
@@ -75,7 +75,7 @@ public UUID runLoadFlow(UUID studyUuid, UUID nodeUuid, UUID parametersUuid, UUID
.fromPath(DELIMITER + LOADFLOW_API_VERSION + "/networks/{networkUuid}/run-and-save")
.queryParam(QUERY_PARAM_RECEIVER, receiver)
.queryParam(QUERY_PARAM_REPORT_UUID, reportUuid.toString())
.queryParam(QUERY_PARAM_REPORTER_ID, nodeUuid.toString())
.queryParam(QUERY_PARAM_NODE_UUID, nodeUuid.toString())
.queryParam(QUERY_PARAM_REPORT_TYPE, StudyService.ReportType.LOAD_FLOW.reportKey);
if (parametersUuid != null) {
uriComponentsBuilder.queryParam("parametersUuid", parametersUuid.toString());
Original file line number Diff line number Diff line change
@@ -51,7 +51,7 @@ public class NetworkModificationService {
private static final String NETWORK_MODIFICATIONS_COUNT_PATH = "network-modifications-count";
private static final String NETWORK_UUID = "networkUuid";
private static final String REPORT_UUID = "reportUuid";
private static final String REPORTER_ID = "reporterId";
private static final String NODE_UUID = "nodeUuid";
private static final String VARIANT_ID = "variantId";
private static final String QUERY_PARAM_ACTION = "action";
private final NetworkService networkStoreService;
@@ -148,7 +148,7 @@ public Optional<NetworkModificationResult> createModification(UUID studyUuid,
String createModificationAttributes,
UUID groupUuid,
String variantId, UUID reportUuid,
String reporterId) {
UUID nodeUuid) {
Optional<NetworkModificationResult> result;
Objects.requireNonNull(studyUuid);
Objects.requireNonNull(createModificationAttributes);
@@ -160,7 +160,7 @@ public Optional<NetworkModificationResult> createModification(UUID studyUuid,
.queryParam(NETWORK_UUID, networkUuid)
.queryParam(GROUP_UUID, groupUuid)
.queryParam(REPORT_UUID, reportUuid)
.queryParam(REPORTER_ID, reporterId);
.queryParam(NODE_UUID, nodeUuid);
if (!StringUtils.isBlank(variantId)) {
uriComponentsBuilder.queryParam(QUERY_PARAM_VARIANT_ID, variantId);
}
@@ -318,7 +318,7 @@ public Optional<NetworkModificationResult> moveModifications(UUID originGroupUui
.queryParam(QUERY_PARAM_ACTION, ModificationsActionType.MOVE.name())
.queryParam(NETWORK_UUID, networkUuid)
.queryParam(REPORT_UUID, nodeInfos.getReportUuid())
.queryParam(REPORTER_ID, nodeInfos.getId())
.queryParam(NODE_UUID, nodeInfos.getId())
.queryParam(VARIANT_ID, nodeInfos.getVariantId())
.queryParam("originGroupUuid", originGroupUuid)
.queryParam("build", buildTargetNode);
@@ -341,7 +341,7 @@ public Optional<NetworkModificationResult> createModifications(List<UUID> modifi
.queryParam(QUERY_PARAM_ACTION, action.name())
.queryParam(NETWORK_UUID, networkUuid)
.queryParam(REPORT_UUID, nodeInfos.getReportUuid())
.queryParam(REPORTER_ID, nodeInfos.getId())
.queryParam(NODE_UUID, nodeInfos.getId())
.queryParam(VARIANT_ID, nodeInfos.getVariantId());

HttpEntity<String> httpEntity = getModificationsUuidBody(modificationUuidList);
@@ -376,7 +376,7 @@ public Optional<NetworkModificationResult> duplicateModificationsInGroup(UUID or
var path = UriComponentsBuilder.fromPath(GROUP_PATH + DELIMITER + "duplications")
.queryParam(NETWORK_UUID, networkUuid)
.queryParam(REPORT_UUID, nodeInfos.getReportUuid())
.queryParam(REPORTER_ID, nodeInfos.getId())
.queryParam(NODE_UUID, nodeInfos.getId())
.queryParam(VARIANT_ID, nodeInfos.getVariantId())
.queryParam("duplicateFrom", originGroupUuid);

Loading

0 comments on commit 7456ffc

Please sign in to comment.