WsPackageMaps.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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/i18n",
  20. "dojo/i18n!./nls/common",
  21. "dojo/i18n!./nls/PackageSourceWidget",
  22. "dojo/_base/Deferred",
  23. "dojo/_base/array",
  24. "dojo/store/util/QueryResults",
  25. "hpcc/ESPRequest"
  26. ], function (declare, lang, i18n, nlsCommon, nlsSpecific, Deferred, arrayUtil, QueryResults,
  27. ESPRequest) {
  28. var i18n = lang.mixin(nlsCommon, nlsSpecific);
  29. return {
  30. PackageMapQuery: function (params) {
  31. return ESPRequest.send("WsPackageProcess", "ListPackages", params);
  32. },
  33. errorMessageCallback: function (callback, message, errorStack) {
  34. if (callback && callback.error) {
  35. callback.error(message, errorStack);
  36. }
  37. },
  38. checkExceptions: function (callback, response) {
  39. if (!lang.exists("Exceptions.Exception", response))
  40. return true;
  41. var exceptionCode = response.Exceptions.Exception[0].Code;
  42. var exceptionMSG = response.Exceptions.Exception[0].Message;
  43. this.errorMessageCallback(callback, i18n.Exception, i18n.Code+exceptionCode+i18n.Message+exceptionMSG);
  44. return false;
  45. },
  46. checkStatus: function (callback, hasStatus, status) {
  47. if (hasStatus && (status.Code == 0))
  48. return true;
  49. if (callback && callback.error) {
  50. if (!hasStatus)
  51. this.errorMessageCallback(callback, i18n.InvalidResponse, "");
  52. else
  53. this.errorMessageCallback(callback, status.Description, "");
  54. }
  55. return false;
  56. },
  57. getPackageMapById: function (params, callback) {
  58. var request = {
  59. PackageMapId: params.packageMap
  60. };
  61. var context = this;
  62. return ESPRequest.send("WsPackageProcess", "GetPackageMapById", {
  63. request: request,
  64. load: function (response) {
  65. if (context.checkExceptions(callback, response) &&
  66. context.checkStatus(callback, lang.exists("GetPackageMapByIdResponse.status", response),
  67. response.GetPackageMapByIdResponse.status))
  68. {
  69. if (!lang.exists("GetPackageMapByIdResponse.Info", response))
  70. callback.load(i18n.NoContent);
  71. else
  72. callback.load(response.GetPackageMapByIdResponse.Info);
  73. }
  74. },
  75. error: function (err) {
  76. context.errorMessageCallback(callback, err.message, err.stack);
  77. }
  78. });
  79. },
  80. GetPackageMapSelectOptions: function (params, callback) {
  81. var request = {
  82. IncludeTargets: params.includeTargets,
  83. IncludeProcesses: params.includeProcesses,
  84. IncludeProcessFilters: params.includeProcessFilters
  85. };
  86. var context = this;
  87. return ESPRequest.send("WsPackageProcess", "GetPackageMapSelectOptions", {
  88. request: {},
  89. load: function (response) {
  90. if (context.checkExceptions(callback, response) &&
  91. context.checkStatus(callback, lang.exists("GetPackageMapSelectOptionsResponse.status", response),
  92. response.GetPackageMapSelectOptionsResponse.status))
  93. {
  94. callback.load(response.GetPackageMapSelectOptionsResponse);
  95. }
  96. },
  97. error: function (err) {
  98. context.errorMessageCallback(callback, err.message, err.stack);
  99. }
  100. });
  101. },
  102. listProcessFilters: function (callback) {
  103. var context = this;
  104. return ESPRequest.send("WsPackageProcess", "ListProcessFilters", {
  105. request: {},
  106. load: function (response) {
  107. if (context.checkExceptions(callback, response) &&
  108. context.checkStatus(callback, lang.exists("ListProcessFiltersResponse.status", response),
  109. response.ListProcessFiltersResponse.status))
  110. {
  111. if (!lang.exists("ListProcessFiltersResponse.ProcessFilters", response))
  112. callback.load(i18n.NoContent);
  113. else
  114. callback.load(response.ListProcessFiltersResponse.ProcessFilters);
  115. }
  116. },
  117. error: function (err) {
  118. context.errorMessageCallback(callback, err.message, err.stack);
  119. }
  120. });
  121. },
  122. validatePackage: function ( params, callback) {
  123. var request = { Target: params.target };
  124. if ( params.packageMap )
  125. request['PMID'] = params.packageMap;
  126. if ( params.process )
  127. request['Process'] = params.process;
  128. if ( params.content )
  129. request['Info'] = params.content;
  130. if ( params.active )
  131. request['Active'] = params.active;
  132. var context = this;
  133. return ESPRequest.send("WsPackageProcess", "ValidatePackage", {
  134. request: request,
  135. load: function (response) {
  136. if (context.checkExceptions(callback, response) &&
  137. context.checkStatus(callback, lang.exists("ValidatePackageResponse.status", response),
  138. response.ValidatePackageResponse.status))
  139. {
  140. //console.log(response.ValidatePackageResponse);
  141. callback.load(response.ValidatePackageResponse);
  142. }
  143. },
  144. error: function (err) {
  145. context.errorMessageCallback(callback, err.message, err.stack);
  146. }
  147. });
  148. },
  149. activatePackageMap: function (packageMaps, callback) {
  150. var request = {
  151. Target: packageMaps[0].Target,
  152. Process: packageMaps[0].Process,
  153. PackageMap: packageMaps[0].Id
  154. };
  155. var context = this;
  156. return ESPRequest.send("WsPackageProcess", "ActivatePackage", {
  157. request: request,
  158. load: function (response) {
  159. if (context.checkExceptions(callback, response) &&
  160. context.checkStatus(callback, lang.exists("ActivatePackageResponse.status", response),
  161. response.ActivatePackageResponse.status))
  162. {
  163. callback.load(response.ActivatePackageResponse);
  164. }
  165. },
  166. error: function (err) {
  167. context.errorMessageCallback(callback, err.message, err.stack);
  168. }
  169. });
  170. },
  171. deactivatePackageMap: function (packageMaps, callback) {
  172. var request = {
  173. Target: packageMaps[0].Target,
  174. Process: packageMaps[0].Process,
  175. PackageMap: packageMaps[0].Id
  176. };
  177. var context = this;
  178. return ESPRequest.send("WsPackageProcess", "DeActivatePackage", {
  179. request: request,
  180. load: function (response) {
  181. if (context.checkExceptions(callback, response) &&
  182. context.checkStatus(callback, lang.exists("DeActivatePackageResponse.status", response),
  183. response.DeActivatePackageResponse.status))
  184. {
  185. callback.load(response.DeActivatePackageResponse);
  186. }
  187. },
  188. error: function (err) {
  189. context.errorMessageCallback(callback, err.message, err.stack);
  190. }
  191. });
  192. },
  193. deletePackageMap: function (packageMaps, callback) {
  194. var context = this;
  195. var request = {};
  196. arrayUtil.forEach(packageMaps, function (item, idx) {
  197. request["PackageMaps.PackageMapEntry." + idx + ".Id"] = item.Id;
  198. request["PackageMaps.PackageMapEntry." + idx + ".Target"] = item.Target;
  199. request["PackageMaps.PackageMapEntry." + idx + ".Process"] = item.Process;
  200. });
  201. lang.mixin(request, {
  202. "PackageMaps.PackageMapEntry.itemcount": packageMaps.length
  203. });
  204. return ESPRequest.send("WsPackageProcess", "DeletePackage", {
  205. request: request,
  206. load: function (response) {
  207. if (context.checkExceptions(callback, response) &&
  208. context.checkStatus(callback, lang.exists("DeletePackageResponse.status", response),
  209. response.DeletePackageResponse.status))
  210. {
  211. callback.load(response.DeletePackageResponse);
  212. }
  213. },
  214. error: function (err) {
  215. context.errorMessageCallback(callback, err.message, err.stack);
  216. }
  217. });
  218. }
  219. };
  220. });