HierarchicalParmValueItem.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. "use strict";
  2. /**
  3. * Licensed Materials - Property of IBM
  4. * IBM Cognos Products: Cognos Analytics
  5. * Copyright IBM Corp. 2015, 2017
  6. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. */
  8. define(['underscore', 'bi/admin/common/utils/parameters/SimpleParmValueItem'], function (_, SimpleParmValueItem) {
  9. function HierarchicalParmValueItem() {
  10. //NOSONAR
  11. this._inclusive = true;
  12. this._value = new SimpleParmValueItem();
  13. this._subNodes = [];
  14. }
  15. HierarchicalParmValueItem.prototype.fromJSON = function (json) {
  16. if (json.inclusive) {
  17. this._inclusive = json.inclusive;
  18. }
  19. if (json.value) {
  20. this._value.fromJSON(json.value);
  21. }
  22. if (json.subNodes) {
  23. _.each(json.subNodes, function (subNodeJSON) {
  24. var subNode = new HierarchicalParmValueItem();
  25. subNode.fromJSON(subNodeJSON);
  26. this._subNodes.push(subNode);
  27. }.bind(this));
  28. }
  29. };
  30. HierarchicalParmValueItem.prototype.toXML = function (nodeName) {
  31. var subNodesXML = '<subNodes xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:hierarchicalParmValueItem[]">';
  32. _.each(this._subNodes, function (subNode) {
  33. subNodesXML += subNode.toXML('item');
  34. });
  35. subNodesXML += '</subNodes>';
  36. var hierarchicalParmValueItem = '<' + nodeName + ' xsi:type="bus:hierarchicalParmValueItem">' + '<inclusive xsi:type="xsd:boolean">' + this._inclusive + '</inclusive>' + this._value.toXML('value') + subNodesXML + '</' + nodeName + '>';
  37. return hierarchicalParmValueItem;
  38. };
  39. return HierarchicalParmValueItem;
  40. });