From 3300af6e77b017f5338732b0897b7ff16a9f584b Mon Sep 17 00:00:00 2001
From: Marcel Loose <loose@astron.nl>
Date: Tue, 16 Jan 2007 14:36:02 +0000
Subject: [PATCH] BugID: 991

Changed Correlation::Selection type from enum to string, since this simplifies
matters when interfacing with a database.
---
 CEP/BB/BBSControl/src/BBSStep.cc     | 5 ++---
 CEP/BB/BBSControl/src/BBSStrategy.cc | 8 ++++----
 CEP/BB/BBSControl/src/BBSStructs.cc  | 5 ++---
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/CEP/BB/BBSControl/src/BBSStep.cc b/CEP/BB/BBSControl/src/BBSStep.cc
index ec6b588d980..0544bdb586d 100644
--- a/CEP/BB/BBSControl/src/BBSStep.cc
+++ b/CEP/BB/BBSControl/src/BBSStep.cc
@@ -191,9 +191,8 @@ namespace LOFAR
       // type (e.g., ["XX", "XY", "YX", "YY"]
       try {
 	string sel = ps.getString("Correlation.Selection");
-	if      (sel == "ALL")   itsCorrelation.selection = Correlation::ALL;
-	else if (sel == "AUTO")  itsCorrelation.selection = Correlation::AUTO;
-	else if (sel == "CROSS") itsCorrelation.selection = Correlation::CROSS;
+	if (sel == "ALL" || sel == "AUTO" || sel == "CROSS") 
+	  itsCorrelation.selection = sel;
 	else THROW(BBSControlException, 
 		   "Invalid correlation selection " << sel);
 	itsCorrelation.type = ps.getStringVector("Correlation.Type");
diff --git a/CEP/BB/BBSControl/src/BBSStrategy.cc b/CEP/BB/BBSControl/src/BBSStrategy.cc
index 2e08f9d096a..b8984ed4b91 100644
--- a/CEP/BB/BBSControl/src/BBSStrategy.cc
+++ b/CEP/BB/BBSControl/src/BBSStrategy.cc
@@ -89,10 +89,10 @@ namespace LOFAR
 
       // Get the correlation product selection (ALL, AUTO, or CROSS)
       string sel = ps.getString("Correlation.Selection");
-      if      (sel == "ALL")   itsCorrelation.selection = Correlation::ALL;
-      else if (sel == "AUTO")  itsCorrelation.selection = Correlation::AUTO;
-      else if (sel == "CROSS") itsCorrelation.selection = Correlation::CROSS;
-      else THROW(BBSControlException, 
+      if (sel == "ALL" || sel == "AUTO" || sel == "CROSS")
+	itsCorrelation.selection = sel;
+      else
+      	THROW(BBSControlException, 
 		 "Invalid correlation selection " << sel);
       itsCorrelation.type = ps.getStringVector("Correlation.Type");
 
diff --git a/CEP/BB/BBSControl/src/BBSStructs.cc b/CEP/BB/BBSControl/src/BBSStructs.cc
index a82bf449d70..57b2b8da30d 100644
--- a/CEP/BB/BBSControl/src/BBSStructs.cc
+++ b/CEP/BB/BBSControl/src/BBSStructs.cc
@@ -112,7 +112,7 @@ namespace LOFAR
 
     BlobOStream& operator<<(BlobOStream& bos, const Correlation& obj)
     {
-      bos << static_cast<int32>(obj.selection)
+      bos << obj.selection
 	  << obj.type;
       return bos;
     }
@@ -167,8 +167,7 @@ namespace LOFAR
     BlobIStream& operator>>(BlobIStream& bis, Correlation& obj)
     {
       int32 selection;
-      bis >> selection;
-      obj.selection = static_cast<Correlation::Selection>(selection);
+      bis >> obj.selection;
       bis >> obj.type;
       return bis;
     }
-- 
GitLab