source: Dev/trunk/src/client/dojox/data/S3Store.js @ 532

Last change on this file since 532 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 1.0 KB
Line 
1define(["dojo/_base/declare", "dojox/data/JsonRestStore", "dojox/rpc/ProxiedPath"],
2  function(declare, JsonRestStore, ProxiedPath) {
3return declare("dojox.data.S3Store", JsonRestStore,
4        {
5        // summary:
6        //              S3JsonRestStore is an extension of JsonRestStore to handle
7        //              Amazon's S3 service using JSON data
8                _processResults : function(results){
9                        // unfortunately, S3 returns query results in XML form
10                        var keyElements = results.getElementsByTagName("Key");
11                        var jsResults = [];
12                        var self = this;
13                        for(var i=0; i <keyElements.length;i++){
14                                var keyElement = keyElements[i];
15                                // manually create lazy loaded Deferred items for each item in the result array
16                                var val = {
17                                        _loadObject: (function(key,val){
18                                                return function(callback){
19                                                        // when a callback is added we will fetch it
20                                                        delete this._loadObject;
21                                                        self.service(key).addCallback(callback);
22                                                };
23                                        })(keyElement.firstChild.nodeValue,val)
24                                };
25                                jsResults.push(val);
26                        }
27                       
28                        return {totalCount:jsResults.length, items: jsResults};
29                }
30        }
31);
32
33});
Note: See TracBrowser for help on using the repository browser.