DescribeFlowInstanceResult.cc 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  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. #include <alibabacloud/emr/model/DescribeFlowInstanceResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Emr;
  19. using namespace AlibabaCloud::Emr::Model;
  20. DescribeFlowInstanceResult::DescribeFlowInstanceResult() :
  21. ServiceResult()
  22. {}
  23. DescribeFlowInstanceResult::DescribeFlowInstanceResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. DescribeFlowInstanceResult::~DescribeFlowInstanceResult()
  29. {}
  30. void DescribeFlowInstanceResult::parse(const std::string &payload)
  31. {
  32. Json::Reader reader;
  33. Json::Value value;
  34. reader.parse(payload, value);
  35. setRequestId(value["RequestId"].asString());
  36. auto allDependencyFlowListNode = value["DependencyFlowList"]["ParentFlow"];
  37. for (auto valueDependencyFlowListParentFlow : allDependencyFlowListNode)
  38. {
  39. ParentFlow dependencyFlowListObject;
  40. if(!valueDependencyFlowListParentFlow["ProjectId"].isNull())
  41. dependencyFlowListObject.projectId = valueDependencyFlowListParentFlow["ProjectId"].asString();
  42. if(!valueDependencyFlowListParentFlow["FlowId"].isNull())
  43. dependencyFlowListObject.flowId = valueDependencyFlowListParentFlow["FlowId"].asString();
  44. if(!valueDependencyFlowListParentFlow["DependencyFlowId"].isNull())
  45. dependencyFlowListObject.dependencyFlowId = valueDependencyFlowListParentFlow["DependencyFlowId"].asString();
  46. if(!valueDependencyFlowListParentFlow["FlowInstanceId"].isNull())
  47. dependencyFlowListObject.flowInstanceId = valueDependencyFlowListParentFlow["FlowInstanceId"].asString();
  48. if(!valueDependencyFlowListParentFlow["DependencyInstanceId"].isNull())
  49. dependencyFlowListObject.dependencyInstanceId = valueDependencyFlowListParentFlow["DependencyInstanceId"].asString();
  50. if(!valueDependencyFlowListParentFlow["ScheduleKey"].isNull())
  51. dependencyFlowListObject.scheduleKey = valueDependencyFlowListParentFlow["ScheduleKey"].asString();
  52. if(!valueDependencyFlowListParentFlow["BizDate"].isNull())
  53. dependencyFlowListObject.bizDate = std::stol(valueDependencyFlowListParentFlow["BizDate"].asString());
  54. if(!valueDependencyFlowListParentFlow["Meet"].isNull())
  55. dependencyFlowListObject.meet = valueDependencyFlowListParentFlow["Meet"].asString() == "true";
  56. dependencyFlowList_.push_back(dependencyFlowListObject);
  57. }
  58. auto allNodeInstanceNode = value["NodeInstance"]["NodeInstanceItem"];
  59. for (auto valueNodeInstanceNodeInstanceItem : allNodeInstanceNode)
  60. {
  61. NodeInstanceItem nodeInstanceObject;
  62. if(!valueNodeInstanceNodeInstanceItem["Id"].isNull())
  63. nodeInstanceObject.id = valueNodeInstanceNodeInstanceItem["Id"].asString();
  64. if(!valueNodeInstanceNodeInstanceItem["GmtCreate"].isNull())
  65. nodeInstanceObject.gmtCreate = std::stol(valueNodeInstanceNodeInstanceItem["GmtCreate"].asString());
  66. if(!valueNodeInstanceNodeInstanceItem["GmtModified"].isNull())
  67. nodeInstanceObject.gmtModified = std::stol(valueNodeInstanceNodeInstanceItem["GmtModified"].asString());
  68. if(!valueNodeInstanceNodeInstanceItem["Type"].isNull())
  69. nodeInstanceObject.type = valueNodeInstanceNodeInstanceItem["Type"].asString();
  70. if(!valueNodeInstanceNodeInstanceItem["Status"].isNull())
  71. nodeInstanceObject.status = valueNodeInstanceNodeInstanceItem["Status"].asString();
  72. if(!valueNodeInstanceNodeInstanceItem["JobId"].isNull())
  73. nodeInstanceObject.jobId = valueNodeInstanceNodeInstanceItem["JobId"].asString();
  74. if(!valueNodeInstanceNodeInstanceItem["JobName"].isNull())
  75. nodeInstanceObject.jobName = valueNodeInstanceNodeInstanceItem["JobName"].asString();
  76. if(!valueNodeInstanceNodeInstanceItem["JobType"].isNull())
  77. nodeInstanceObject.jobType = valueNodeInstanceNodeInstanceItem["JobType"].asString();
  78. if(!valueNodeInstanceNodeInstanceItem["FailAct"].isNull())
  79. nodeInstanceObject.failAct = valueNodeInstanceNodeInstanceItem["FailAct"].asString();
  80. if(!valueNodeInstanceNodeInstanceItem["MaxRetry"].isNull())
  81. nodeInstanceObject.maxRetry = valueNodeInstanceNodeInstanceItem["MaxRetry"].asString();
  82. if(!valueNodeInstanceNodeInstanceItem["RetryInterval"].isNull())
  83. nodeInstanceObject.retryInterval = valueNodeInstanceNodeInstanceItem["RetryInterval"].asString();
  84. if(!valueNodeInstanceNodeInstanceItem["NodeName"].isNull())
  85. nodeInstanceObject.nodeName = valueNodeInstanceNodeInstanceItem["NodeName"].asString();
  86. if(!valueNodeInstanceNodeInstanceItem["ClusterId"].isNull())
  87. nodeInstanceObject.clusterId = valueNodeInstanceNodeInstanceItem["ClusterId"].asString();
  88. if(!valueNodeInstanceNodeInstanceItem["HostName"].isNull())
  89. nodeInstanceObject.hostName = valueNodeInstanceNodeInstanceItem["HostName"].asString();
  90. if(!valueNodeInstanceNodeInstanceItem["ProjectId"].isNull())
  91. nodeInstanceObject.projectId = valueNodeInstanceNodeInstanceItem["ProjectId"].asString();
  92. if(!valueNodeInstanceNodeInstanceItem["Pending"].isNull())
  93. nodeInstanceObject.pending = valueNodeInstanceNodeInstanceItem["Pending"].asString() == "true";
  94. if(!valueNodeInstanceNodeInstanceItem["StartTime"].isNull())
  95. nodeInstanceObject.startTime = std::stol(valueNodeInstanceNodeInstanceItem["StartTime"].asString());
  96. if(!valueNodeInstanceNodeInstanceItem["EndTime"].isNull())
  97. nodeInstanceObject.endTime = std::stol(valueNodeInstanceNodeInstanceItem["EndTime"].asString());
  98. if(!valueNodeInstanceNodeInstanceItem["Duration"].isNull())
  99. nodeInstanceObject.duration = std::stol(valueNodeInstanceNodeInstanceItem["Duration"].asString());
  100. if(!valueNodeInstanceNodeInstanceItem["Retries"].isNull())
  101. nodeInstanceObject.retries = std::stoi(valueNodeInstanceNodeInstanceItem["Retries"].asString());
  102. if(!valueNodeInstanceNodeInstanceItem["ExternalId"].isNull())
  103. nodeInstanceObject.externalId = valueNodeInstanceNodeInstanceItem["ExternalId"].asString();
  104. if(!valueNodeInstanceNodeInstanceItem["ExternalStatus"].isNull())
  105. nodeInstanceObject.externalStatus = valueNodeInstanceNodeInstanceItem["ExternalStatus"].asString();
  106. if(!valueNodeInstanceNodeInstanceItem["ExternalInfo"].isNull())
  107. nodeInstanceObject.externalInfo = valueNodeInstanceNodeInstanceItem["ExternalInfo"].asString();
  108. nodeInstance_.push_back(nodeInstanceObject);
  109. }
  110. if(!value["Id"].isNull())
  111. id_ = value["Id"].asString();
  112. if(!value["GmtCreate"].isNull())
  113. gmtCreate_ = std::stol(value["GmtCreate"].asString());
  114. if(!value["GmtModified"].isNull())
  115. gmtModified_ = std::stol(value["GmtModified"].asString());
  116. if(!value["FlowId"].isNull())
  117. flowId_ = value["FlowId"].asString();
  118. if(!value["FlowName"].isNull())
  119. flowName_ = value["FlowName"].asString();
  120. if(!value["ProjectId"].isNull())
  121. projectId_ = value["ProjectId"].asString();
  122. if(!value["Status"].isNull())
  123. status_ = value["Status"].asString();
  124. if(!value["ClusterId"].isNull())
  125. clusterId_ = value["ClusterId"].asString();
  126. if(!value["StartTime"].isNull())
  127. startTime_ = std::stol(value["StartTime"].asString());
  128. if(!value["EndTime"].isNull())
  129. endTime_ = std::stol(value["EndTime"].asString());
  130. if(!value["Duration"].isNull())
  131. duration_ = std::stol(value["Duration"].asString());
  132. if(!value["ScheduleTime"].isNull())
  133. scheduleTime_ = std::stol(value["ScheduleTime"].asString());
  134. if(!value["Graph"].isNull())
  135. graph_ = value["Graph"].asString();
  136. if(!value["CronExpression"].isNull())
  137. cronExpression_ = value["CronExpression"].asString();
  138. if(!value["HasNodeFailed"].isNull())
  139. hasNodeFailed_ = value["HasNodeFailed"].asString() == "true";
  140. }
  141. std::string DescribeFlowInstanceResult::getStatus()const
  142. {
  143. return status_;
  144. }
  145. bool DescribeFlowInstanceResult::getHasNodeFailed()const
  146. {
  147. return hasNodeFailed_;
  148. }
  149. long DescribeFlowInstanceResult::getEndTime()const
  150. {
  151. return endTime_;
  152. }
  153. std::string DescribeFlowInstanceResult::getClusterId()const
  154. {
  155. return clusterId_;
  156. }
  157. long DescribeFlowInstanceResult::getGmtModified()const
  158. {
  159. return gmtModified_;
  160. }
  161. std::string DescribeFlowInstanceResult::getProjectId()const
  162. {
  163. return projectId_;
  164. }
  165. long DescribeFlowInstanceResult::getStartTime()const
  166. {
  167. return startTime_;
  168. }
  169. long DescribeFlowInstanceResult::getDuration()const
  170. {
  171. return duration_;
  172. }
  173. std::string DescribeFlowInstanceResult::getFlowId()const
  174. {
  175. return flowId_;
  176. }
  177. long DescribeFlowInstanceResult::getGmtCreate()const
  178. {
  179. return gmtCreate_;
  180. }
  181. std::string DescribeFlowInstanceResult::getGraph()const
  182. {
  183. return graph_;
  184. }
  185. long DescribeFlowInstanceResult::getScheduleTime()const
  186. {
  187. return scheduleTime_;
  188. }
  189. std::string DescribeFlowInstanceResult::getFlowName()const
  190. {
  191. return flowName_;
  192. }
  193. std::string DescribeFlowInstanceResult::getId()const
  194. {
  195. return id_;
  196. }
  197. std::string DescribeFlowInstanceResult::getCronExpression()const
  198. {
  199. return cronExpression_;
  200. }
  201. std::vector<DescribeFlowInstanceResult::ParentFlow> DescribeFlowInstanceResult::getDependencyFlowList()const
  202. {
  203. return dependencyFlowList_;
  204. }
  205. std::vector<DescribeFlowInstanceResult::NodeInstanceItem> DescribeFlowInstanceResult::getNodeInstance()const
  206. {
  207. return nodeInstance_;
  208. }