diff --git a/Common/Servers/Scheduler/include/Core_Operations.h b/Common/Servers/Scheduler/include/Core_Operations.h index 54b2cdbf4f9dbf17110bb27ebf2029b28da1c78c..674ff34d575861b4c6d521e30dc150e532700d97 100644 --- a/Common/Servers/Scheduler/include/Core_Operations.h +++ b/Common/Servers/Scheduler/include/Core_Operations.h @@ -178,10 +178,11 @@ void _haltSchedule(); * @throw ManagementErrors::LogFileErrorExImpl * @thorw ManagementErrors::ScheduleNotExistExImpl * @throw ManagementErrors::CannotClosePendingTaskExImpl + * @throw ManagementErrors::ScheduleProjectNotMatchExImpl */ void _startSchedule(const char* scheduleFile,const char * startSubScan) throw (ManagementErrors::ScheduleErrorExImpl,ManagementErrors::AlreadyRunningExImpl, ComponentErrors::MemoryAllocationExImpl,ComponentErrors::CouldntGetComponentExImpl,ComponentErrors::CORBAProblemExImpl, - ManagementErrors::LogFileErrorExImpl,ManagementErrors::ScheduleNotExistExImpl,ManagementErrors::CannotClosePendingTaskExImpl); + ManagementErrors::LogFileErrorExImpl,ManagementErrors::ScheduleNotExistExImpl,ManagementErrors::CannotClosePendingTaskExImpl,ManagementErrors::ScheduleProjectNotMatchExImpl); /** * It allows to change the backend elected as default backend, the default backend is the device used for all operation (for example tsys) when a schedule is not running. diff --git a/Common/Servers/Scheduler/include/ScheduleExecutor.h b/Common/Servers/Scheduler/include/ScheduleExecutor.h index 61122ace4e99270a7897363216205f4265db51c1..a20144e6e0e3ea90729fe8100354aec483a561e9 100644 --- a/Common/Servers/Scheduler/include/ScheduleExecutor.h +++ b/Common/Servers/Scheduler/include/ScheduleExecutor.h @@ -72,11 +72,12 @@ public: * @throw ComponentErrors::CORBAProblemExImpl * @throw ManagementErrors::LogFileErrorExImpl * @thorw ManagementErrors::CannotClosePendingTaskExImpl + * @throw ManagementErrors::ScheduleProjectNotMatchExImpl */ void startSchedule(const char* scheduleFile,const char * subScanidentifier) throw (ManagementErrors::ScheduleErrorExImpl, ManagementErrors::AlreadyRunningExImpl,ComponentErrors::MemoryAllocationExImpl,ComponentErrors::CouldntGetComponentExImpl,ComponentErrors::CORBAProblemExImpl, ManagementErrors::LogFileErrorExImpl,ManagementErrors::ScheduleNotExistExImpl, - ManagementErrors::CannotClosePendingTaskExImpl); + ManagementErrors::CannotClosePendingTaskExImpl,ManagementErrors::ScheduleProjectNotMatchExImpl); /** * initialize the schedule executor. diff --git a/Common/Servers/Scheduler/src/Core_Operations.i b/Common/Servers/Scheduler/src/Core_Operations.i index 84e38722fdc54575c222ed638686a7d3a6eebd96..9893bcdbc8c677101286eaed5e6b9711d3bdc1d1 100644 --- a/Common/Servers/Scheduler/src/Core_Operations.i +++ b/Common/Servers/Scheduler/src/Core_Operations.i @@ -1156,12 +1156,11 @@ void CCore::_haltSchedule() void CCore::_startSchedule(const char* scheduleFile,const char * startSubScan) throw (ManagementErrors::ScheduleErrorExImpl,ManagementErrors::AlreadyRunningExImpl, ComponentErrors::MemoryAllocationExImpl,ComponentErrors::CouldntGetComponentExImpl,ComponentErrors::CORBAProblemExImpl, - ManagementErrors::LogFileErrorExImpl,ManagementErrors::ScheduleNotExistExImpl,ManagementErrors::CannotClosePendingTaskExImpl) + ManagementErrors::LogFileErrorExImpl,ManagementErrors::ScheduleNotExistExImpl,ManagementErrors::CannotClosePendingTaskExImpl, + ManagementErrors::ScheduleProjectNotMatchExImpl) { //no need to get the mutex, because it is already done inside the Schedule Executor thread if (m_schedExecuter) { - //ManagementErrors::ScheduleErrorExImpl, ManagementErrors::AlreadyRunningExImpl,ComponentErrors::MemoryAllocationExImpl,ComponentErrors::CouldntGetComponentExImpl, - //ComponentErrors::CORBAProblemExImpl,ManagementErrors::LogFileErrorExImpl,ManagementErrors::ScheduleNotExistExImpl m_schedExecuter->startSchedule(scheduleFile,startSubScan); } } diff --git a/Common/Servers/Scheduler/src/ScheduleExecutor.cpp b/Common/Servers/Scheduler/src/ScheduleExecutor.cpp index 14de2c323725c3d25493f1dbdf254749de78c0c7..7e01425ae3a284d693289f2f6fe0c2fbe7854bff 100644 --- a/Common/Servers/Scheduler/src/ScheduleExecutor.cpp +++ b/Common/Servers/Scheduler/src/ScheduleExecutor.cpp @@ -556,7 +556,7 @@ void CScheduleExecutor::initialize(maci::ContainerServices *services,const doubl void CScheduleExecutor::startSchedule(const char* scheduleFile,const char * subScanidentifier) throw ( ManagementErrors::ScheduleErrorExImpl, ManagementErrors::AlreadyRunningExImpl,ComponentErrors::MemoryAllocationExImpl,ComponentErrors::CouldntGetComponentExImpl, ComponentErrors::CORBAProblemExImpl,ManagementErrors::LogFileErrorExImpl,ManagementErrors::ScheduleNotExistExImpl, - ManagementErrors::CannotClosePendingTaskExImpl) + ManagementErrors::CannotClosePendingTaskExImpl,ManagementErrors::ScheduleProjectNotMatchExImpl) { baci::ThreadSyncGuard guard(&m_mutex); bool projectChanged;