From 321b5c23dd0ad246c8bdbf850b3355d35a63e48f Mon Sep 17 00:00:00 2001 From: Nick Draper <nick.draper@stfc.ac.uk> Date: Tue, 17 Jan 2017 10:06:50 +0000 Subject: [PATCH] Release notes and improved error messages re #18844 --- Framework/Kernel/src/ConfigService.cpp | 13 ++++++++++--- docs/source/release/v3.9.0/framework.rst | 6 ++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Framework/Kernel/src/ConfigService.cpp b/Framework/Kernel/src/ConfigService.cpp index f6ad5cc02e1..553dd63948c 100644 --- a/Framework/Kernel/src/ConfigService.cpp +++ b/Framework/Kernel/src/ConfigService.cpp @@ -1689,24 +1689,31 @@ bool ConfigServiceImpl::addDirectoryifExists( void ConfigServiceImpl::updateFacilities(const std::string &fName) { clearFacilities(); - //search all of the instrument directories + // search all of the instrument directories std::vector<std::string> directoryNames = getInstrumentDirectories(); std::string fileName = ""; for (const auto &instrDir : directoryNames) { fileName = fName.empty() ? instrDir + "Facilities.xml" : fName; - Poco::File facilitiesFile(fileName); + Poco::File facilitiesFile(fileName); // stop when you find the first one if (facilitiesFile.exists()) break; } - // Set up the DOM parser and parse xml file Poco::XML::DOMParser pParser; Poco::AutoPtr<Poco::XML::Document> pDoc; try { + if (fileName.empty()) { + std::string directoryNamesList = + boost::algorithm::join(directoryNames, ", "); + throw std::runtime_error( + "Could not find a facilities info file! Searched for " + + directoryNamesList); + } + try { pDoc = pParser.parse(fileName); } catch (...) { diff --git a/docs/source/release/v3.9.0/framework.rst b/docs/source/release/v3.9.0/framework.rst index 6e4f624c950..2eecd5067bc 100644 --- a/docs/source/release/v3.9.0/framework.rst +++ b/docs/source/release/v3.9.0/framework.rst @@ -5,6 +5,12 @@ Framework Changes .. contents:: Table of Contents :local: +Facility Updates +---------------- + +- Mantid now supports automatic updates to the facilities.xml file in the same way that it does the instrument definitions. This allows extensions and changes to the list of supported instruments without needing to install a new release of Mantid. + - This has been initially put into place to support a data file naming change for Vesuvio, but will help for future changes as well. + Algorithms ---------- -- GitLab