@@ -318,14 +318,17 @@ public ObservableValue<String> call(CellDataFeatures<AlarmLogTableItem, String>
318318 searchParameters .put (Keys .ENDTIME , TimeParser .format (java .time .Duration .ZERO ));
319319 advancedSearchViewController .setSearchParameters (searchParameters );
320320
321- query .setText (searchParameters .entrySet ().stream ().sorted (Map .Entry .comparingByKey ()).map ((e ) -> {
322- return e .getKey ().getName ().trim () + "=" + e .getValue ().trim ();
323- }).collect (Collectors .joining ("&" )));
324-
325- searchParameters .addListener ((MapChangeListener <Keys , String >) change -> query .setText (searchParameters .entrySet ().stream ()
326- .sorted (Entry .comparingByKey ())
327- .map ((e ) -> e .getKey ().getName ().trim () + "=" + e .getValue ().trim ())
328- .collect (Collectors .joining ("&" ))));
321+ query .setText (
322+ searchParameters .entrySet ().stream ()
323+ .sorted (Map .Entry .comparingByKey ())
324+ .map ((e ) -> e .getKey ().getName ().trim () + "=" + e .getValue ().trim ())
325+ .collect (Collectors .joining ("&" )));
326+
327+ searchParameters .addListener (
328+ (MapChangeListener <Keys , String >) change -> query .setText (searchParameters .entrySet ().stream ()
329+ .sorted (Entry .comparingByKey ())
330+ .map ((e ) -> e .getKey ().getName ().trim () + "=" + e .getValue ().trim ())
331+ .collect (Collectors .joining ("&" ))));
329332
330333 query .setOnKeyPressed (keyEvent -> {
331334 if (keyEvent .getCode () == KeyCode .ENTER ) {
@@ -384,6 +387,7 @@ public void setIsNodeTable(Boolean isNodeTable) {
384387 } else {
385388 searchParameters .put (Keys .PV , "*" );
386389 }
390+ searchParameters .put (Keys .ROOT , "*" );
387391 searchParameters .put (Keys .MESSAGE , "*" );
388392 searchParameters .put (Keys .SEVERITY , "*" );
389393 searchParameters .put (Keys .CURRENTSEVERITY , "*" );
@@ -479,16 +483,21 @@ public void resize() {
479483 }
480484 }
481485
486+ Map <String , Keys > lookup = Arrays .stream (Keys .values ()).collect (Collectors .toMap (Keys ::getName , k -> {
487+ return k ;
488+ }));
489+
482490 @ FXML
483491 void updateQuery () {
484- Arrays .asList (query .getText ().split ("&" )).forEach (s -> {
492+ List <String > searchTerms = Arrays .asList (query .getText ().split ("&" ));
493+ searchTerms .stream ().forEach (s -> {
485494 String key = s .split ("=" )[0 ];
486- for (Map .Entry <Keys , String > entry : searchParameters .entrySet ()) {
487- if (entry .getKey ().getName ().equals (key )) {
488- searchParameters .put (entry .getKey (), s .split ("=" )[1 ]);
489- }
495+ String value = s .split ("=" )[1 ];
496+ if (lookup .containsKey (key )) {
497+ searchParameters .put (lookup .get (key ), value );
490498 }
491499 });
500+
492501 }
493502
494503 @ FXML
0 commit comments