From d5c106fa1453bdd449d4e10b71868b34f469b7e9 Mon Sep 17 00:00:00 2001 From: Javier Abadia Date: Sun, 27 Apr 2014 18:33:30 +0200 Subject: [PATCH] first step into refactoring attachmentsStore.js --- lib/edit/attachmentsStore.js | 159 +++++++++++++++++------------------ 1 file changed, 77 insertions(+), 82 deletions(-) diff --git a/lib/edit/attachmentsStore.js b/lib/edit/attachmentsStore.js index c190f22..685fddb 100644 --- a/lib/edit/attachmentsStore.js +++ b/lib/edit/attachmentsStore.js @@ -59,30 +59,31 @@ define([], function() this.retrieve = function(attachmentId, callback) { - if(this._db !== null) + console.assert(this._db !== null, "indexeddb not initialized"); + + var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME); + var request = objectStore.get(attachmentId); + request.onsuccess = function(event) { - var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME); - var request = objectStore.get(attachmentId); - request.onsuccess = function(event) - { - var result = event.target.result; - if(!result){ - callback(false,"not found"); - } - else{ - callback(true,result); - } - }; - request.onerror = function(err) - { - console.log(err); - callback(false,err); - }; - } + var result = event.target.result; + if(!result){ + callback(false,"not found"); + } + else{ + callback(true,result); + } + }; + request.onerror = function(err) + { + console.log(err); + callback(false,err); + }; }; this.getAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback) { + console.assert(this._db !== null, "indexeddb not initialized"); + var featureId = featureLayerUrl + "/" + objectId; var attachments = []; @@ -106,6 +107,8 @@ define([], function() this.getAttachmentsByFeatureLayer = function(featureLayerUrl,callback) { + console.assert(this._db !== null, "indexeddb not initialized"); + var attachments = []; var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME); @@ -128,6 +131,8 @@ define([], function() this.getAllAttachments = function(callback) { + console.assert(this._db !== null, "indexeddb not initialized"); + var attachments = []; var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME); @@ -148,6 +153,8 @@ define([], function() this.deleteAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback) { + console.assert(this._db !== null, "indexeddb not initialized"); + var featureId = featureLayerUrl + "/" + objectId; var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME); @@ -172,50 +179,42 @@ define([], function() this.delete = function(attachmentId, callback) { - if(this._db !== null) + console.assert(this._db !== null, "indexeddb not initialized"); + + var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite") + .objectStore(OBJECT_STORE_NAME) + .delete(attachmentId); + request.onsuccess = function(event) { - var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite") - .objectStore(OBJECT_STORE_NAME) - .delete(attachmentId); - request.onsuccess = function(event) - { - setTimeout(function(){callback(true);},1); - }; - request.onerror = function(err) - { - callback(false,err); - }; - } - else + setTimeout(function(){callback(true);},1); + }; + request.onerror = function(err) { - callback(false,null); - } + callback(false,err); + }; }; this.deleteAll = function(callback) { - if(this._db !== null) + console.assert(this._db !== null, "indexeddb not initialized"); + + var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite") + .objectStore(OBJECT_STORE_NAME) + .clear(); + request.onsuccess = function(event) { - var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite") - .objectStore(OBJECT_STORE_NAME) - .clear(); - request.onsuccess = function(event) - { - callback(true); - }; - request.onerror = function(err) - { - callback(false,err); - }; - } - else + callback(true); + }; + request.onerror = function(err) { - callback(false,null); - } + callback(false,err); + }; }; this.replaceFeatureId = function(featureLayerUrl, oldId, newId, callback) { + console.assert(this._db !== null, "indexeddb not initialized"); + var featureId = featureLayerUrl + "/" + oldId; var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME); @@ -245,41 +244,37 @@ define([], function() this.getUsage = function(callback) { - if(this._db !== null){ - var usage = { sizeBytes: 0, attachmentCount: 0 }; + console.assert(this._db !== null, "indexeddb not initialized"); - var transaction = this._db.transaction([OBJECT_STORE_NAME]) - .objectStore(OBJECT_STORE_NAME) - .openCursor(); + var usage = { sizeBytes: 0, attachmentCount: 0 }; - console.log("dumping keys"); + var transaction = this._db.transaction([OBJECT_STORE_NAME]) + .objectStore(OBJECT_STORE_NAME) + .openCursor(); - transaction.onsuccess = function(event) - { - var cursor = event.target.result; - if(cursor) - { - console.log(cursor.value.id, cursor.value.featureId, cursor.value.objectId); - var storedObject = cursor.value; - var json = JSON.stringify(storedObject); - usage.sizeBytes += json.length; - usage.attachmentCount += 1; - cursor.continue(); - } - else - { - callback(usage,null); - } - }.bind(this); - transaction.onerror = function(err) - { - callback(null,err); - }; - } - else + console.log("dumping keys"); + + transaction.onsuccess = function(event) { - callback(null,null); - } + var cursor = event.target.result; + if(cursor) + { + console.log(cursor.value.id, cursor.value.featureId, cursor.value.objectId); + var storedObject = cursor.value; + var json = JSON.stringify(storedObject); + usage.sizeBytes += json.length; + usage.attachmentCount += 1; + cursor.continue(); + } + else + { + callback(usage,null); + } + }.bind(this); + transaction.onerror = function(err) + { + callback(null,err); + }; }; this.init = function(callback)