WsPackageMaps.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. /*##############################################################################
  2. # HPCC SYSTEMS software Copyright (C) 2013 HPCC Systems.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. ############################################################################## */
  16. define([
  17. "dojo/_base/declare",
  18. "dojo/_base/lang",
  19. "dojo/_base/Deferred",
  20. "dojo/_base/array",
  21. "dojo/store/util/QueryResults",
  22. "hpcc/ESPRequest"
  23. ], function (declare, lang, Deferred, arrayUtil, QueryResults,
  24. ESPRequest) {
  25. return {
  26. PackageMapQuery: function (params) {
  27. return ESPRequest.send("WsPackageProcess", "ListPackages", params);
  28. },
  29. errorMessageCallback: function (callback, message, errorStack) {
  30. if (callback && callback.error) {
  31. callback.error(message, errorStack);
  32. }
  33. },
  34. checkExceptions: function (callback, response) {
  35. if (!lang.exists("Exceptions.Exception", response))
  36. return true;
  37. var exceptionCode = response.Exceptions.Exception[0].Code;
  38. var exceptionMSG = response.Exceptions.Exception[0].Message;
  39. this.errorMessageCallback(callback, "Exception:", "Code:"+exceptionCode);
  40. return false;
  41. },
  42. checkStatus: function (callback, hasStatus, status) {
  43. if (hasStatus && (status.Code == 0))
  44. return true;
  45. if (callback && callback.error) {
  46. if (!hasStatus)
  47. this.errorMessageCallback(callback, "(Invalid response)", "");
  48. else
  49. this.errorMessageCallback(callback, status.Description, "");
  50. }
  51. return false;
  52. },
  53. getPackageMapById: function (params, callback) {
  54. var request = {
  55. PackageMapId: params.packageMap
  56. };
  57. var context = this;
  58. return ESPRequest.send("WsPackageProcess", "GetPackageMapById", {
  59. request: request,
  60. load: function (response) {
  61. if (context.checkExceptions(callback, response) &&
  62. context.checkStatus(callback, lang.exists("GetPackageMapByIdResponse.status", response),
  63. response.GetPackageMapByIdResponse.status))
  64. {
  65. if (!lang.exists("GetPackageMapByIdResponse.Info", response))
  66. callback.load("(No content)");
  67. else
  68. callback.load(response.GetPackageMapByIdResponse.Info);
  69. }
  70. },
  71. error: function (err) {
  72. context.errorMessageCallback(callback, err.message, err.stack);
  73. }
  74. });
  75. },
  76. GetPackageMapSelectOptions: function (params, callback) {
  77. var request = {
  78. IncludeTargets: params.includeTargets,
  79. IncludeProcesses: params.includeProcesses,
  80. IncludeProcessFilters: params.includeProcessFilters
  81. };
  82. var context = this;
  83. return ESPRequest.send("WsPackageProcess", "GetPackageMapSelectOptions", {
  84. request: {},
  85. load: function (response) {
  86. if (context.checkExceptions(callback, response) &&
  87. context.checkStatus(callback, lang.exists("GetPackageMapSelectOptionsResponse.status", response),
  88. response.GetPackageMapSelectOptionsResponse.status))
  89. {
  90. callback.load(response.GetPackageMapSelectOptionsResponse);
  91. }
  92. },
  93. error: function (err) {
  94. context.errorMessageCallback(callback, err.message, err.stack);
  95. }
  96. });
  97. },
  98. listProcessFilters: function (callback) {
  99. var context = this;
  100. return ESPRequest.send("WsPackageProcess", "ListProcessFilters", {
  101. request: {},
  102. load: function (response) {
  103. if (context.checkExceptions(callback, response) &&
  104. context.checkStatus(callback, lang.exists("ListProcessFiltersResponse.status", response),
  105. response.ListProcessFiltersResponse.status))
  106. {
  107. if (!lang.exists("ListProcessFiltersResponse.ProcessFilters", response))
  108. callback.load("(No content)");
  109. else
  110. callback.load(response.ListProcessFiltersResponse.ProcessFilters);
  111. }
  112. },
  113. error: function (err) {
  114. context.errorMessageCallback(callback, err.message, err.stack);
  115. }
  116. });
  117. },
  118. validatePackage: function ( params, callback) {
  119. var request = { Target: params.target };
  120. if ( params.packageMap )
  121. request['PMID'] = params.packageMap;
  122. if ( params.process )
  123. request['Process'] = params.process;
  124. if ( params.content )
  125. request['Info'] = params.content;
  126. if ( params.active )
  127. request['Active'] = params.active;
  128. var context = this;
  129. return ESPRequest.send("WsPackageProcess", "ValidatePackage", {
  130. request: request,
  131. load: function (response) {
  132. if (context.checkExceptions(callback, response) &&
  133. context.checkStatus(callback, lang.exists("ValidatePackageResponse.status", response),
  134. response.ValidatePackageResponse.status))
  135. {
  136. //console.log(response.ValidatePackageResponse);
  137. callback.load(response.ValidatePackageResponse);
  138. }
  139. },
  140. error: function (err) {
  141. context.errorMessageCallback(callback, err.message, err.stack);
  142. }
  143. });
  144. },
  145. activatePackageMap: function (packageMaps, callback) {
  146. var request = {
  147. Target: packageMaps[0].Target,
  148. Process: packageMaps[0].Process,
  149. PackageMap: packageMaps[0].Id
  150. };
  151. var context = this;
  152. return ESPRequest.send("WsPackageProcess", "ActivatePackage", {
  153. request: request,
  154. load: function (response) {
  155. if (context.checkExceptions(callback, response) &&
  156. context.checkStatus(callback, lang.exists("ActivatePackageResponse.status", response),
  157. response.ActivatePackageResponse.status))
  158. {
  159. callback.load(response.ActivatePackageResponse);
  160. }
  161. },
  162. error: function (err) {
  163. context.errorMessageCallback(callback, err.message, err.stack);
  164. }
  165. });
  166. },
  167. deactivatePackageMap: function (packageMaps, callback) {
  168. var request = {
  169. Target: packageMaps[0].Target,
  170. Process: packageMaps[0].Process,
  171. PackageMap: packageMaps[0].Id
  172. };
  173. var context = this;
  174. return ESPRequest.send("WsPackageProcess", "DeActivatePackage", {
  175. request: request,
  176. load: function (response) {
  177. if (context.checkExceptions(callback, response) &&
  178. context.checkStatus(callback, lang.exists("DeActivatePackageResponse.status", response),
  179. response.DeActivatePackageResponse.status))
  180. {
  181. callback.load(response.DeActivatePackageResponse);
  182. }
  183. },
  184. error: function (err) {
  185. context.errorMessageCallback(callback, err.message, err.stack);
  186. }
  187. });
  188. },
  189. deletePackageMap: function (packageMaps, callback) {
  190. var context = this;
  191. var request = {};
  192. arrayUtil.forEach(packageMaps, function (item, idx) {
  193. request["PackageMaps.PackageMapEntry." + idx + ".Id"] = item.Id;
  194. request["PackageMaps.PackageMapEntry." + idx + ".Target"] = item.Target;
  195. request["PackageMaps.PackageMapEntry." + idx + ".Process"] = item.Process;
  196. });
  197. lang.mixin(request, {
  198. "PackageMaps.PackageMapEntry.itemcount": packageMaps.length
  199. });
  200. return ESPRequest.send("WsPackageProcess", "DeletePackage", {
  201. request: request,
  202. load: function (response) {
  203. if (context.checkExceptions(callback, response) &&
  204. context.checkStatus(callback, lang.exists("DeletePackageResponse.status", response),
  205. response.DeletePackageResponse.status))
  206. {
  207. callback.load(response.DeletePackageResponse);
  208. }
  209. },
  210. error: function (err) {
  211. context.errorMessageCallback(callback, err.message, err.stack);
  212. }
  213. });
  214. }
  215. };
  216. });