From fd313ea89b8b54e2162fb9c73a50f55c3f11d7cf Mon Sep 17 00:00:00 2001
From: Ruud Overeem <overeem@astron.nl>
Date: Thu, 28 Jun 2012 16:21:37 +0000
Subject: [PATCH] Task #3394: Patch for ObservationControl: Check on number of
 stations only when processType=="Observation".

---
 MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc | 3 ++-
 MAC/APL/MainCU/src/ObservationControl/ObservationControl.h  | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
index 4a41c783d8e..1c3b4e215f6 100644
--- a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
+++ b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
@@ -97,6 +97,7 @@ ObservationControl::ObservationControl(const string&	cntlrName) :
 											 getString("Observation.stopTime"));
 	itsClaimPeriod   = globalParameterSet()->getTime  ("Observation.claimPeriod");
 	itsPreparePeriod = globalParameterSet()->getTime  ("Observation.preparePeriod");
+	itsProcessType   = globalParameterSet()->getString("Observation.processType", "Observation");
 
 	// Values from my conf file
 	itsLateLimit     = globalParameterSet()->getTime   ("ObservationControl.lateLimit", 15);
@@ -741,7 +742,7 @@ void  ObservationControl::doHeartBeatTask()
 		// if no more children left while we are not in the quit-phase
 		time_t	now   = to_time_t(second_clock::universal_time());
 		time_t	stop  = to_time_t(itsStopTime);
-		if (now < stop && itsChildControl->countChilds(0, CNTLRTYPE_STATIONCTRL)==0) {
+		if (now < stop && itsProcessType == "Observation" && itsChildControl->countChilds(0, CNTLRTYPE_STATIONCTRL)==0) {
 			LOG_FATAL("Too less stations left, FORCING QUIT OF OBSERVATION");
 			if (itsState < CTState::RESUME) {
 				itsQuitReason = CT_RESULT_LOST_CONNECTION;
diff --git a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h
index 2acf4d7417e..93ce5299b9b 100644
--- a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h
+++ b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h
@@ -162,6 +162,7 @@ private:
 	uint32					itsHeartBeatTimer;
 
 	// ParameterSet variables
+	string					itsProcessType;
 	string					itsTreePrefix;
 	uint32					itsTreeID;
 	uint32					itsHeartBeatItv;
-- 
GitLab