public void exit(boolean kill) { log.debug("Exiting application"); PreferencesStore.savePreferences(); FileOutputStream out = null; File a = getApplicationPreferencesDirectory(); if (a != null) { try { File f = new File(getApplicationPreferencesDirectory(), getApplicationName() + ".mru"); ; if (log.isDebugEnabled()) { log.debug("Saving MRU to " + f.getAbsolutePath()); } out = new FileOutputStream(f); PrintWriter w = new PrintWriter(out, true); w.println(mruModel.getMRUList().toString()); } catch (IOException ioe) { log.error("Could not save MRU. ", ioe); } finally { IOUtil.closeStream(out); } } else { log.debug("Not saving preferences because no preferences directory is available."); } if (kill) { com.sshtools.common.util.ShutdownHooks.exit(kill); } }
/** * Creates a new SshToolsApplication object. * * @param panelClass * @param defaultContainerClass */ public SshToolsApplication(Class panelClass, Class defaultContainerClass) { this.panelClass = panelClass; this.defaultContainerClass = defaultContainerClass; additionalOptionsTabs = new java.util.ArrayList(); try { if (System.getSecurityManager() != null) { AccessController.checkPermission(new FilePermission("<<ALL FILES>>", "write")); } File a = getApplicationPreferencesDirectory(); if (a == null) { throw new AccessControlException("Application preferences directory not specified."); } InputStream in = null; MRUList mru = new MRUList(); try { File f = new File(a, getApplicationName() + ".mru"); if (f.exists()) { if (log.isDebugEnabled()) { log.debug("Loading MRU from " + f.getAbsolutePath()); } in = new FileInputStream(f); mru.reload(in); } else { if (log.isDebugEnabled()) { log.debug("MRU file " + f.getAbsolutePath() + " doesn't exist, creating empty list"); } } } catch (Exception e) { log.error("Could not load MRU list.", e); } finally { IOUtil.closeStream(in); } mruModel = new MRUListModel(); mruModel.setMRUList(mru); } catch (AccessControlException ace) { log.error("Could not load MRU.", ace); } }