a:28:{s:9:"#provides";s:25:"dojox.data.SnapLogicStore";s:9:"#resource";s:22:"data/SnapLogicStore.js";s:9:"#requires";a:2:{i:0;a:3:{i:0;s:6:"common";i:1;s:14:"dojo.io.script";i:2;s:4:"dojo";}i:1;a:3:{i:0;s:6:"common";i:1;s:21:"dojo.data.util.sorter";i:2;s:4:"dojo";}}s:25:"dojox.data.SnapLogicStore";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"args";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:119:"An object that contains properties for initializing the new data store object. The following properties are understood:";}}s:6:"source";s:81:" if(args.url){ this.url = args.url; } this._parameters = args.parameters;";s:7:"summary";s:35:"Initialize a SnapLogicStore object.";s:9:"classlike";b:1;}s:31:"dojox.data.SnapLogicStore.Parts";a:3:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:29:"dojox.data.SnapLogicStore.url";a:4:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:8:"instance";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:1:"A";s:7:"summary";s:365:"URL to the SnapLogic pipeline's output routed through PipeToHttp. Typically, this will look like "http://<server-host>:<port>/pipe/<pipeline-url>/<pipeline-output-view>". parameters: An object whose properties define parameters to the pipeline. The values of these properties will be sent to the pipeline as parameters when it run.";}s:39:"dojox.data.SnapLogicStore._assertIsItem";a:6:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:2:{s:4:"type";s:4:"item";s:7:"summary";s:50:"The item to test for being contained by the store.";}}s:6:"source";s:140:" if(!this.isItem(item)){ throw new Error("dojox.data.SnapLogicStore: a function was passed an item argument that was not an item"); }";s:7:"summary";s:78:"This function tests whether the item passed in is indeed an item in the store.";s:7:"private";b:1;}s:44:"dojox.data.SnapLogicStore._assertIsAttribute";a:6:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:9:"attribute";a:2:{s:4:"type";s:21:"attribute-name-string";s:7:"summary";s:55:"The attribute to test for being contained by the store.";}}s:6:"source";s:173:" if(typeof attribute !== "string"){ throw new Error("dojox.data.SnapLogicStore: a function was passed an attribute argument that was not an attribute name string"); }";s:7:"summary";s:101:"This function tests whether the item passed in is indeed a valid 'attribute' like type for the store.";s:7:"private";b:1;}s:37:"dojox.data.SnapLogicStore.getFeatures";a:4:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:6:"source";s:45:" return { 'dojo.data.api.Read': true };";s:7:"summary";s:36:"See dojo.data.api.Read.getFeatures()";}s:34:"dojox.data.SnapLogicStore.getValue";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:4:"item";a:1:{s:4:"type";s:0:"";}s:9:"attribute";a:1:{s:4:"type";s:0:"";}s:12:"defaultValue";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:186:" this._assertIsItem(item); this._assertIsAttribute(attribute); var i = dojo.indexOf(item.attributes, attribute); if(i !== -1){ return item.values[i]; } return defaultValue;";s:7:"summary";s:33:"See dojo.data.api.Read.getValue()";}s:39:"dojox.data.SnapLogicStore.getAttributes";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:53:" this._assertIsItem(item); return item.attributes;";s:7:"summary";s:38:"See dojo.data.api.Read.getAttributes()";}s:38:"dojox.data.SnapLogicStore.hasAttribute";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:4:"item";a:1:{s:4:"type";s:0:"";}s:9:"attribute";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:199:" this._assertIsItem(item); this._assertIsAttribute(attribute); for(var i = 0; i < item.attributes.length; ++i){ if(attribute == item.attributes[i]){ return true; } } return false;";s:7:"summary";s:38:"See dojo.data.api.Read.hasAttributes()";}s:38:"dojox.data.SnapLogicStore.isItemLoaded";a:6:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:40:" return this.isItem(item); // Boolean";s:7:"summary";s:37:"See dojo.data.api.Read.isItemLoaded()";s:7:"returns";s:7:"Boolean";}s:34:"dojox.data.SnapLogicStore.loadItem";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:11:"keywordArgs";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:54:" // summary: // See dojo.data.api.Read.loadItem()";s:7:"summary";s:33:"See dojo.data.api.Read.loadItem()";}s:34:"dojox.data.SnapLogicStore.getLabel";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:19:" return undefined;";s:7:"summary";s:33:"See dojo.data.api.Read.getLabel()";}s:44:"dojox.data.SnapLogicStore.getLabelAttributes";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:14:" return null;";s:7:"summary";s:43:"See dojo.data.api.Read.getLabelAttributes()";}s:39:"dojox.data.SnapLogicStore.containsValue";a:6:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:4:"item";a:1:{s:4:"type";s:0:"";}s:9:"attribute";a:1:{s:4:"type";s:0:"";}s:5:"value";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:62:" return this.getValue(item, attribute) === value; // Boolean";s:7:"summary";s:38:"See dojo.data.api.Read.containsValue()";s:7:"returns";s:7:"Boolean";}s:35:"dojox.data.SnapLogicStore.getValues";a:6:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:4:"item";a:1:{s:4:"type";s:0:"";}s:9:"attribute";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:187:" this._assertIsItem(item); this._assertIsAttribute(attribute); var i = dojo.indexOf(item.attributes, attribute); if(i !== -1){ return [item.values[i]]; // Array } return [];";s:7:"summary";s:33:"See dojo.data.api.Read.getValue()";s:7:"returns";s:5:"Array";}s:32:"dojox.data.SnapLogicStore.isItem";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:71:" if(item && item._store === this){ return true; } return false;";s:7:"summary";s:31:"See dojo.data.api.Read.isItem()";}s:31:"dojox.data.SnapLogicStore.close";a:5:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:7:"request";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:51:" // summary: // See dojo.data.api.Read.close()";s:7:"summary";s:30:"See dojo.data.api.Read.close()";}s:39:"dojox.data.SnapLogicStore._fetchHandler";a:7:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:7:"request";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:1447:" var scope = request.scope || dojo.global; if(request.onBegin){ // Check for the record count optimization request.onBegin.call(scope, request._countResponse[0], request); } if(request.onItem || request.onComplete){ var response = request._dataResponse; if (!response.length){ request.onError.call(scope, new Error("dojox.data.SnapLogicStore: invalid response of length 0"), request); return; }else if(request.query != 'record count'){ //If this was not a record count request, the first element returned will contain //the field names. var field_names = response.shift(); var items = []; for(var i = 0; i < response.length; ++i){ if(request._aborted){ break; } items.push({attributes: field_names, values: response[i], _store: this}); } if(request.sort && !request._aborted){ items.sort(dojo.data.util.sorter.createSortFunction(request.sort, self)); } }else{ //This is a record count request, so manually set the field names. items = [({attributes: ['count'], values: response, _store: this})]; } if(request.onItem){ for(var i = 0; i < items.length; ++i){ if (request._aborted) { break; } request.onItem.call(scope, items[i], request); } items = null; } if(request.onComplete && !request._aborted){ request.onComplete.call(scope, items, request); } }";s:7:"summary";s:382:"Process data retrieved via fetch and send it back to requester. response: The data returend from the I/O transport. In the normal case, it will be an array of result rows from the pipeline. In the special case for record count optimization, response will be an array with a single element containing the total pipeline result row count. See fetch() for details on this optimization.";s:6:"chains";a:1:{s:4:"call";a:4:{i:0;s:15:"request.onBegin";i:1;s:15:"request.onError";i:2;s:14:"request.onItem";i:3;s:18:"request.onComplete";}}s:7:"private";b:1;}s:38:"dojox.data.SnapLogicStore._partHandler";a:7:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:7:"request";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:62:"The request/handle object used with the original fetch() call.";}s:4:"part";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:71:"A value indicating which request this handler call is for (this.Parts).";}s:8:"response";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:51:"Response received from the underlying IO transport.";}}s:6:"source";s:612:" if(response instanceof Error){ if(part == this.Parts.DATA){ request._dataHandle = null; }else{ request._countHandle = null; } request._aborted = true; if(request.onError){ request.onError.call(request.scope, response, request); } }else{ if(request._aborted){ return; } if(part == this.Parts.DATA){ request._dataResponse = response; }else{ request._countResponse = response; } if((!request._dataHandle || request._dataResponse !== null) && (!request._countHandle || request._countResponse !== null)){ this._fetchHandler(request); } }";s:7:"summary";s:64:"Handle the individual replies for both data and length requests.";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:15:"request.onError";}}s:7:"private";b:1;}s:31:"dojox.data.SnapLogicStore.fetch";a:6:{s:9:"prototype";s:25:"dojox.data.SnapLogicStore";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:7:"request";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:334:"See dojo.data.api.Read.close() for generic interface. In addition to the standard Read API fetch support, this store supports an optimization for for retrieving the total count of records in the Pipeline without retrieving the data. To use this optimization, simply provide an onBegin handler without an onItem or onComplete handler.";}}s:6:"source";s:1997:" request._countResponse = null; request._dataResponse = null; request._aborted = false; request.abort = function(){ if(!request._aborted){ request._aborted = true; if(request._dataHandle && request._dataHandle.cancel){ request._dataHandle.cancel(); } if(request._countHandle && request._countHandle.cancel){ request._countHandle.cancel(); } } }; // Only make the call for data if onItem or onComplete is used. Otherwise, onBegin will only // require the total row count. if(request.onItem || request.onComplete){ var content = this._parameters || {}; if(request.start){ if(request.start < 0){ throw new Error("dojox.data.SnapLogicStore: request start value must be 0 or greater"); } content['sn.start'] = request.start + 1; } if(request.count){ if(request.count < 0){ throw new Error("dojox.data.SnapLogicStore: request count value 0 or greater"); } content['sn.limit'] = request.count; } content['sn.content_type'] = 'application/javascript'; var store = this; var handler = function(response, ioArgs){ if(response instanceof Error){ store._fetchHandler(response, request); } }; var getArgs = { url: this.url, content: content, // preventCache: true, timeout: 60000, //Starting a pipeline can take a long time. callbackParamName: "sn.stream_header", handle: dojo.hitch(this, "_partHandler", request, this.Parts.DATA) }; request._dataHandle = dojo.io.script.get(getArgs); } if(request.onBegin){ var content = {}; content['sn.count'] = 'records'; content['sn.content_type'] = 'application/javascript'; var getArgs = { url: this.url, content: content, timeout: 60000, callbackParamName: "sn.stream_header", handle: dojo.hitch(this, "_partHandler", request, this.Parts.COUNT) }; request._countHandle = dojo.io.script.get(getArgs); } return request; // Object";s:7:"summary";s:30:"See dojo.data.api.Read.close()";s:7:"returns";s:6:"Object";}s:36:"dojox.data.SnapLogicStore.Parts.DATA";a:1:{s:7:"summary";s:0:"";}s:37:"dojox.data.SnapLogicStore.Parts.COUNT";a:1:{s:7:"summary";s:0:"";}s:37:"dojox.data.SnapLogicStore._parameters";a:3:{s:8:"instance";s:25:"dojox.data.SnapLogicStore";s:7:"private";b:1;s:7:"summary";s:0:"";}s:10:"dojox.data";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}