@Override protected void componentOpened() { super.componentOpened(); // Build out the tree. buildTree(); // Start listening to everything that affects our tree. SessionManager sm = SessionProvider.getSessionManager(); sm.addSessionManagerListener(SourcesView.this); Iterator<Session> iter = sm.iterateSessions(); while (iter.hasNext()) { Session session = iter.next(); PathManager pm = PathProvider.getPathManager(session); pm.addPropertyChangeListener(SourcesView.this); } }
@Override protected void componentClosed() { super.componentClosed(); // Clear the tree to release resources. buildRoot(Children.LEAF); // Stop listening to everything that affects our tree. SessionManager sm = SessionProvider.getSessionManager(); sm.removeSessionManagerListener(this); Iterator<Session> iter = sm.iterateSessions(); while (iter.hasNext()) { Session session = iter.next(); PathManager pm = PathProvider.getPathManager(session); pm.removePropertyChangeListener(this); } }