Skip to content

Commit a7371ce

Browse files
Add status_code to TaskComposerNodeInfo
1 parent 769a287 commit a7371ce

33 files changed

+358
-203
lines changed

tesseract_task_composer/core/include/tesseract_task_composer/core/task_composer_node_info.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,11 @@ class TaskComposerNodeInfo
9191
/** @brief Value returned from the Task on completion */
9292
int return_value{ -1 };
9393

94+
/** @brief Status code */
95+
int status_code{ 0 };
96+
9497
/** @brief Status message */
95-
std::string message;
98+
std::string status_message;
9699

97100
/** @brief The start time */
98101
std::chrono::system_clock::time_point start_time{ std::chrono::system_clock::now() };

tesseract_task_composer/core/include/tesseract_task_composer/core/test_suite/task_composer_node_info_unit.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ void runTaskComposerNodeInfoTest()
4444
{ // Default
4545
T node_info;
4646
EXPECT_EQ(node_info.return_value, -1);
47+
EXPECT_EQ(node_info.status_code, 0);
4748
EXPECT_TRUE(tesseract_common::almostEqualRelativeAndAbs(node_info.elapsed_time, 0));
4849
EXPECT_TRUE(node_info.uuid.is_nil());
4950
EXPECT_TRUE(node_info.parent_uuid.is_nil());
@@ -59,6 +60,7 @@ void runTaskComposerNodeInfoTest()
5960
TaskComposerNode node;
6061
T node_info(node);
6162
EXPECT_EQ(node_info.return_value, -1);
63+
EXPECT_EQ(node_info.status_code, 0);
6264
EXPECT_TRUE(tesseract_common::almostEqualRelativeAndAbs(node_info.elapsed_time, 0));
6365
EXPECT_FALSE(node_info.uuid.is_nil());
6466
EXPECT_EQ(node_info.uuid, node.getUUID());

tesseract_task_composer/core/src/nodes/done_task.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ std::unique_ptr<TaskComposerNodeInfo> DoneTask::runImpl(TaskComposerContext& /*c
4949
auto info = std::make_unique<TaskComposerNodeInfo>(*this);
5050
info->color = "green";
5151
info->return_value = 1;
52-
info->message = "Successful";
53-
CONSOLE_BRIDGE_logDebug("%s", info->message.c_str());
52+
info->status_code = 1;
53+
info->status_message = "Successful";
54+
CONSOLE_BRIDGE_logDebug("%s", info->status_message.c_str());
5455
return info;
5556
}
5657

tesseract_task_composer/core/src/nodes/error_task.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ std::unique_ptr<TaskComposerNodeInfo> ErrorTask::runImpl(TaskComposerContext& /*
4949
auto info = std::make_unique<TaskComposerNodeInfo>(*this);
5050
info->color = "red";
5151
info->return_value = 0;
52-
info->message = "Error";
53-
CONSOLE_BRIDGE_logDebug("%s", info->message.c_str());
52+
info->status_code = 0;
53+
info->status_message = "Error";
54+
CONSOLE_BRIDGE_logDebug("%s", info->status_message.c_str());
5455
return info;
5556
}
5657

tesseract_task_composer/core/src/nodes/remap_task.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,15 @@ std::unique_ptr<TaskComposerNodeInfo> RemapTask::runImpl(TaskComposerContext& co
7171
{
7272
info->color = "green";
7373
info->return_value = 1;
74-
info->message = "Successful";
74+
info->status_code = 1;
75+
info->status_message = "Successful";
7576
}
7677
else
7778
{
7879
info->color = "red";
7980
info->return_value = 0;
80-
info->message = "Failed to remap data.";
81+
info->status_code = 0;
82+
info->status_message = "Failed to remap data.";
8183
}
8284
return info;
8385
}

tesseract_task_composer/core/src/nodes/start_task.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@ std::unique_ptr<TaskComposerNodeInfo> StartTask::runImpl(TaskComposerContext& /*
5454
{
5555
auto info = std::make_unique<TaskComposerNodeInfo>(*this);
5656
info->color = "green";
57-
info->message = "Successful";
5857
info->return_value = 1;
58+
info->status_code = 1;
59+
info->status_message = "Successful";
5960
return info;
6061
}
6162

tesseract_task_composer/core/src/nodes/sync_task.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@ std::unique_ptr<TaskComposerNodeInfo> SyncTask::runImpl(TaskComposerContext& /*c
5454
{
5555
auto info = std::make_unique<TaskComposerNodeInfo>(*this);
5656
info->color = "green";
57-
info->message = "Successful";
5857
info->return_value = 1;
58+
info->status_code = 1;
59+
info->status_message = "Successful";
5960
return info;
6061
}
6162

tesseract_task_composer/core/src/task_composer_node.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ TaskComposerNode::dump(std::ostream& os,
168168
if (it != results_map.end())
169169
{
170170
os << "\\nTime: " << std::fixed << std::setprecision(3) << it->second->elapsed_time << "s"
171-
<< "\\n`" << it->second->message << "`";
171+
<< "\\n`" << std::to_string(it->second->status_code) << "::" << it->second->status_message << "`";
172172
}
173173
os << "\", color=black, fillcolor=" << color << ", style=filled];\n";
174174

@@ -205,7 +205,7 @@ TaskComposerNode::dump(std::ostream& os,
205205
if (it != results_map.end())
206206
{
207207
os << "\\nTime: " << std::fixed << std::setprecision(3) << it->second->elapsed_time << "s"
208-
<< "\\n'" << it->second->message << "'";
208+
<< "\\n'" << std::to_string(it->second->status_code) << "::" << it->second->status_message << "'";
209209
}
210210
os << "\", color=black, fillcolor=" << color << ", style=filled];\n";
211211

tesseract_task_composer/core/src/task_composer_node_info.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ bool TaskComposerNodeInfo::operator==(const TaskComposerNodeInfo& rhs) const
6363
equal &= uuid == rhs.uuid;
6464
equal &= parent_uuid == rhs.parent_uuid;
6565
equal &= return_value == rhs.return_value;
66-
equal &= message == rhs.message;
66+
equal &= status_code == rhs.status_code;
67+
equal &= status_message == rhs.status_message;
6768
equal &= start_time == rhs.start_time;
6869
equal &= tesseract_common::almostEqualRelativeAndAbs(elapsed_time, rhs.elapsed_time, max_diff);
6970
equal &= tesseract_common::isIdentical(inbound_edges, rhs.inbound_edges, false);
@@ -90,7 +91,8 @@ void TaskComposerNodeInfo::serialize(Archive& ar, const unsigned int /*version*/
9091
ar& boost::serialization::make_nvp("uuid", uuid);
9192
ar& boost::serialization::make_nvp("parent_uuid", parent_uuid);
9293
ar& boost::serialization::make_nvp("return_value", return_value);
93-
ar& boost::serialization::make_nvp("message", message);
94+
ar& boost::serialization::make_nvp("status_code", status_code);
95+
ar& boost::serialization::make_nvp("status_message", status_message);
9496
ar& boost::serialization::make_nvp("start_time",
9597
boost::serialization::make_binary_object(&start_time, sizeof(start_time)));
9698
ar& boost::serialization::make_nvp("elapsed_time", elapsed_time);

tesseract_task_composer/core/src/task_composer_pipeline.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ int TaskComposerPipeline::run(TaskComposerContext& context, OptionalTaskComposer
6060
info->input_keys = input_keys_;
6161
info->output_keys = output_keys_;
6262
info->return_value = 0;
63+
info->status_code = 0;
64+
info->status_message = "Aborted";
6365
info->color = "white";
64-
info->message = "Aborted";
6566
info->aborted_ = true;
6667
context.task_infos.addInfo(std::move(info));
6768
return 0;
@@ -78,7 +79,8 @@ int TaskComposerPipeline::run(TaskComposerContext& context, OptionalTaskComposer
7879
{
7980
results = std::make_unique<TaskComposerNodeInfo>(*this);
8081
results->color = "red";
81-
results->message = "Exception thrown: " + std::string(e.what());
82+
results->status_code = -1;
83+
results->status_message = "Exception thrown: " + std::string(e.what());
8284
results->return_value = 0;
8385
}
8486
timer.stop();
@@ -127,7 +129,8 @@ std::unique_ptr<TaskComposerNodeInfo> TaskComposerPipeline::runImpl(TaskComposer
127129
info->output_keys = output_keys_;
128130
info->return_value = static_cast<int>(i);
129131
info->color = node_info->color;
130-
info->message = node_info->message;
132+
info->status_code = node_info->status_code;
133+
info->status_message = node_info->status_message;
131134
info->elapsed_time = timer.elapsedSeconds();
132135
return info;
133136
}

0 commit comments

Comments
 (0)