X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;ds=sidebyside;f=src%2Fcx%2Ffbn%2Fnevernote%2Fsql%2FLinkedNotebookTable.java;h=937dca283e7f27d671e280a7ce17402ecff05799;hb=fdfe8fa8f2748670c2b510f73fc35df346a89159;hp=858911922fab57fdd3bdbe7a5af376fbe5cdda08;hpb=011ebc807178b8da14d78d43875fb4f133900975;p=neighbornote%2FNeighborNote.git diff --git a/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java b/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java index 8589119..937dca2 100644 --- a/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java +++ b/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java @@ -49,7 +49,9 @@ public class LinkedNotebookTable { "shareKey VarChar, " + "uri VarChar, " + "updateSequenceNumber Long," + - "icon blob, " + + "lastSequenceNumber Integer," + + "lastSequenceDate Long," + + "notebookGuid VarChar," + "isDirty boolean)")) logger.log(logger.HIGH, "Table LinkedNotebook creation FAILED!!!"); } @@ -59,15 +61,16 @@ public class LinkedNotebookTable { query.exec("Drop table LinkedNotebook"); } // Save an individual notebook - public void addNotebook(LinkedNotebook tempNotebook, boolean isDirty) { + public void addNotebook(LinkedNotebook tempNotebook, boolean isDirty) { boolean check; NSqlQuery query = new NSqlQuery(db.getConnection()); check = query.prepare("Insert Into LinkedNotebook (guid, shareName, username, " - +"shardId, shareKey, uri, updateSequenceNumber, isDirty) " + +"shardId, shareKey, uri, updateSequenceNumber, isDirty, lastSequenceNumber, " + + "lastSequenceDate, notebookGuid) " + " Values(" +":guid, :shareName, :username, " - +":shardId, :shareKey, :uri,:usn, :isDirty)"); + +":shardId, :shareKey, :uri,:usn, :isDirty, 0, 0, :notebookGuid)"); query.bindValue(":guid", tempNotebook.getGuid()); query.bindValue(":shareName", tempNotebook.getShareName()); query.bindValue(":username", tempNotebook.getUsername()); @@ -75,6 +78,7 @@ public class LinkedNotebookTable { query.bindValue(":shareKey", tempNotebook.getShareKey()); query.bindValue(":usn", tempNotebook.getUpdateSequenceNum()); query.bindValue(":uri", tempNotebook.getUri()); + query.bindValue(":notebookGuid", ""); if (isDirty) query.bindValue(":isDirty", true); @@ -85,13 +89,28 @@ public class LinkedNotebookTable { if (!check) { logger.log(logger.MEDIUM, "LinkedNotebook Table insert failed."); logger.log(logger.MEDIUM, query.lastError().toString()); + return; } } // Delete the notebook based on a guid public void expungeNotebook(String id, boolean needsSync) { boolean check; + + // First, delete any tags associated with this notebook + String notebookGuid = getNotebookGuid(id); + db.getNotebookTable().deleteLinkedTags(notebookGuid); + + // Now, delete any notes associated with this notebook + List notes = db.getNoteTable().getNotesByNotebook(notebookGuid); + for (int i=0; i getDirtyGuids() { + List index = new ArrayList(); + boolean check; + NSqlQuery query = new NSqlQuery(db.getConnection()); + + check = query.exec("Select guid from LinkedNotebook where isDirty = true"); + if (!check) + logger.log(logger.EXTREME, "LinkedNotebook SQL retrieve has failed in getdirtyIds."); + while (query.next()) { + index.add(query.valueString(0)); + } + return index; + } }