Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
import lombok.NoArgsConstructor;
import org.gridsuite.modification.server.entities.ModificationEntity;

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

/**
* @author Souissi Maissa <souissi.maissa at rte-france.com>
* @author Caroline Jeandat <caroline.jeandat at rte-france.com>
*/
@Getter
@NoArgsConstructor
Expand All @@ -27,21 +29,15 @@ public class ModificationsSearchResult {
@Schema(description = "Modification id")
private UUID modificationUuid;

@Schema(
description = "Message type"
)
@Schema(description = "Message type")
private String messageType;

@Schema(
description = "Impacted equipment ID"
)

private String impactedEquipmentId;
@Schema(
description = "Message values"
)
@Schema(description = "Message values")
private String messageValues;

@Schema(description = "List of impacted equipment IDs")
private List<String> impactedEquipmentIds;

public static ModificationsSearchResult.ModificationsSearchResultBuilder fromModificationEntity(ModificationEntity modificationEntity) {
return ModificationsSearchResult.builder()
.modificationUuid(modificationEntity.getId())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,6 @@ public Map<UUID, List<ModificationsSearchResult>> searchNetworkModifications(@No

List<ModificationsSearchResult> filteredSearchModificationsResult = rawSearchModificationInfos.stream()
.map(result -> findMatchingEquipmentResults(modificationEntitiesById.get(result.getModificationUuid()), result, userInput))
.flatMap(List::stream)
.toList();

return groupSearchResultsByGroupUuid(filteredSearchModificationsResult, rawSearchModificationInfos);
Expand Down Expand Up @@ -431,14 +430,13 @@ private Map<UUID, ModificationEntity> getModificationEntitiesById(List<Modificat
.collect(Collectors.toMap(ModificationEntity::getId, Function.identity()));
}

private List<ModificationsSearchResult> findMatchingEquipmentResults(
private ModificationsSearchResult findMatchingEquipmentResults(
ModificationEntity modificationEntity,
ModificationApplicationInfos matchedModification,
String userInput) {
Pattern pattern = Pattern.compile(Pattern.quote(stripAccents(userInput)), Pattern.CASE_INSENSITIVE);

List<ModificationsSearchResult> modificationSearchResults = new ArrayList<>();
Stream.of(
List<String> impactedEquipmentIds = Stream.of(
matchedModification.getCreatedEquipmentIds(),
matchedModification.getModifiedEquipmentIds(),
matchedModification.getDeletedEquipmentIds()
Expand All @@ -447,12 +445,11 @@ private List<ModificationsSearchResult> findMatchingEquipmentResults(
.flatMap(Collection::stream)
.distinct()
.filter(id -> pattern.matcher(stripAccents(id)).find())
.map(id -> ModificationsSearchResult.fromModificationEntity(modificationEntity)
.impactedEquipmentId(id)
.build())
.forEach(modificationSearchResults::add);
.toList();

return modificationSearchResults;
return ModificationsSearchResult.fromModificationEntity(modificationEntity)
.impactedEquipmentIds(impactedEquipmentIds)
.build();
}

private static String stripAccents(String input) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1979,7 +1979,8 @@ void testSearchModificationInfos() throws Exception {
});
assertEquals(1, networkModificationsResult.size());
modificationsSearchResult = networkModificationsResult.get(TEST_GROUP_ID);
assertEquals(4, modificationsSearchResult.size());
assertEquals(1, modificationsSearchResult.size());
assertEquals(4, modificationsSearchResult.getFirst().getImpactedEquipmentIds().size());
assertEquals("GENERATOR_CREATION", modificationsSearchResult.getFirst().getMessageType());
assertEquals("{\"equipmentId\":\"idGenerator1\"}", modificationsSearchResult.getFirst().getMessageValues());

Expand Down