From 964b00533a52a88d240446e1cabece42fb1186ce Mon Sep 17 00:00:00 2001
From: Owen Arnold <owen.arnold@stfc.ac.uk>
Date: Sun, 25 Oct 2015 19:58:29 +0000
Subject: [PATCH] refs #13989. Push issues upwards.

We need to be able to push issues back up to the caller.
---
 .../MantidQtCustomInterfaces/ReflLegacyTransferStrategy.h    | 2 +-
 .../MantidQtCustomInterfaces/ReflMeasureTransferStrategy.h   | 2 +-
 .../inc/MantidQtCustomInterfaces/ReflTransferStrategy.h      | 3 ++-
 MantidQt/CustomInterfaces/src/ReflLegacyTransferStrategy.cpp | 3 +--
 .../CustomInterfaces/src/ReflMeasureTransferStrategy.cpp     | 5 ++++-
 .../CustomInterfaces/test/ReflMeasureTransferStrategyTest.h  | 2 +-
 6 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflLegacyTransferStrategy.h b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflLegacyTransferStrategy.h
index 56f80e8afe0..4d259ed1394 100644
--- a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflLegacyTransferStrategy.h
+++ b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflLegacyTransferStrategy.h
@@ -35,7 +35,7 @@ namespace MantidQt
     {
     public:
       virtual std::vector<std::map<std::string, std::string>>
-      transferRuns(const SearchResultMap &searchResults,
+      transferRuns(SearchResultMap &searchResults,
                    Mantid::Kernel::ProgressBase &progress);
 
       virtual ReflLegacyTransferStrategy *clone() const;
diff --git a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMeasureTransferStrategy.h b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMeasureTransferStrategy.h
index 8efeb1fce25..87b6ae6ba25 100644
--- a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMeasureTransferStrategy.h
+++ b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflMeasureTransferStrategy.h
@@ -57,7 +57,7 @@ public:
   ReflMeasureTransferStrategy(const ReflMeasureTransferStrategy &other);
 
   virtual std::vector<std::map<std::string, std::string>>
-  transferRuns(const SearchResultMap &searchResults,
+  transferRuns(SearchResultMap &searchResults,
                Mantid::Kernel::ProgressBase &progress);
 
   virtual ReflMeasureTransferStrategy *clone() const;
diff --git a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflTransferStrategy.h b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflTransferStrategy.h
index 63ae6168664..9aa46b128cd 100644
--- a/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflTransferStrategy.h
+++ b/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ReflTransferStrategy.h
@@ -25,6 +25,7 @@ namespace MantidQt
         : description(desc), location(loc) {}
     std::string description;
     std::string location;
+    std::string issues;
   };
 
   /// Helper typdef for map of SearchResults keyed by run
@@ -67,7 +68,7 @@ namespace MantidQt
        * for those columns
        */
       virtual std::vector<std::map<std::string, std::string>>
-      transferRuns(const SearchResultMap &searchResults,
+      transferRuns(SearchResultMap &searchResults,
                    Mantid::Kernel::ProgressBase &progress) = 0;
 
       /**
diff --git a/MantidQt/CustomInterfaces/src/ReflLegacyTransferStrategy.cpp b/MantidQt/CustomInterfaces/src/ReflLegacyTransferStrategy.cpp
index 0be6a9dd31c..00ae00f823f 100644
--- a/MantidQt/CustomInterfaces/src/ReflLegacyTransferStrategy.cpp
+++ b/MantidQt/CustomInterfaces/src/ReflLegacyTransferStrategy.cpp
@@ -10,8 +10,7 @@ namespace MantidQt
   namespace CustomInterfaces
   {
   std::vector<std::map<std::string, std::string>>
-  ReflLegacyTransferStrategy::transferRuns(
-      const SearchResultMap &searchResults,
+  ReflLegacyTransferStrategy::transferRuns(SearchResultMap &searchResults,
       Mantid::Kernel::ProgressBase &progress) {
       /*
        * If the descriptions are the same except for theta: same group, different rows.
diff --git a/MantidQt/CustomInterfaces/src/ReflMeasureTransferStrategy.cpp b/MantidQt/CustomInterfaces/src/ReflMeasureTransferStrategy.cpp
index 15e655a239e..9254ac0cb87 100644
--- a/MantidQt/CustomInterfaces/src/ReflMeasureTransferStrategy.cpp
+++ b/MantidQt/CustomInterfaces/src/ReflMeasureTransferStrategy.cpp
@@ -40,7 +40,7 @@ ReflMeasureTransferStrategy::~ReflMeasureTransferStrategy() {}
 
 std::vector<std::map<std::string, std::string>>
 MantidQt::CustomInterfaces::ReflMeasureTransferStrategy::transferRuns(
-    const SearchResultMap &searchResults,
+    SearchResultMap &searchResults,
     Mantid::Kernel::ProgressBase &progress) {
 
   typedef std::vector<Measurement> VecSameMeasurement;
@@ -69,6 +69,9 @@ MantidQt::CustomInterfaces::ReflMeasureTransferStrategy::transferRuns(
         mapOfMeasurements[metaData.id()].push_back(metaData);
       }
     }
+    else{
+        it->second.issues = metaData.whyUnuseable();
+    }
 
     // Obtaining metadata could take time.
     progress.report();
diff --git a/MantidQt/CustomInterfaces/test/ReflMeasureTransferStrategyTest.h b/MantidQt/CustomInterfaces/test/ReflMeasureTransferStrategyTest.h
index 95cca9b968d..e46cdabfc0b 100644
--- a/MantidQt/CustomInterfaces/test/ReflMeasureTransferStrategyTest.h
+++ b/MantidQt/CustomInterfaces/test/ReflMeasureTransferStrategyTest.h
@@ -214,7 +214,7 @@ public:
 
     MockProgressBase progress;
     // Nothing obtained. No progress to report.
-    EXPECT_CALL(progress, doReport(_)).Times(Exactly(0));
+    EXPECT_CALL(progress, doReport(_)).Times(Exactly(1));
 
     ReflMeasureTransferStrategy strategy(
         std::move(std::unique_ptr<MockICatalogInfo>(mockCatInfo)),
-- 
GitLab