/** * Remove summary report * * <p>This method will close data access controller, it will also stop all ongoing tasks related * to this data access controller. * * @param controller data access controller */ public final synchronized void replaceSummaryReport( DataAccessController controller, DataAccessController replacement) { // remove summary report summaryReportTracker.remove(controller); // add new summary report for the new data access controller getSummaryReportModel(replacement); }
/** * Add a new data access controller, and set it foreground status * * @param controller data access controller * @param foreground foreground status */ public final synchronized void addDataAccessController( DataAccessController controller, boolean foreground) { // initialize summary report model getSummaryReportModel(controller); // set left control panel to visible setLeftControlPaneVisible(true); dataAccessMonitor.addDataAccessController(controller, foreground); }
/** * Replace one data access controller with another. * * @param original original data access controller * @param replacement replacement data access controller * @param cancelTasks whether to cancel the tasks associated with this controller */ public final synchronized void replaceDataAccessController( DataAccessController original, DataAccessController replacement, boolean cancelTasks) { if (cancelTasks) { // cancel all the tasks related to this data access controller TaskManager taskMgr = this.getTaskManager(); taskMgr.cancelTasksByOwner(original); } // remove gui component removeDataContentPane(original); // remove pride action removePrideAction(original); // remove summary report for the original data access controller summaryReportTracker.remove(original); // add new summary report for the new data access controller getSummaryReportModel(replacement); // replace dataAccessMonitor.replaceDataAccessController(original, replacement); }