Skip to content

Commit 7493c65

Browse files
authored
Add support for property filtering on substation equipment (#99)
Signed-off-by: David BRAQUART <[email protected]>
1 parent 73862eb commit 7493c65

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/main/java/org/gridsuite/filter/utils/expertfilter/ExpertFilterUtils.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public static <I extends Identifiable<I>> String getFieldValue(FieldType field,
5252
case BUS -> getBusFieldValue(field, (Bus) identifiable);
5353
case BUSBAR_SECTION -> getBusBarSectionFieldValue(field, (BusbarSection) identifiable);
5454
case BATTERY -> getBatteryFieldValue(field, propertyName, (Battery) identifiable);
55-
case SUBSTATION -> getSubstationFieldValue(field, (Substation) identifiable);
55+
case SUBSTATION -> getSubstationFieldValue(field, propertyName, (Substation) identifiable);
5656
case TWO_WINDINGS_TRANSFORMER -> getTwoWindingsTransformerFieldValue(field, propertyName, (TwoWindingsTransformer) identifiable);
5757
case STATIC_VAR_COMPENSATOR -> getStaticVarCompensatorFieldValue(field, propertyName, (StaticVarCompensator) identifiable);
5858
case DANGLING_LINE -> getDanglingLinesFieldValue(field, propertyName, (DanglingLine) identifiable);
@@ -313,9 +313,10 @@ private static String getHvdcConverterStationFieldValue(FieldType field, HvdcCon
313313
};
314314
}
315315

316-
private static String getSubstationFieldValue(FieldType field, Substation substation) {
316+
private static String getSubstationFieldValue(FieldType field, String propertyName, Substation substation) {
317317
return switch (field) {
318318
case COUNTRY -> String.valueOf(substation.getCountry().orElse(null));
319+
case SUBSTATION_PROPERTIES -> substation.getProperty(propertyName);
319320
default ->
320321
throw new PowsyblException(FIELD_AND_TYPE_NOT_IMPLEMENTED + " [" + field + "," + substation.getType() + "]");
321322
};

src/test/java/org/gridsuite/filter/expertfilter/PropertiesExpertRuleTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,12 +155,12 @@ private static Stream<Arguments> provideArgumentsForSubstationTest() {
155155

156156
return Stream.of(
157157
// --- IN --- //
158-
Arguments.of(IN, FieldType.FREE_PROPERTIES, "cvgRegion", List.of("Lille", "PARIS"), substation, true),
159-
Arguments.of(IN, FieldType.FREE_PROPERTIES, "cvgRegion", List.of("Paris"), substation, false),
158+
Arguments.of(IN, FieldType.SUBSTATION_PROPERTIES, "cvgRegion", List.of("Lille", "PARIS"), substation, true),
159+
Arguments.of(IN, FieldType.SUBSTATION_PROPERTIES, "cvgRegion", List.of("Paris"), substation, false),
160160

161161
// --- NOT_IN --- //
162-
Arguments.of(NOT_IN, FieldType.FREE_PROPERTIES, "cvgRegion", List.of("Lille", "PARIS"), substation, false),
163-
Arguments.of(NOT_IN, FieldType.FREE_PROPERTIES, "cvgRegion", List.of("Paris"), substation, true)
162+
Arguments.of(NOT_IN, FieldType.SUBSTATION_PROPERTIES, "cvgRegion", List.of("LILLE", "PARIS"), substation, false),
163+
Arguments.of(NOT_IN, FieldType.SUBSTATION_PROPERTIES, "cvgRegion", List.of("Paris"), substation, true)
164164
);
165165
}
166166

0 commit comments

Comments
 (0)