From 245ed39b78c6ce99ff8189c32082b729ec1b8cb2 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Sat, 31 Dec 2016 16:15:24 -0500 Subject: [PATCH] Task: Improved method signature --- src/TDB2.cpp | 5 +---- src/Task.cpp | 26 ++++++++++++-------------- src/Task.h | 6 +++--- src/commands/CmdDiagnostics.cpp | 5 +---- src/commands/CmdEdit.cpp | 3 +-- src/dependency.cpp | 3 +-- src/feedback.cpp | 30 +++++++----------------------- 7 files changed, 26 insertions(+), 52 deletions(-) diff --git a/src/TDB2.cpp b/src/TDB2.cpp index 1961a8e9f..6e326cb2a 100644 --- a/src/TDB2.cpp +++ b/src/TDB2.cpp @@ -528,10 +528,7 @@ void TF2::dependency_scan () { if (left.has ("depends")) { - std::vector deps; - left.getDependencies (deps); - - for (auto& dep : deps) + for (auto& dep : left.getDependencyUUIDs ()) { for (auto& right : _tasks) { diff --git a/src/Task.cpp b/src/Task.cpp index a6c82c5e6..18d189981 100644 --- a/src/Task.cpp +++ b/src/Task.cpp @@ -1186,35 +1186,33 @@ void Task::removeDependency (int id) } //////////////////////////////////////////////////////////////////////////////// -void Task::getDependencies (std::vector & all) const +std::vector Task::getDependencyIDs () const { - auto deps = split (get ("depends"), ','); - - all.clear (); - - for (auto& dep : deps) + std::vector all; + for (auto& dep : split (get ("depends"), ',')) all.push_back (context.tdb2.pending.id (dep)); + + return all; } //////////////////////////////////////////////////////////////////////////////// -void Task::getDependencies (std::vector & all) const +std::vector Task::getDependencyUUIDs () const { - all = split (get ("depends"), ','); + return split (get ("depends"), ','); } //////////////////////////////////////////////////////////////////////////////// -void Task::getDependencies (std::vector & all) const +std::vector Task::getDependencyTasks () const { - std::vector deps = split (get ("depends"), ','); - - all.clear (); - - for (auto& dep : deps) + std::vector all; + for (auto& dep : split (get ("depends"), ',')) { Task task; context.tdb2.get (dep, task); all.push_back (task); } + + return all; } #endif diff --git a/src/Task.h b/src/Task.h index 72939ad4a..cf2c7d076 100644 --- a/src/Task.h +++ b/src/Task.h @@ -141,9 +141,9 @@ public: #ifdef PRODUCT_TASKWARRIOR void removeDependency (int); void removeDependency (const std::string&); - void getDependencies (std::vector &) const; - void getDependencies (std::vector &) const; - void getDependencies (std::vector &) const; + std::vector getDependencyIDs () const; + std::vector getDependencyUUIDs () const; + std::vector getDependencyTasks () const; std::vector getUDAOrphanUUIDs () const; diff --git a/src/commands/CmdDiagnostics.cpp b/src/commands/CmdDiagnostics.cpp index 0e9789f64..2a5f6dd73 100644 --- a/src/commands/CmdDiagnostics.cpp +++ b/src/commands/CmdDiagnostics.cpp @@ -456,10 +456,7 @@ int CmdDiagnostics::execute (std::string& output) for (auto& task : all) { // Check dependencies - std::vector dependencies; - task.getDependencies(dependencies); - - for (auto& uuid : dependencies) + for (auto& uuid : task.getDependencyUUIDs ()) { if (! context.tdb2.has (uuid)) { diff --git a/src/commands/CmdEdit.cpp b/src/commands/CmdEdit.cpp index b669286c7..dbffde4a1 100644 --- a/src/commands/CmdEdit.cpp +++ b/src/commands/CmdEdit.cpp @@ -256,8 +256,7 @@ std::string CmdEdit::formatTask (Task task, const std::string& dateformat) before << " Annotation: " << now.toString (dateformat) << " -- \n"; // Add dependencies here. - std::vector dependencies; - task.getDependencies (dependencies); + auto dependencies = task.getDependencyUUIDs (); std::stringstream allDeps; for (unsigned int i = 0; i < dependencies.size (); ++i) { diff --git a/src/dependency.cpp b/src/dependency.cpp index de4f6ee94..11f9f8346 100644 --- a/src/dependency.cpp +++ b/src/dependency.cpp @@ -82,8 +82,7 @@ bool dependencyIsCircular (const Task& task) while (! s.empty ()) { Task& current = s.top (); - std::vector deps_current; - current.getDependencies (deps_current); + auto deps_current = current.getDependencyUUIDs (); // This is a basic depth first search that always terminates given the // fact that we do not visit any task twice diff --git a/src/feedback.cpp b/src/feedback.cpp index bbb9e057b..dac344ade 100644 --- a/src/feedback.cpp +++ b/src/feedback.cpp @@ -84,8 +84,7 @@ std::string taskDifferences (const Task& before, const Task& after) { if (name == "depends") { - std::vector deps_after; - after.getDependencies (deps_after); + auto deps_after = after.getDependencyTasks (); out << " - " << format (STRING_FEEDBACK_DEP_SET, taskIdentifiers (deps_after)) @@ -110,12 +109,10 @@ std::string taskDifferences (const Task& before, const Task& after) { if (name == "depends") { - std::vector deps_before; - before.getDependencies (deps_before); + auto deps_before = before.getDependencyTasks (); std::string from = taskIdentifiers (deps_before); - std::vector deps_after; - after.getDependencies (deps_after); + auto deps_after = after.getDependencyTasks (); std::string to = taskIdentifiers (deps_after); out << " - " @@ -169,11 +166,7 @@ std::string taskInfoDifferences ( { if (name == "depends") { - std::vector deps_before; - before.getDependencies (deps_before); - std::string from = taskIdentifiers (deps_before); - - out << format (STRING_FEEDBACK_DEP_DEL, from) + out << format (STRING_FEEDBACK_DEP_DEL, taskIdentifiers (before.getDependencyTasks ())) << "\n"; } else if (name.substr (0, 11) == "annotation_") @@ -198,11 +191,7 @@ std::string taskInfoDifferences ( { if (name == "depends") { - std::vector deps_after; - after.getDependencies (deps_after); - std::string to = taskIdentifiers (deps_after); - - out << format (STRING_FEEDBACK_DEP_WAS_SET, to) + out << format (STRING_FEEDBACK_DEP_WAS_SET, taskIdentifiers (after.getDependencyTasks ())) << "\n"; } else if (name.substr (0, 11) == "annotation_") @@ -231,13 +220,8 @@ std::string taskInfoDifferences ( { if (name == "depends") { - std::vector deps_before; - before.getDependencies (deps_before); - std::string from = taskIdentifiers (deps_before); - - std::vector deps_after; - after.getDependencies (deps_after); - std::string to = taskIdentifiers (deps_after); + auto from = taskIdentifiers (before.getDependencyTasks ()); + auto to = taskIdentifiers (after.getDependencyTasks ()); out << format (STRING_FEEDBACK_DEP_WAS_MOD, from, to) << "\n";