@@ -289,14 +289,14 @@ private String buildTombstonedEquipmentSearchQuery(UUID networkUuid, String vari
289
289
return String .format (NETWORK_UUID + ":(%s) AND " + VARIANT_ID + ":(%s)" , networkUuid , variantId );
290
290
}
291
291
292
- private BoolQuery buildSearchEquipmentsQuery (String userInput , EquipmentInfosService .FieldSelector fieldSelector , UUID networkUuid , String initialVariantId , String variantId , String equipmentType ) {
292
+ private BoolQuery buildSearchEquipmentsQuery (String userInput , EquipmentInfosService .FieldSelector fieldSelector , UUID networkUuid , String variantId , String equipmentType ) {
293
293
// If search requires boolean logic or advanced text analysis, then use queryStringQuery.
294
294
// Otherwise, use wildcardQuery for simple text search.
295
295
WildcardQuery equipmentSearchQuery = Queries .wildcardQuery (fieldSelector == EquipmentInfosService .FieldSelector .NAME ? EQUIPMENT_NAME : EQUIPMENT_ID , "*" + escapeLucene (userInput ) + "*" );
296
296
TermQuery networkUuidSearchQuery = Queries .termQuery (NETWORK_UUID , networkUuid .toString ());
297
297
TermsQuery variantIdSearchQuery = variantId .equals (VariantManagerConstants .INITIAL_VARIANT_ID ) ?
298
- new TermsQuery .Builder ().field (VARIANT_ID ).terms (new TermsQueryField .Builder ().value (List .of (FieldValue .of (initialVariantId ))).build ()).build () :
299
- new TermsQuery .Builder ().field (VARIANT_ID ).terms (new TermsQueryField .Builder ().value (List .of (FieldValue .of (initialVariantId ), FieldValue .of (variantId ))).build ()).build ();
298
+ new TermsQuery .Builder ().field (VARIANT_ID ).terms (new TermsQueryField .Builder ().value (List .of (FieldValue .of (VariantManagerConstants . INITIAL_VARIANT_ID ))).build ()).build () :
299
+ new TermsQuery .Builder ().field (VARIANT_ID ).terms (new TermsQueryField .Builder ().value (List .of (FieldValue .of (VariantManagerConstants . INITIAL_VARIANT_ID ), FieldValue .of (variantId ))).build ()).build ();
300
300
301
301
BoolQuery .Builder boolQueryBuilder = new BoolQuery .Builder ()
302
302
.filter (
@@ -341,7 +341,9 @@ private List<EquipmentInfos> cleanRemovedEquipments(UUID networkUuid, String var
341
341
342
342
return equipmentInfos
343
343
.stream ()
344
- .filter (ei -> !removedEquipmentIdsInVariant .contains (ei .getId ()))
344
+ .filter (ei -> !removedEquipmentIdsInVariant .contains (ei .getId ()) ||
345
+ // If the equipment has been recreated after the creation of a deletion hypothesis
346
+ !ei .getVariantId ().equals (VariantManagerConstants .INITIAL_VARIANT_ID ))
345
347
.collect (Collectors .toList ());
346
348
}
347
349
@@ -354,7 +356,7 @@ public List<EquipmentInfos> searchEquipments(@lombok.NonNull UUID networkUuid, @
354
356
String effectiveVariantId = variantId .isEmpty () ? VariantManagerConstants .INITIAL_VARIANT_ID : variantId ;
355
357
356
358
BoolQuery query = buildSearchEquipmentsQuery (userInput , fieldSelector , networkUuid ,
357
- VariantManagerConstants . INITIAL_VARIANT_ID , variantId , equipmentType );
359
+ variantId , equipmentType );
358
360
List <EquipmentInfos > equipmentInfos = searchEquipments (query );
359
361
return variantId .equals (VariantManagerConstants .INITIAL_VARIANT_ID ) ? equipmentInfos : cleanModifiedAndRemovedEquipments (networkUuid , effectiveVariantId , equipmentInfos );
360
362
}
0 commit comments