From fdb6ddc62f43a8f41a4222db5874af77ef3c5bd7 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 13 Feb 2013 12:09:43 -0800 Subject: [PATCH] Fixed several bugs that were throwing exceptions in attachments migration --- api/src/com/todoroo/astrid/data/Update.java | 5 ---- .../actfm/sync/AstridNewSyncMigrator.java | 24 +++++++++++++------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/api/src/com/todoroo/astrid/data/Update.java b/api/src/com/todoroo/astrid/data/Update.java index 59bcbf9e4..7a0d1b1ed 100644 --- a/api/src/com/todoroo/astrid/data/Update.java +++ b/api/src/com/todoroo/astrid/data/Update.java @@ -108,10 +108,6 @@ public class Update extends RemoteModel { public static final LongProperty CREATION_DATE = new LongProperty( TABLE, "created"); - /** Pushed at date */ - public static final LongProperty PUSHED_AT = new LongProperty( - TABLE, PUSHED_AT_PROPERTY_NAME); - /** List of all properties for this model */ public static final Property[] PROPERTIES = generateProperties(Update.class); @@ -145,7 +141,6 @@ public class Update extends RemoteModel { defaultValues.put(MESSAGE.name, ""); defaultValues.put(TARGET_NAME.name, ""); defaultValues.put(PICTURE.name, ""); - defaultValues.put(PUSHED_AT.name, 0L); } // --- data access boilerplate diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java index 0a8d32284..71d3d8277 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/sync/AstridNewSyncMigrator.java @@ -248,6 +248,7 @@ public class AstridNewSyncMigrator { TodorooCursor fmCursor = metadataService.query(Query.select(Metadata.PROPERTIES) .where(MetadataCriteria.withKey(FileMetadata.METADATA_KEY))); try { + System.err.println("FILES COUNT: " + fmCursor.getCount()); Metadata m = new Metadata(); for (fmCursor.moveToFirst(); !fmCursor.isAfterLast(); fmCursor.moveToNext()) { m.clear(); @@ -255,6 +256,7 @@ public class AstridNewSyncMigrator { TaskAttachment attachment = new TaskAttachment(); Task task = taskDao.fetch(m.getValue(Metadata.TASK), Task.UUID); + System.err.println("TASK UUID: " + task.getUuid()); if (task == null || !RemoteModel.isValidUuid(task.getUuid())) continue; @@ -264,15 +266,23 @@ public class AstridNewSyncMigrator { synced = true; attachment.setValue(TaskAttachment.UUID, Long.toString(oldRemoteId)); } + System.err.println("ALREADY SYNCED: " + synced); attachment.setValue(TaskAttachment.TASK_UUID, task.getUuid()); - attachment.setValue(TaskAttachment.NAME, m.getValue(FileMetadata.NAME)); - attachment.setValue(TaskAttachment.URL, m.getValue(FileMetadata.URL)); - attachment.setValue(TaskAttachment.FILE_PATH, m.getValue(FileMetadata.FILE_PATH)); - attachment.setValue(TaskAttachment.CONTENT_TYPE, m.getValue(FileMetadata.FILE_TYPE)); - attachment.setValue(TaskAttachment.DELETED_AT, m.getValue(FileMetadata.DELETION_DATE)); - - if (synced) + if (m.containsNonNullValue(FileMetadata.NAME)) + attachment.setValue(TaskAttachment.NAME, m.getValue(FileMetadata.NAME)); + if (m.containsNonNullValue(FileMetadata.URL)) + attachment.setValue(TaskAttachment.URL, m.getValue(FileMetadata.URL)); + if (m.containsNonNullValue(FileMetadata.FILE_PATH)) + attachment.setValue(TaskAttachment.FILE_PATH, m.getValue(FileMetadata.FILE_PATH)); + if (m.containsNonNullValue(FileMetadata.FILE_TYPE)) + attachment.setValue(TaskAttachment.CONTENT_TYPE, m.getValue(FileMetadata.FILE_TYPE)); + if (m.containsNonNullValue(FileMetadata.DELETION_DATE)) + attachment.setValue(TaskAttachment.DELETED_AT, m.getValue(FileMetadata.DELETION_DATE)); + + if (synced) { + System.err.println("ATTACHMENT UUID: " + attachment.getValue(TaskAttachment.UUID)); attachment.putTransitory(SyncFlags.ACTFM_SUPPRESS_OUTSTANDING_ENTRIES, true); + } taskAttachmentDao.createNew(attachment);