@@ -362,45 +362,47 @@ public AnchorPane getPane() {
362362 * @param queryString Query string containing search terms and values
363363 */
364364 private void updateControls (String queryString ) {
365- Map <String , String > queryStringParameters = LogbookQueryUtil .parseHumanReadableQueryString (queryString );
366- queryStringParameters .entrySet ().forEach (entry -> {
367- Keys keys = Keys .findKey (entry .getKey ());
368- if (keys != null ) {
369- if (keys .equals (Keys .LEVEL )) {
370- List <String > validatedLevels = getValidatedLevelsSelection (entry .getValue ());
371- if (validatedLevels .isEmpty ()) {
372- searchParameters .levelsProperty ().setValue (null );
373- } else {
374- String selectedLevels =
375- String .join ("," , validatedLevels );
376- searchParameters .levelsProperty ().setValue (selectedLevels );
365+ JobManager .schedule ("Update controls from server data" , monitor -> {
366+ Map <String , String > queryStringParameters = LogbookQueryUtil .parseHumanReadableQueryString (queryString );
367+ queryStringParameters .entrySet ().forEach (entry -> {
368+ Keys keys = Keys .findKey (entry .getKey ());
369+ if (keys != null ) {
370+ if (keys .equals (Keys .LEVEL )) {
371+ List <String > validatedLevels = getValidatedLevelsSelection (entry .getValue ());
372+ if (validatedLevels .isEmpty ()) {
373+ searchParameters .levelsProperty ().setValue (null );
374+ } else {
375+ String selectedLevels =
376+ String .join ("," , validatedLevels );
377+ searchParameters .levelsProperty ().setValue (selectedLevels );
378+ }
379+ levelsContextMenu .getItems ().forEach (mi -> {
380+ LevelSelectionMenuItem levelSelectionMenuItem =
381+ (LevelSelectionMenuItem ) mi ;
382+ levelSelectionMenuItem .setSelected (validatedLevels .contains (levelSelectionMenuItem .getCheckBox ().getText ()));
383+ });
384+ } else if (keys .equals (Keys .LOGBOOKS )) {
385+ List <String > validatedLogbookNames = getValidatedLogbooksSelection (entry .getValue ());
386+ if (validatedLogbookNames .isEmpty ()) {
387+ searchParameters .logbooksProperty ().setValue (null );
388+ } else {
389+ String selectedLogbooks =
390+ String .join ("," , validatedLogbookNames );
391+ searchParameters .logbooksProperty ().setValue (selectedLogbooks );
392+ }
393+ logbookSearchPopover .setSelected (validatedLogbookNames );
394+ } else if (keys .equals (Keys .TAGS )) {
395+ List <String > validatedTagsNames = getValidatedTagsSelection (entry .getValue ());
396+ if (validatedTagsNames .isEmpty ()) {
397+ searchParameters .tagsProperty ().setValue (null );
398+ } else {
399+ String selectedTags = String .join ("," , validatedTagsNames );
400+ searchParameters .tagsProperty ().setValue (selectedTags );
401+ }
402+ tagSearchPopover .setSelected (validatedTagsNames );
377403 }
378- levelsContextMenu .getItems ().forEach (mi -> {
379- LevelSelectionMenuItem levelSelectionMenuItem =
380- (LevelSelectionMenuItem ) mi ;
381- levelSelectionMenuItem .setSelected (validatedLevels .contains (levelSelectionMenuItem .getCheckBox ().getText ()));
382- });
383- } else if (keys .equals (Keys .LOGBOOKS )) {
384- List <String > validatedLogbookNames = getValidatedLogbooksSelection (entry .getValue ());
385- if (validatedLogbookNames .isEmpty ()) {
386- searchParameters .logbooksProperty ().setValue (null );
387- } else {
388- String selectedLogbooks =
389- String .join ("," , validatedLogbookNames );
390- searchParameters .logbooksProperty ().setValue (selectedLogbooks );
391- }
392- logbookSearchPopover .setSelected (validatedLogbookNames );
393- } else if (keys .equals (Keys .TAGS )) {
394- List <String > validatedTagsNames = getValidatedTagsSelection (entry .getValue ());
395- if (validatedTagsNames .isEmpty ()) {
396- searchParameters .tagsProperty ().setValue (null );
397- } else {
398- String selectedTags = String .join ("," , validatedTagsNames );
399- searchParameters .tagsProperty ().setValue (selectedTags );
400- }
401- tagSearchPopover .setSelected (validatedTagsNames );
402404 }
403- }
405+ });
404406 });
405407 }
406408
0 commit comments