generated from wessel/boilerplate
fix(FinalGradeDeterminator): build error fix, implement datamap
Implement datamap to catch incoming grades and store them by student course and name
This commit is contained in:
@@ -12,7 +12,7 @@ FinalGradeDeterminator::FinalGradeDeterminator() : Node("final_grade_determinato
|
||||
exam_subscriber_ = this->create_subscription<g2_2025_interfaces::msg::Exam>(
|
||||
"exam_results", 10,
|
||||
std::bind(
|
||||
&ExamResultGenerator::exam_results_callback,
|
||||
&FinalGradeDeterminator::exam_results_callback,
|
||||
this,
|
||||
std::placeholders::_1
|
||||
)
|
||||
@@ -22,18 +22,24 @@ FinalGradeDeterminator::FinalGradeDeterminator() : Node("final_grade_determinato
|
||||
}
|
||||
|
||||
void FinalGradeDeterminator::exam_results_callback(const g2_2025_interfaces::msg::Exam::SharedPtr msg){
|
||||
dataMap_[{ msg->student_name, msg->course_name}].push_back(msg->result);
|
||||
if (dataMap_[{ msg->student_name, msg->course_name}].size() = PARAM)
|
||||
studentCourseCombo_.student_name = msg->student_name;
|
||||
studentCourseCombo_.course_name = msg->course_name;
|
||||
|
||||
dataMap_[studentCourseCombo_].push_back(msg->result);
|
||||
if (dataMap_[studentCourseCombo_].size() == PARAM)
|
||||
{
|
||||
|
||||
RCLCPP_INFO(this->get_logger(),
|
||||
"%s // %s is full",
|
||||
msg->student_name.c_str(), msg->course_name.c_str()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void FinalGradeDeterminator::grade_calculator_response(rclcpp::Client<g2_2025_interfaces::srv::Exams>::SharedFuture future){
|
||||
auto response = future.get();
|
||||
StudentCourse passthrough;
|
||||
passthrough.
|
||||
db_manager_->store_final_course_result()
|
||||
// StudentCourse passthrough;
|
||||
// passthrough.course_name
|
||||
// db_manager_->store_final_course_result();
|
||||
}
|
||||
|
||||
} // namespace assignments::one::final_grade_determinator
|
||||
|
||||
@@ -28,11 +28,12 @@ private:
|
||||
|
||||
std::unique_ptr<DatabaseManager> db_manager_;
|
||||
|
||||
std::map<std::pair<std::string, std::string>, std::vector<int>> dataMap_;
|
||||
StudentCourse studentCourseCombo_;
|
||||
StudentCourseResultMap dataMap_;
|
||||
|
||||
|
||||
|
||||
void exam_results_callback(const g2_2025_interfaces::msg::Exam::SharedPtr msg);
|
||||
void grade_calculator_response(rclcpp::Client<g2_2025_interfaces::srv::Exams>::SharedFuture future)
|
||||
void grade_calculator_response(rclcpp::Client<g2_2025_interfaces::srv::Exams>::SharedFuture future);
|
||||
};
|
||||
} // namespace assignments::one::final_grade_determinator
|
||||
Reference in New Issue
Block a user