From 91d0bfea27ef7155a902a611ebb575be2cb313ec Mon Sep 17 00:00:00 2001 From: Mariusz Wachowicz Date: Mon, 10 Jul 2017 12:09:04 +0200 Subject: [PATCH] small refactor replicated function in UIActivity removed vector in SwitchManaged changed to stack for better understanding Change-Id: If5a12e511279de5a81101031ec3b93b97070d458 --- src/SwitchManager.cpp | 10 +++++----- src/SwitchManager.hpp | 3 ++- src/UIActivity.cpp | 5 ----- src/UIActivity.hpp | 2 -- tests/ActivityProcessingTests.cpp | 12 ++++++------ tests/ConfigurationTests.hpp | 2 +- 6 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/SwitchManager.cpp b/src/SwitchManager.cpp index 08afff6..031d52d 100644 --- a/src/SwitchManager.cpp +++ b/src/SwitchManager.cpp @@ -89,7 +89,7 @@ void SwitchManager::setActivityFactory(const std::shared_ptr &f void SwitchManager::changeActivity(const std::shared_ptr &request) { ASSERT(request, "request is not initialized"); - if (activities.empty() || (activities.back() && activities.back()->getType() != request->getActivityType())) { + if (activities.empty() || (activities.top() && activities.top()->getType() != request->getActivityType())) { auto activity = activityFactory->createActivity(request->getActivityType()); if (!activity) { ERROR("Activity stack size: %d, unhandled activity type name: %s", activities.size(), request->getActivityType().c_str()); @@ -101,18 +101,18 @@ void SwitchManager::changeActivity(const std::shared_ptr auto uiActivity = dynamic_cast(activity.get()); if (uiActivity) - uiActivity->setUIElement(request->getUIElement()); + uiActivity->update(request->getUIElement()); - activities.push_back(activity); + activities.push(activity); } bool completed = false; if (activities.empty()) ERROR("No activity provided."); else - completed = activities.back()->process(); + completed = activities.top()->process(); if (completed) - activities.pop_back(); + activities.pop(); //TODO: check if activity change request observers are properly detached from activity object removed from activity stack } diff --git a/src/SwitchManager.hpp b/src/SwitchManager.hpp index ee1dd88..57004a6 100644 --- a/src/SwitchManager.hpp +++ b/src/SwitchManager.hpp @@ -11,6 +11,7 @@ #include "ActivityChangeRequestObserver.hpp" #include +#include class SwitchManager : public SwitchConfigurationItemObserver, public SwitchObserver, public std::enable_shared_from_this, public ActivityChangeRequestObserver { @@ -44,7 +45,7 @@ protected: std::shared_ptr configuration; std::shared_ptr activityFactory; - std::vector> activities; + std::stack> activities; private: void changeActivity(const std::shared_ptr &request); diff --git a/src/UIActivity.cpp b/src/UIActivity.cpp index ae9c680..8013464 100644 --- a/src/UIActivity.cpp +++ b/src/UIActivity.cpp @@ -24,8 +24,3 @@ void UIActivity::update(const std::shared_ptr &elem) { uiElement = elem; } - -void UIActivity::setUIElement(const std::shared_ptr &uiElement) -{ - this->uiElement = uiElement; -} diff --git a/src/UIActivity.hpp b/src/UIActivity.hpp index e4ae107..9a7dc04 100644 --- a/src/UIActivity.hpp +++ b/src/UIActivity.hpp @@ -17,8 +17,6 @@ public: void update(const std::shared_ptr &elem) override; - void setUIElement(const std::shared_ptr &uiElement); - private: std::shared_ptr uiElement; }; diff --git a/tests/ActivityProcessingTests.cpp b/tests/ActivityProcessingTests.cpp index 6445c28..419c2dc 100644 --- a/tests/ActivityProcessingTests.cpp +++ b/tests/ActivityProcessingTests.cpp @@ -19,7 +19,7 @@ TEST_F(ActivityProcessingFixture, FactoryWorks) TEST_F(ActivityProcessingFixture, ActivityNotFullyProcessed) { initialEnvironmentExpect(); - auto activity = switchManager_->getActivities().back(); + auto activity = switchManager_->getActivities().top(); ASSERT_NE(activity, nullptr); EXPECT_EQ(activity->getType(), "TWO_STEP_PROCESS_ACTIVITY"); } @@ -31,7 +31,7 @@ TEST_F(ActivityProcessingFixture, ActivityNotFullyProcessed) TEST_F(ActivityProcessingFixture, ActivityReady) { initialEnvironmentExpect(); - auto activity = switchManager_->getActivities().back(); + auto activity = switchManager_->getActivities().top(); ASSERT_NE(activity, nullptr); EXPECT_EQ(activity->getType(), "TWO_STEP_PROCESS_ACTIVITY"); @@ -47,25 +47,25 @@ TEST_F(ActivityProcessingFixture, ActivityReady) TEST_F(ActivityProcessingFixture, ActivityAbandoned) { initialEnvironmentExpect(); - auto activity = switchManager_->getActivities().back(); + auto activity = switchManager_->getActivities().top(); ASSERT_NE(activity, nullptr); EXPECT_EQ(activity->getType(), "TWO_STEP_PROCESS_ACTIVITY"); simulateKeyDown(keyMappedToThreeStepProcessActivity_); EXPECT_EQ(switchManager_->getActivities().size(), 2u); - activity = switchManager_->getActivities().back(); + activity = switchManager_->getActivities().top(); ASSERT_NE(activity, nullptr); EXPECT_EQ(activity->getType(), "THREE_STEP_PROCESS_ACTIVITY"); simulateKeyDown(keyMappedToThreeStepProcessActivity_); EXPECT_EQ(switchManager_->getActivities().size(), 2u); - activity = switchManager_->getActivities().back(); + activity = switchManager_->getActivities().top(); ASSERT_NE(activity, nullptr); EXPECT_EQ(activity->getType(), "THREE_STEP_PROCESS_ACTIVITY"); simulateKeyDown(keyMappedToThreeStepProcessActivity_); EXPECT_EQ(switchManager_->getActivities().size(), 1u); - activity = switchManager_->getActivities().back(); + activity = switchManager_->getActivities().top(); ASSERT_NE(activity, nullptr); EXPECT_EQ(activity->getType(), "TWO_STEP_PROCESS_ACTIVITY"); } diff --git a/tests/ConfigurationTests.hpp b/tests/ConfigurationTests.hpp index f623621..ef0739a 100644 --- a/tests/ConfigurationTests.hpp +++ b/tests/ConfigurationTests.hpp @@ -93,7 +93,7 @@ public: ++updatedWithSwitch; } - std::vector> getActivities() + std::stack> getActivities() { return activities; } -- 2.7.4