/** * Will remove an old message if over the max size. * Use if it does not include a link. * Escapes '<' and '>' before queueing * * @return the message id */ public int addMessage(String message) { return addMessageNoEscape(message.replace("&", "&").replace("<", "<").replace(">", ">")); }
/** * Clear through this id * @since 0.9.33 */ public void clearMessages(int id) { _messages.clearThrough(id); }
/** newest last */ public List<UIMessages.Message> getMessages() { return _messages.getMessages(); }
int id = _messages.addMessageNoEscape(_t("Adding torrents in {0}", DataHelper.formatDuration2(delay))); try { Thread.sleep(delay); } catch (InterruptedException ie) {} _messages.clearThrough(id);
/** * The last stored message ID * * @since 0.9.33 */ public int getLastMessageID() { return _messages.getLastMessageID(); }
/** @since 0.9 */ public void clearMessages() { _messages.clear(); }
/** * For webapp. * @param ctxPath generally "/i2psnark" * @param ctxName generally "i2psnark" * @since 0.9.6 */ public SnarkManager(I2PAppContext ctx, String ctxPath, String ctxName) { _snarks = new ConcurrentHashMap<String, Snark>(); _magnets = new ConcurrentHashSet<String>(); _addSnarkLock = new Object(); _context = ctx; _contextPath = ctxPath; _contextName = ctxName; _log = _context.logManager().getLog(SnarkManager.class); _messages = new UIMessages(MAX_MESSAGES); _util = new I2PSnarkUtil(_context, ctxName); String cfile = ctxName + CONFIG_FILE_SUFFIX; File configFile = new File(cfile); if (!configFile.isAbsolute()) configFile = new File(_context.getConfigDir(), cfile); _configDir = migrateConfig(configFile); _configFile = new File(_configDir, CONFIG_FILE); _trackerMap = new ConcurrentHashMap<String, Tracker>(4); loadConfig(null); if (!ctx.isRouterContext()) Runtime.getRuntime().addShutdownHook(new Thread(new TempDeleter(_util.getTempDir()), "Snark Temp Dir Deleter")); }
private static void getMessages(List<String> msgs, StringBuilder buf) { if (msgs == null) return; for (int i = 0; i < msgs.size(); i++) { String msg = msgs.get(i); _messages.addMessageNoEscape(msg); buf.append(msg).append("\n"); } }
return generateNewEncryptionKey(); } else if ("Clear".equals(_action)) { _messages.clearThrough(_msgID); return ""; } else {
List<UIMessages.Message> msgs = _messages.getMessages(); if (!msgs.isEmpty()) { for (UIMessages.Message msg : msgs) {
/** * Use if it includes a link. * Does not escape '<' and '>' before queueing * @since 0.9.14.1 */ public void addMessageNoEscape(String message) { _messages.addMessageNoEscape(message); if (_log.shouldLog(Log.INFO)) _log.info("MSG: " + message); }