private void processMessages(final List<FormattedMqttMessage> messages) { final SearchMatcher matcher = getSearchMatcher(); final int firstIndex = store.getMessages().size() - 1; for (int i = firstIndex; i >= 0; i--) { processMessage(store.getMessages().get(i), matcher); if (firstIndex == i && !matcher.isValid()) { break; } } }
@FXML private void search() { clearMessages(); processMessages(store.getMessages()); updateTabTitle(); messagePaneController.setSearchOptions( new SearchOptions(searchField.getText(), caseSensitiveCheckBox.isSelected())); eventManager.navigateToFirst(foundMessageStore); }
@Override public void onFormatChange() { foundMessageStore.setFormatter(store.getFormatter()); eventManager.notifyFormatChanged(foundMessageStore); }
public void init() { foundMessageStore = new FilteredMessageStore<FormattedMqttMessage>( store.getMessageList(), store.getMessageList().getPreferredSize(), store.getMessageList().getMaxSize(), "search-" + store.getName(), store.getFormatter(), formattingManager, UiProperties.getSummaryMaxPayloadLength(configurationManager.getUiPropertyFile())); uniqueContentOnlyFilter = new UniqueContentOnlyFilter<FormattedMqttMessage>(store, store.getUiEventQueue()); uniqueContentOnlyFilter.setUniqueContentOnly( messageNavigationPaneController.getUniqueOnlyMenu().isSelected()); foundMessageStore.addMessageFilter(uniqueContentOnlyFilter); messageNavigationPaneController .getUniqueOnlyMenu() .setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { uniqueContentOnlyFilter.setUniqueContentOnly( messageNavigationPaneController.getUniqueOnlyMenu().isSelected()); // store.getFilteredMessageStore().runFilter(uniqueContentOnlyFilter); search(); eventManager.navigateToFirst(foundMessageStore); } }); messageListTablePaneController.setItems(foundMessages); messageListTablePaneController.setStore(foundMessageStore); messageListTablePaneController.setConnection(connection); messageListTablePaneController.setEventManager(eventManager); messageListTablePaneController.init(); eventManager.registerChangeMessageIndexObserver( messageListTablePaneController, foundMessageStore); messagePaneController.setStore(foundMessageStore); messagePaneController.setConfingurationManager(configurationManager); messagePaneController.setFormattingManager(formattingManager); messagePaneController.setStyled(true); messagePaneController.init(); // The search pane's message browser wants to know about changing indices and format eventManager.registerChangeMessageIndexObserver(messagePaneController, foundMessageStore); eventManager.registerFormatChangeObserver(messagePaneController, foundMessageStore); messageNavigationPaneController.setStore(foundMessageStore); messageNavigationPaneController.setEventManager(eventManager); messageNavigationPaneController.init(); // The search pane's message browser wants to know about show first, index change and update // index events eventManager.registerChangeMessageIndexObserver( messageNavigationPaneController, foundMessageStore); eventManager.registerChangeMessageIndexFirstObserver( messageNavigationPaneController, foundMessageStore); eventManager.registerIncrementMessageIndexObserver( messageNavigationPaneController, foundMessageStore); scriptManager = new MqttScriptManager(null, null, connection); refreshList(); eventManager.registerMessageAddedObserver(this, store.getMessageList()); eventManager.registerFormatChangeObserver(this, store); }