From: yuki Date: Tue, 5 Nov 2013 08:36:41 +0000 (+0900) Subject: 連想ノートリストに、ローカルに存在しないノートとアクティブでないノートが含まれていた問題を修正した X-Git-Tag: version0.4~1^2~7 X-Git-Url: http://git.sourceforge.jp/view?p=neighbornote%2FNeighborNote.git;a=commitdiff_plain;h=10d17d8a691082e95109484b417fd622d53eb1fe;ds=sidebyside 連想ノートリストに、ローカルに存在しないノートとアクティブでないノートが含まれていた問題を修正した --- diff --git a/src/cx/fbn/nevernote/gui/RensoNoteList.java b/src/cx/fbn/nevernote/gui/RensoNoteList.java index 2704a73..c3f829b 100644 --- a/src/cx/fbn/nevernote/gui/RensoNoteList.java +++ b/src/cx/fbn/nevernote/gui/RensoNoteList.java @@ -160,32 +160,32 @@ public class RensoNoteList extends QListWidget { // browseHistory HashMap browseHistory = conn.getHistoryTable().getBehaviorHistory("browse", guid); addWeight(browseHistory, Global.getBrowseWeight()); - mergedHistory = mergeHistory(browseHistory, mergedHistory); + mergedHistory = mergeHistory(filterHistory(browseHistory), mergedHistory); // copy&pasteHistory HashMap copyAndPasteHistory = conn.getHistoryTable().getBehaviorHistory("copy & paste", guid); addWeight(copyAndPasteHistory, Global.getCopyPasteWeight()); - mergedHistory = mergeHistory(copyAndPasteHistory, mergedHistory); + mergedHistory = mergeHistory(filterHistory(copyAndPasteHistory), mergedHistory); // addNewNoteHistory HashMap addNewNoteHistory = conn.getHistoryTable().getBehaviorHistory("addNewNote", guid); addWeight(addNewNoteHistory, Global.getAddNewNoteWeight()); - mergedHistory = mergeHistory(addNewNoteHistory, mergedHistory); + mergedHistory = mergeHistory(filterHistory(addNewNoteHistory), mergedHistory); // rensoItemClickHistory HashMap rensoItemClickHistory = conn.getHistoryTable().getBehaviorHistory("rensoItemClick", guid); addWeight(rensoItemClickHistory, Global.getRensoItemClickWeight()); - mergedHistory = mergeHistory(rensoItemClickHistory, mergedHistory); + mergedHistory = mergeHistory(filterHistory(rensoItemClickHistory), mergedHistory); // sameTagHistory HashMap sameTagHistory = conn.getHistoryTable().getBehaviorHistory("sameTag", guid); addWeight(sameTagHistory, Global.getSameTagWeight()); - mergedHistory = mergeHistory(sameTagHistory, mergedHistory); + mergedHistory = mergeHistory(filterHistory(sameTagHistory), mergedHistory); // sameNotebookNoteHistory HashMap sameNotebookHistory = conn.getHistoryTable().getBehaviorHistory("sameNotebook", guid); addWeight(sameNotebookHistory, Global.getSameNotebookWeight()); - mergedHistory = mergeHistory(sameNotebookHistory, mergedHistory); + mergedHistory = mergeHistory(filterHistory(sameNotebookHistory), mergedHistory); logger.log(logger.EXTREME, "Leaving RensoNoteList.calculateHistory"); } @@ -436,7 +436,7 @@ public class RensoNoteList extends QListWidget { enRelatedNotes.put(relatedGuid, Global.getENRelatedNotesWeight()); } - mergedHistory = mergeHistory(enRelatedNotes, mergedHistory); + mergedHistory = mergeHistory(filterHistory(enRelatedNotes), mergedHistory); logger.log(logger.EXTREME, "Leaving RensoNoteList.addENRelatedNotes"); } @@ -460,4 +460,19 @@ public class RensoNoteList extends QListWidget { public String getGuid() { return guid; } + + // ローカルに存在していて、かつアクティブなノートだけを返す + private HashMap filterHistory(HashMap sourceHistory) { + HashMap dstHistory = new HashMap(); + + for (String guid : sourceHistory.keySet()) { + if (conn.getNoteTable().exists(guid)) { + if (conn.getNoteTable().getNote(guid, false, false, false, false, false).isActive()) { + dstHistory.put(guid, sourceHistory.get(guid)); + } + } + } + + return dstHistory; + } }