public void retrieve() { initGui(); if (this.dbConnection == null) return; if (this.reader == null) return; if (this.isRetrieving) return; if (!WbSwingUtilities.isConnectionIdle(this, this.dbConnection)) return; try { this.reset(); this.dbConnection.setBusy(true); this.isRetrieving = true; this.infoLabel.setText(ResourceMgr.getString("MsgRetrieving")); WbSwingUtilities.showWaitCursorOnWindow(this); DataStore ds = reader.getTriggers(currentCatalog, currentSchema); final DataStoreTableModel model = new DataStoreTableModel(ds); WbSwingUtilities.invoke( () -> { infoLabel.showObjectListInfo(model); triggerList.setModel(model, true); }); shouldRetrieve = false; } catch (OutOfMemoryError mem) { WbManager.getInstance().showOutOfMemoryError(); } catch (Throwable e) { LogMgr.logError("ProcedureListPanel.retrieve() thread", "Could not retrieve trigger list", e); } finally { this.isRetrieving = false; this.dbConnection.setBusy(false); WbSwingUtilities.showDefaultCursorOnWindow(this); } }