Skip to content

Commit ca49f74

Browse files
committed
Update controls from server data off UI thread
1 parent b1a471b commit ca49f74

File tree

1 file changed

+39
-37
lines changed

1 file changed

+39
-37
lines changed

app/logbook/olog/ui/src/main/java/org/phoebus/logbook/olog/ui/AdvancedSearchViewController.java

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)