C_MultiRequest.js 2.5 KB

123456
  1. // Licensed Materials - Property of IBM
  2. // IBM Cognos Products: hal
  3. // (C) Copyright IBM Corp. 2003, 2017.
  4. // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  5. function C_MultiRequest(_hLN1, _hVP1, _hHB){this._hXN1=_hLN1;this._hIB=Boolean(_hHB);this.F_SetRequests(_hVP1);};C_MultiRequest.prototype.F_SetRequests=function(_hVP1){this._hWP1=_hVP1;this._hRG=[];var _hBZ1=_hVP1.length;for(var i=0; i<_hBZ1;++i){var _hWU1=_hVP1[i];var _h5K=_hWU1.F_GetListener();if(_h5K==this){G_Debug.F_Alert("Request cannot have C_MultiRequest as a listener");}this._hRG.push(_h5K);_hWU1.F_SetListener(this);}};C_MultiRequest.prototype.F_GetListener=function(){return this._hXN1;};C_MultiRequest.prototype.F_SetListener=function(_hLN1){this._hXN1=_hLN1;};C_MultiRequest.prototype.F_SetContext=function(_hUV1){this._hVV1=_hUV1;};C_MultiRequest.prototype.F_GetContext=function(){return this._hVV1;};C_MultiRequest.prototype.F_GetRequests=function(){return this._hWP1;};C_MultiRequest.prototype.F_Send=function(){var _hBZ1=this._hWP1.length;this._h5O=_hBZ1;if(_hBZ1==0){this._hI7();return;}C_WebRequest.F_AddActiveRequest(this);for(var i=0; i<_hBZ1;++i){this._hWP1[i].F_Send();}};C_MultiRequest.prototype.F_Abort=function(){var _hBZ1=this._hWP1.length;for(var i=0; i<_hBZ1;++i){this._hWP1[i].F_Abort();}C_WebRequest.F_RemoveActiveRequest(this);if(this._hXN1&&this._hXN1.F_Request_OnAborted){this._hXN1.F_Request_OnAborted(this);}};C_MultiRequest.prototype.F_Request_OnComplete=function(_hWU1){--this._h5O;this._hI7(_hWU1);};C_MultiRequest.prototype.F_IsReadyToProcess=function(){return true;};C_MultiRequest.prototype.F_ProcessResponse=function(){};C_MultiRequest.prototype._hI7=function(_hWU1){if(this._hIB&&_hWU1){var _hWV1=this._hWP1.indexOf(_hWU1);var _hLN1=this._hRG[_hWV1];if(_hLN1&&_hLN1.F_Request_OnComplete){_hLN1.F_Request_OnComplete(_hWU1);}}if(this._h5O==0){if(!this.F_IsReadyToProcess()){return;}C_WebRequest.F_RemoveActiveRequest(this);this.F_ProcessResponse();if(this._hXN1){this._hXN1.F_Request_OnComplete(this);}}};C_MultiRequest.prototype.F_GetError=function(){var _hC12=[];for(var i=0; i<this._hWP1.length;++i){var _hWU1=this._hWP1[i];var _hW52=_hWU1.F_GetError();if(_hW52){_hC12.push(_hW52);}}if(_hC12.length==1){return _hC12[0];}if(_hC12.length>=2){var _h0Y=window["G_ResManager"]?G_ResManager.F_GetOptionalString( "IDS_HAL_MULTIREQUEST_ERRORS" ):null;G_HAL.F_VerifyDependencies("C_MultiError");return new C_MultiError( _h0Y?_h0Y:"Two or more requests failed.", _hC12 );}return null;};