public static synchronized void deserialize() throws DatabaseException { for (String user : UserNodeKeywordsDAO.findUsers()) { Map<String, UserNodeKeywords> udkMap = new HashMap<String, UserNodeKeywords>(); for (UserNodeKeywords udk : UserNodeKeywordsDAO.findByUser(user)) { udkMap.put(udk.getNode(), udk); } userNodeKeywordsMgr.put(user, udkMap); } }
/** Add keyword */ public static synchronized void add(String user, String nodeUuid, String keyword) { log.info("add({}, {}, {})", new Object[] {user, nodeUuid, keyword}); Map<String, UserNodeKeywords> usrDocs = get(user); UserNodeKeywords udk = usrDocs.get(nodeUuid); if (udk == null) { udk = new UserNodeKeywords(); udk.setUser(user); udk.setNode(nodeUuid); usrDocs.put(nodeUuid, udk); userNodeKeywordsMgr.put(user, usrDocs); } udk.getKeywords().add(keyword); }
/** Remove keyword */ public static synchronized void remove(String user, String nodeUuid, String keyword) { Map<String, UserNodeKeywords> usrDocs = get(user); UserNodeKeywords udk = usrDocs.get(nodeUuid); if (udk == null) { udk = new UserNodeKeywords(); udk.setUser(user); udk.setNode(nodeUuid); usrDocs.put(nodeUuid, udk); userNodeKeywordsMgr.put(user, usrDocs); } udk.getKeywords().remove(keyword); if (udk.getKeywords().isEmpty()) { usrDocs.remove(nodeUuid); } }