From: Randy Baumgarte Date: Sun, 14 Nov 2010 13:37:14 +0000 (-0500) Subject: Upgrade to evernote-1.17. X-Git-Tag: version0.1.1~284 X-Git-Url: http://git.sourceforge.jp/view?p=neighbornote%2FNeighborNote.git;a=commitdiff_plain;h=011ebc807178b8da14d78d43875fb4f133900975 Upgrade to evernote-1.17. --- diff --git a/lib/evernote.jar b/lib/evernote.jar index 1e705c3..11b8960 100644 Binary files a/lib/evernote.jar and b/lib/evernote.jar differ diff --git a/src/cx/fbn/nevernote/sql/DatabaseConnection.java b/src/cx/fbn/nevernote/sql/DatabaseConnection.java index 4e87e8b..3565e58 100644 --- a/src/cx/fbn/nevernote/sql/DatabaseConnection.java +++ b/src/cx/fbn/nevernote/sql/DatabaseConnection.java @@ -145,7 +145,7 @@ public class DatabaseConnection { executeSql("alter table notebook add column publishingUri VarChar"); executeSql("alter table notebook add column publishingOrder Integer"); - executeSql("alter table notebook add column publishingAscending VarChar"); + executeSql("alter table notebook add column publishingAscending Boolean"); executeSql("alter table notebook add column publishingPublicDescription varchar"); executeSql("alter table notebook add column stack varchar"); executeSql("alter table notebook add column icon blob"); @@ -158,7 +158,7 @@ public class DatabaseConnection { executeSql("create index RESOURCES_GUID_INDEX on noteresources (noteGuid, guid);"); executeSql("update note set thumbnailneeded=true, thumbnail=null;"); executeSql("update notebook set publishingUri='', " + - "publishingAscending='', stack='', publishingOrder=1, " + + "publishingAscending=false, stack='', publishingOrder=1, " + "publishingPublicDescription=''"); sharedNotebookTable.createTable(); diff --git a/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java b/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java index 7b21a17..8589119 100644 --- a/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java +++ b/src/cx/fbn/nevernote/sql/LinkedNotebookTable.java @@ -42,12 +42,13 @@ public class LinkedNotebookTable { public void createTable() { NSqlQuery query = new NSqlQuery(db.getConnection()); logger.log(logger.HIGH, "Creating table LinkedNotebook..."); - if (!query.exec("Create table LinkedNotebook (id long primary key, " + + if (!query.exec("Create table LinkedNotebook (guid VarChar primary key, " + "shareName VarChar, " + "username VarChar, "+ "shardID VarChar, " + "shareKey VarChar, " + - "url VarChar, " + + "uri VarChar, " + + "updateSequenceNumber Long," + "icon blob, " + "isDirty boolean)")) logger.log(logger.HIGH, "Table LinkedNotebook creation FAILED!!!"); @@ -62,17 +63,18 @@ public class LinkedNotebookTable { boolean check; NSqlQuery query = new NSqlQuery(db.getConnection()); - check = query.prepare("Insert Into LinkedNotebook (id, shareName, username, " - +"shardId, shareKey, url, isDirty) " + check = query.prepare("Insert Into LinkedNotebook (guid, shareName, username, " + +"shardId, shareKey, uri, updateSequenceNumber, isDirty) " + " Values(" - +":id, :shareName, :username, " - +":shardId, :shareKey, :url, :isDirty)"); - query.bindValue(":id", tempNotebook.getId()); + +":guid, :shareName, :username, " + +":shardId, :shareKey, :uri,:usn, :isDirty)"); + query.bindValue(":guid", tempNotebook.getGuid()); query.bindValue(":shareName", tempNotebook.getShareName()); query.bindValue(":username", tempNotebook.getUsername()); query.bindValue(":shardId", tempNotebook.getShardId()); query.bindValue(":shareKey", tempNotebook.getShareKey()); - query.bindValue(":url", tempNotebook.getUri()); + query.bindValue(":usn", tempNotebook.getUpdateSequenceNum()); + query.bindValue(":uri", tempNotebook.getUri()); if (isDirty) query.bindValue(":isDirty", true); @@ -86,17 +88,17 @@ public class LinkedNotebookTable { } } // Delete the notebook based on a guid - public void expungeNotebook(long id, boolean needsSync) { + public void expungeNotebook(String id, boolean needsSync) { boolean check; NSqlQuery query = new NSqlQuery(db.getConnection()); check = query.prepare("delete from LinkedNotebook " - +"where id=:id"); + +"where guid=:guid"); if (!check) { logger.log(logger.EXTREME, "LinkedNotebook SQL delete prepare has failed."); logger.log(logger.EXTREME, query.lastError().toString()); } - query.bindValue(":id", id); + query.bindValue(":guid", id); check = query.exec(); if (!check) logger.log(logger.MEDIUM, "LinkedNotebook delete failed."); @@ -108,10 +110,10 @@ public class LinkedNotebookTable { } } // Check if a notebook exists - public boolean exists(long id) { + public boolean exists(String id) { NSqlQuery query = new NSqlQuery(db.getConnection()); - boolean check = query.prepare("Select id from linkednotebook where id=:id"); - query.bindValue(":id", id); + boolean check = query.prepare("Select guid from linkednotebook where guid=:guid"); + query.bindValue(":guid", id); check = query.exec(); if (!check) { logger.log(logger.MEDIUM, "LinkedNotebook Table exists check failed."); @@ -124,20 +126,21 @@ public class LinkedNotebookTable { // Update a notebook public void updateNotebook(LinkedNotebook tempNotebook, boolean isDirty) { boolean check; - if (!exists(tempNotebook.getId())) { + if (!exists(tempNotebook.getGuid())) { addNotebook(tempNotebook, isDirty); return; } NSqlQuery query = new NSqlQuery(db.getConnection()); - check = query.prepare("Update LinkedNotebook set id=:id, shareName=:shareName, " + - "username=:username, shardID=:shardID, shareKey=:shareKey, url=:url, isDirty=:isDirty"); - query.bindValue(":id", tempNotebook.getId()); + check = query.prepare("Update LinkedNotebook set guid=:guid, shareName=:shareName, " + + "username=:username, shardID=:shardID, shareKey=:shareKey, uri=:uri, updateSequenceNumber=:usn, isDirty=:isDirty"); + query.bindValue(":guid", tempNotebook.getGuid()); query.bindValue(":shareName", tempNotebook.getShareName()); query.bindValue(":username", tempNotebook.getUsername()); query.bindValue(":shardID", tempNotebook.getShardId()); query.bindValue(":shareKey", tempNotebook.getShareKey()); - query.bindValue(":url", tempNotebook.getUri()); + query.bindValue(":uri", tempNotebook.getUri()); + query.bindValue(":usn", tempNotebook.getUpdateSequenceNum()); query.bindValue(":isDirty", isDirty); @@ -155,13 +158,13 @@ public class LinkedNotebookTable { NSqlQuery query = new NSqlQuery(db.getConnection()); - check = query.exec("Select id, shareName, username, shardID, shareKey url, " + + check = query.exec("Select guid, shareName, username, shardID, shareKey uri, " + " from LinkedNotebook"); if (!check) logger.log(logger.EXTREME, "Notebook SQL retrieve has failed."); while (query.next()) { tempNotebook = new LinkedNotebook(); - tempNotebook.setId(query.valueLong(0)); + tempNotebook.setGuid(query.valueString(0)); tempNotebook.setUsername(query.valueString(1)); tempNotebook.setShardId(query.valueString(2)); tempNotebook.setShareKey(query.valueString(3)); diff --git a/src/cx/fbn/nevernote/sql/NotebookTable.java b/src/cx/fbn/nevernote/sql/NotebookTable.java index e528364..77887e2 100644 --- a/src/cx/fbn/nevernote/sql/NotebookTable.java +++ b/src/cx/fbn/nevernote/sql/NotebookTable.java @@ -27,7 +27,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import com.evernote.edam.type.NoteSortOrder; import com.evernote.edam.type.Notebook; +import com.evernote.edam.type.Publishing; import com.trolltech.qt.core.QBuffer; import com.trolltech.qt.core.QByteArray; import com.trolltech.qt.core.QIODevice; @@ -184,7 +186,12 @@ public class NotebookTable { NSqlQuery query = new NSqlQuery(db.getConnection()); check = query.prepare("Update Notebook set sequence=:sequence, name=:name, defaultNotebook=:defaultNotebook, " + "serviceCreated=:serviceCreated, serviceUpdated=:serviceUpdated, "+ - "published=:published, isDirty=:isDirty where guid=:guid "); + "published=:published, isDirty=:isDirty, publishinguri=:uri, "+ + "publishingOrder=:order, " + + "publishingAscending=:ascending, " + + "publishingPublicDescription=:desc " + + "where guid=:guid "); + query.bindValue(":sequence", tempNotebook.getUpdateSequenceNum()); query.bindValue(":name", tempNotebook.getName()); query.bindValue(":defaultNotebook", tempNotebook.isDefaultNotebook()); @@ -196,6 +203,19 @@ public class NotebookTable { query.bindValue(":published", tempNotebook.isPublished()); query.bindValue(":isDirty", isDirty); + + if (tempNotebook.isPublished()) { + query.bindValue(":uri", tempNotebook.getPublishing().getUri()); + query.bindValue(":order", tempNotebook.getPublishing().getOrder().getValue()); + query.bindValue(":ascending", tempNotebook.getPublishing().isAscending()); + query.bindValue(":desc", tempNotebook.getPublishing().getPublicDescription()); + } else { + query.bindValue(":uri", ""); + query.bindValue(":order", NoteSortOrder.CREATED.getValue()); + query.bindValue(":ascending", false); + query.bindValue(":desc", ""); + } + query.bindValue(":guid", tempNotebook.getGuid()); check = query.exec(); @@ -215,7 +235,8 @@ public class NotebookTable { check = query.exec("Select guid, sequence, name, defaultNotebook, " + "serviceCreated, "+ "serviceUpdated, "+ - "published, defaultNotebook, stack from Notebook order by name"); + "published, stack, publishinguri, publishingascending, publishingPublicDescription, "+ + "publishingOrder from Notebook order by name"); if (!check) logger.log(logger.EXTREME, "Notebook SQL retrieve has failed."); while (query.next()) { @@ -224,6 +245,7 @@ public class NotebookTable { int sequence = new Integer(query.valueString(1)).intValue(); tempNotebook.setUpdateSequenceNum(sequence); tempNotebook.setName(query.valueString(2)); + tempNotebook.setDefaultNotebook(query.valueBoolean(3, false)); DateFormat indfm = null; try { indfm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); @@ -236,8 +258,15 @@ public class NotebookTable { e.printStackTrace(); } tempNotebook.setPublished(new Boolean(query.valueString(6))); - tempNotebook.setDefaultNotebook(new Boolean(query.valueString(7))); - tempNotebook.setStack(query.valueString(8)); + tempNotebook.setStack(query.valueString(7)); + if (tempNotebook.isPublished()) { + Publishing p = new Publishing(); + p.setUri(query.valueString(8)); + p.setAscending(query.valueBoolean(9, false)); + p.setPublicDescription(query.valueString(10)); + p.setOrder(NoteSortOrder.findByValue(query.valueInteger(11))); + tempNotebook.setPublishing(p); + } index.add(tempNotebook); } return index; @@ -293,7 +322,10 @@ public class NotebookTable { NSqlQuery query = new NSqlQuery(db.getConnection()); check = query.exec("Select guid, sequence, name, defaultNotebook, " + - "serviceCreated, serviceUpdated, published, stack from Notebook where archived=true order by name"); + "serviceCreated, serviceUpdated, published, stack "+ + "publishinguri, publishingascending, publishingPublicDescription, "+ + "publishingOrder " + + "from Notebook where archived=true order by name"); if (!check) logger.log(logger.EXTREME, "Notebook SQL retrieve has failed."); while (query.next()) { @@ -313,6 +345,16 @@ public class NotebookTable { } tempNotebook.setPublished(new Boolean(query.valueString(6))); tempNotebook.setStack(query.valueString(7)); + + if (tempNotebook.isPublished()) { + Publishing p = new Publishing(); + p.setUri(query.valueString(8)); + p.setAscending(query.valueBoolean(9, false)); + p.setPublicDescription(query.valueString(10)); + p.setOrder(NoteSortOrder.findByValue(query.valueInteger(11))); + tempNotebook.setPublishing(p); + } + index.add(tempNotebook); } return index; @@ -383,7 +425,10 @@ public class NotebookTable { NSqlQuery query = new NSqlQuery(db.getConnection()); check = query.exec("Select guid, sequence, name, defaultNotebook, " + - "serviceCreated, serviceUpdated, published, stack from Notebook where isDirty = true and local=false"); + "serviceCreated, serviceUpdated, published, stack "+ + "publishinguri, publishingascending, publishingPublicDescription, "+ + "publishingOrder " + + "from Notebook where isDirty = true and local=false"); if (!check) logger.log(logger.EXTREME, "Notebook SQL retrieve has failed."); while (query.next()) { @@ -403,6 +448,16 @@ public class NotebookTable { } tempNotebook.setPublished(new Boolean(query.valueString(6))); tempNotebook.setStack(query.valueString(7)); + + if (tempNotebook.isPublished()) { + Publishing p = new Publishing(); + p.setUri(query.valueString(8)); + p.setAscending(query.valueBoolean(9, false)); + p.setPublicDescription(query.valueString(10)); + p.setOrder(NoteSortOrder.findByValue(query.valueInteger(11))); + tempNotebook.setPublishing(p); + } + index.add(tempNotebook); } return index; @@ -593,6 +648,18 @@ public class NotebookTable { logger.log(logger.EXTREME, "Error updating stack names"); return; } + + if (!query.prepare("update SystemIcon set stack=:newName where stack=:oldName and type='STACK'")) { + logger.log(logger.EXTREME, "Error preparing icon rename in renameStacks."); + return; + } + query.bindValue(":oldName", oldName); + query.bindValue(":newName", newName); + if (!query.exec()) { + logger.log(logger.EXTREME, "Error updating stack names for SystemIcon"); + return; + } + } // Get/Set stacks public boolean stackExists(String stack) { diff --git a/src/cx/fbn/nevernote/threads/SyncRunner.java b/src/cx/fbn/nevernote/threads/SyncRunner.java index 2581725..1db1fda 100644 --- a/src/cx/fbn/nevernote/threads/SyncRunner.java +++ b/src/cx/fbn/nevernote/threads/SyncRunner.java @@ -883,6 +883,7 @@ public class SyncRunner extends QObject implements Runnable { syncRemoteNotebooks(chunk.getNotebooks()); syncRemoteNotes(chunk.getNotes(), fullSync); syncRemoteResources(chunk.getResources()); + syncRemoteLinkedNotebooks(chunk.getLinkedNotebooks()); // Do the local deletes logger.log(logger.EXTREME, "Doing local deletes"); @@ -919,6 +920,12 @@ public class SyncRunner extends QObject implements Runnable { logger.log(logger.EXTREME, "Expunging saved search from local database"); conn.getSavedSearchTable().expungeSavedSearch(guid.get(i), false); } + guid = chunk.getExpungedLinkedNotebooks(); + if (guid != null) + for (int i=0; i searches) { logger.log(logger.EXTREME, "Entering SyncRunner.syncSavedSearches"); if (searches != null) { @@ -976,6 +983,16 @@ public class SyncRunner extends QObject implements Runnable { } logger.log(logger.EXTREME, "Leaving SyncRunner.syncSavedSearches"); } + // Sync remote linked notebooks + private void syncRemoteLinkedNotebooks(List books) { + logger.log(logger.EXTREME, "Entering SyncRunner.syncSavedSearches"); + if (books != null) { + for (int i=0; i notebooks) { logger.log(logger.EXTREME, "Entering SyncRunner.syncRemoteNotebooks");