diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/WorkspaceValidators.h b/Code/Mantid/Framework/API/inc/MantidAPI/WorkspaceValidators.h index 09a2a82af1fc77244e01d1b304187d13fe02652f..cee300775198ff69e51525eb063e989618caa797 100644 --- a/Code/Mantid/Framework/API/inc/MantidAPI/WorkspaceValidators.h +++ b/Code/Mantid/Framework/API/inc/MantidAPI/WorkspaceValidators.h @@ -4,13 +4,14 @@ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- -#include "MantidKernel/IValidator.h" -#include "MantidAPI/Workspace.h" #include "MantidAPI/IEventWorkspace.h" #include "MantidAPI/MatrixWorkspace.h" +#include "MantidAPI/Workspace.h" +#include "MantidKernel/CompositeValidator.h" +#include "MantidKernel/IValidator.h" #include <boost/shared_ptr.hpp> -#include <vector> #include <numeric> +#include <vector> namespace Mantid { @@ -45,65 +46,8 @@ namespace API Code Documentation is available at: <http://doxygen.mantidproject.org> */ template <typename TYPE = MatrixWorkspace> -class DLLExport CompositeValidator : public Kernel::IValidator<boost::shared_ptr<TYPE> > +class DLLExport CompositeWorkspaceValidator : public Kernel::CompositeValidator<boost::shared_ptr<TYPE> > { -public: - CompositeValidator() {} - - virtual ~CompositeValidator() - { - for (unsigned int i=0; i < m_children.size(); ++i) - { - delete m_children[i]; - } - m_children.clear(); - } - - // IValidator methods - ///Gets the type of the validator - std::string getType() const { return "composite"; } - - Kernel::IValidator<boost::shared_ptr<TYPE> >* clone() - { - CompositeValidator<TYPE>* copy = new CompositeValidator<TYPE>(); - for (unsigned int i=0; i < m_children.size(); ++i) - { - copy->add( m_children[i]->clone() ); - } - return copy; - } - - /** Adds a validator to the group of validators to check - * @param child :: A pointer to the validator to add - */ - void add(Kernel::IValidator<boost::shared_ptr<TYPE> >* child) - { - m_children.push_back(child); - } - -private: - /// Private Copy constructor: NO DIRECT COPY ALLOWED - CompositeValidator(const CompositeValidator&); - - /** Checks the value of all child validators. Fails if any child fails. - * @param value :: The workspace to test - * @return A user level description of the first problem it finds otherwise "" - */ - std::string checkValidity( const boost::shared_ptr<TYPE>& value ) const - { - //Go though all the validators - for (unsigned int i=0; i < m_children.size(); ++i) - { - std::string error = m_children[i]->isValid(value); - //exit on the first error, to avoid passing doing more tests on invalid objects that could fail - if (error != "") return error; - } - //there were no errors - return ""; - } - - /// A container for the child validators - std::vector<Kernel::IValidator<boost::shared_ptr<TYPE> >*> m_children; }; diff --git a/Code/Mantid/Framework/Algorithms/CMakeLists.txt b/Code/Mantid/Framework/Algorithms/CMakeLists.txt index cce2d59e77a3a086caa5c518c5e1199d0bcf5859..c7cf969d185c461fb3d36e2bd48c6597126de0d9 100644 --- a/Code/Mantid/Framework/Algorithms/CMakeLists.txt +++ b/Code/Mantid/Framework/Algorithms/CMakeLists.txt @@ -52,6 +52,7 @@ set ( SRC_FILES src/DiffractionFocussing2.cpp src/Divide.cpp src/DspacemaptoCal.cpp + src/Dummy.cpp src/EQSANSResolution.cpp src/EQSANSTofStructure.cpp src/EditTOFPowderDiffractomerGeometry.cpp @@ -213,6 +214,7 @@ set ( INC_FILES inc/MantidAlgorithms/DiffractionFocussing2.h inc/MantidAlgorithms/Divide.h inc/MantidAlgorithms/DspacemaptoCal.h + inc/MantidAlgorithms/Dummy.h inc/MantidAlgorithms/EQSANSResolution.h inc/MantidAlgorithms/EQSANSTofStructure.h inc/MantidAlgorithms/EditTOFPowderDiffractomerGeometry.h @@ -371,6 +373,7 @@ set ( TEST_FILES test/DiffractionFocussing2Test.h test/DivideTest.h test/DspacemaptoCalTest.h + test/DummyTest.h test/EditTOFPowderDiffractomerGeometryTest.h test/ExponentialCorrectionTest.h test/ExponentialTest.h diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/Dummy.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/Dummy.h new file mode 100644 index 0000000000000000000000000000000000000000..cd107faf50b9780b78743812ad32025adeb6caff --- /dev/null +++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/Dummy.h @@ -0,0 +1,65 @@ +#ifndef MANTID_ALGORITHMS_DUMMY_H_ +#define MANTID_ALGORITHMS_DUMMY_H_ + +#include "MantidKernel/System.h" +#include "MantidAPI/Algorithm.h" + +namespace Mantid +{ +namespace Algorithms +{ + + /** Dummy : TODO: DESCRIPTION + + @author + @date 2011-08-25 + + Copyright © 2011 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory + + This file is part of Mantid. + + Mantid is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + Mantid is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid> + Code Documentation is available at: <http://doxygen.mantidproject.org> + */ + class DLLExport Dummy : public API::Algorithm + { + public: + Dummy(); + ~Dummy(); + + /// Algorithm's name for identification + virtual const std::string name() const { return "Dummy";}; + /// Algorithm's version for identification + virtual int version() const { return 1;}; + /// Algorithm's category for identification + virtual const std::string category() const { return "General";} + + private: + /// Sets documentation strings for this algorithm + virtual void initDocs(); + /// Initialise the properties + void init(); + /// Run the algorithm + void exec(); + + + }; + + +} // namespace Algorithms +} // namespace Mantid + +#endif /* MANTID_ALGORITHMS_DUMMY_H_ */ diff --git a/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp index e9f8f8042543cd21e7d14a4e9b11649198aa63cd..8926a5ad6cd66d3df256ab1f57e6876e0c5208a9 100644 --- a/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp @@ -27,7 +27,7 @@ AbsorptionCorrection::AbsorptionCorrection() : API::Algorithm(), m_inputWS(), void AbsorptionCorrection::init() { // The input workspace must have an instrument and units of wavelength - CompositeValidator<> * wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> * wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<> ("Wavelength")); wsValidator->add(new InstrumentValidator<>()); diff --git a/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp index e1a83e3ba9e7d11b1d7930d18de9d13fad82d31a..8e39510e01f9520e81653cedfb00cd981a4ae0fb 100644 --- a/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp @@ -151,7 +151,7 @@ AlignDetectors::~AlignDetectors() //----------------------------------------------------------------------- void AlignDetectors::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; //Workspace unit must be TOF. wsValidator->add(new WorkspaceUnitValidator<>("TOF")); wsValidator->add(new RawCountValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp index 1bed63325b812063596f0984ac2e5ef13943a2e5..8d141f8fb906cb5d9218bc2bc5fe2822282fb423 100644 --- a/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp @@ -26,7 +26,7 @@ using namespace Geometry; void ApplyTransmissionCorrection::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input,wsValidator), diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp index 170a662cd46f5ddbd35eb7774d3dd21e588097c7..6c74465d1f501a5b1d1d5d1d15a129abc724b096 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp @@ -34,7 +34,7 @@ CalculateTransmission::~CalculateTransmission() void CalculateTransmission::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new CommonBinsValidator<>); wsValidator->add(new HistogramValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp index aa30bec1200e9fce1a425762e5c10607e5658bb5..32bfd89ab3f939f88346817b4c6db0488020db66 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp @@ -34,7 +34,7 @@ CalculateTransmissionBeamSpreader::~CalculateTransmissionBeamSpreader() void CalculateTransmissionBeamSpreader::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new CommonBinsValidator<>); wsValidator->add(new HistogramValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/ChopData.cpp b/Code/Mantid/Framework/Algorithms/src/ChopData.cpp index fe286ae9017a5f8dfa5c81129bf0faf9ffdb03b0..3ee22a8fa489170e5a1b6b8c6f01f8d5c92d2aee 100644 --- a/Code/Mantid/Framework/Algorithms/src/ChopData.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ChopData.cpp @@ -14,7 +14,7 @@ DECLARE_ALGORITHM(ChopData) void ChopData::init() { - CompositeValidator<> *wsVal = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsVal = new CompositeWorkspaceValidator<>; wsVal->add(new WorkspaceUnitValidator<>("TOF")); wsVal->add(new HistogramValidator<>); wsVal->add(new SpectraAxisValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp index f02a6cec0353ec3f7dad87c1415934301e0a6b49..227255840d83cd7a15a2319db39e5d56ca253002 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp @@ -24,7 +24,7 @@ using namespace API; void ConvertFromDistribution::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new HistogramValidator<>); wsValidator->add(new RawCountValidator<>(false)); declareProperty(new WorkspaceProperty<>("Workspace", "", diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp index fd0d19e71f98cf28a909e8da1ae1cf543f92159c..6f0b4d7c9ae82e99325c82ad059b0544a25d074d 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp @@ -54,7 +54,7 @@ namespace Algorithms void ConvertSpectrumAxis::init() { // Validator for Input Workspace - CompositeValidator<> *wsVal = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsVal = new CompositeWorkspaceValidator<>; wsVal->add(new HistogramValidator<>); wsVal->add(new SpectraAxisValidator<>); wsVal->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp index 455f981f6ddbf8961bba1a784b9e40026a1653aa..baf3f833e63f90750de21b36f8568a73ec9941bf 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp @@ -24,7 +24,7 @@ using namespace API; void ConvertToDistribution::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new HistogramValidator<>); wsValidator->add(new RawCountValidator<>); declareProperty( diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp index 856da1ed42d9e6c3cd46e9010b305b7fca009286..06878ebb16b4bac338570a77642af34ecc6b4396 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp @@ -44,7 +44,7 @@ ConvertUnits::~ConvertUnits() /// Initialisation method void ConvertUnits::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<API::MatrixWorkspace>("InputWorkspace","",Direction::Input,wsValidator), diff --git a/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp b/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp index 8589b7a0e90d199b013a168c99e6327a78c81b51..aaaf0cad8172a65f706726f2fb464f95ca311686 100644 --- a/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp @@ -42,7 +42,7 @@ CorrectKiKf::~CorrectKiKf() /// Initialisation method void CorrectKiKf::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("DeltaE")); this->declareProperty(new WorkspaceProperty<API::MatrixWorkspace>("InputWorkspace","",Direction::Input,wsValidator), diff --git a/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp b/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp index c0156c969d1d8ef4ca6abccf30a3a26a24f6ec0e..b12fede03418deb6b597cd6b2be6b9b358c4a1ad 100644 --- a/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp @@ -42,7 +42,7 @@ namespace Mantid /// Initialisation method. void CrossCorrelate::init() { - API::CompositeValidator<MatrixWorkspace> *wsValidator = new API::CompositeValidator<MatrixWorkspace>; + API::CompositeWorkspaceValidator<MatrixWorkspace> *wsValidator = new API::CompositeWorkspaceValidator<MatrixWorkspace>; wsValidator->add(new API::WorkspaceUnitValidator<MatrixWorkspace>("dSpacing")); wsValidator->add(new API::RawCountValidator<MatrixWorkspace>); diff --git a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp index d5e2824a390ea942df254c25edccfd978c955a9e..7e7c1430d94718b4f21baa0910f08f7632603b00 100644 --- a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp @@ -79,7 +79,7 @@ DetectorEfficiencyCor::DetectorEfficiencyCor() : */ void DetectorEfficiencyCor::init() { - CompositeValidator<> *val = new CompositeValidator<>; + CompositeWorkspaceValidator<> *val = new CompositeWorkspaceValidator<>; val->add(new WorkspaceUnitValidator<>("DeltaE")); val->add(new HistogramValidator<>); val->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp index 5201bc0989197f4bd14a3d4919450bad912c983d..126cce87452d87f99fc466c10e501aba82757a17 100644 --- a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp @@ -56,7 +56,7 @@ DiffractionFocussing2::~DiffractionFocussing2() void DiffractionFocussing2::init() { - API::CompositeValidator<MatrixWorkspace> *wsValidator = new API::CompositeValidator<MatrixWorkspace>; + API::CompositeWorkspaceValidator<MatrixWorkspace> *wsValidator = new API::CompositeWorkspaceValidator<MatrixWorkspace>; // wsValidator->add(new API::WorkspaceUnitValidator<MatrixWorkspace>("dSpacing")); wsValidator->add(new API::RawCountValidator<MatrixWorkspace>); declareProperty( diff --git a/Code/Mantid/Framework/Algorithms/src/Dummy.cpp b/Code/Mantid/Framework/Algorithms/src/Dummy.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bc79db40aa37ff8841085ce4a6ef259093af7688 --- /dev/null +++ b/Code/Mantid/Framework/Algorithms/src/Dummy.cpp @@ -0,0 +1,59 @@ +#include "MantidAlgorithms/Dummy.h" +#include "MantidKernel/System.h" + +using namespace Mantid::Kernel; +using namespace Mantid::API; + +namespace Mantid +{ +namespace Algorithms +{ + + // Register the algorithm into the AlgorithmFactory + //DECLARE_ALGORITHM(Dummy) + + + + //---------------------------------------------------------------------------------------------- + /** Constructor + */ + Dummy::Dummy() + { + } + + //---------------------------------------------------------------------------------------------- + /** Destructor + */ + Dummy::~Dummy() + { + } + + + //---------------------------------------------------------------------------------------------- + /// Sets documentation strings for this algorithm + void Dummy::initDocs() + { + this->setOptionalMessage("Dummy algorithm for testing"); + + } + + //---------------------------------------------------------------------------------------------- + /** Initialize the algorithm's properties. + */ + void Dummy::init() + { + declareProperty("IntNumber", 123); + } + + //---------------------------------------------------------------------------------------------- + /** Execute the algorithm. + */ + void Dummy::exec() + { + } + + + +} // namespace Mantid +} // namespace Algorithms + diff --git a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp index 884d6357e4b33164235654398df2fa463564000d..f38d68ee345ed1c5cb56a6a69bf003ad196672a9 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp @@ -35,7 +35,7 @@ using namespace Geometry; void FindCenterOfMassPosition::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input,wsValidator)); diff --git a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp index 72ae4bd03c9126ac4e999b71f550efaff30fd6aa..0127790c819660827a3ab109a4637c7eea1d56a6 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp @@ -38,7 +38,7 @@ using namespace DataObjects; void FindCenterOfMassPosition2::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input,wsValidator)); diff --git a/Code/Mantid/Framework/Algorithms/src/GetEi.cpp b/Code/Mantid/Framework/Algorithms/src/GetEi.cpp index ee8a2996a4218df43c0a43f3fd9c6a266f69ee31..e7563708d0fb3d7703c4fc33b298633741d74e30 100644 --- a/Code/Mantid/Framework/Algorithms/src/GetEi.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GetEi.cpp @@ -49,7 +49,7 @@ GetEi::GetEi() : Algorithm(), void GetEi::init() { // Declare required input parameters for algorithm and do some validation here - CompositeValidator<> *val = new CompositeValidator<>; + CompositeWorkspaceValidator<> *val = new CompositeWorkspaceValidator<>; val->add(new WorkspaceUnitValidator<>("TOF")); val->add(new HistogramValidator<>); val->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp b/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp index ca1c154b7ac98ea3efb5e211fd55130a92bc9369..1cf04bef1b1c8f03a6a9e9d58f72fb0734d087b8 100644 --- a/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp @@ -44,7 +44,7 @@ GetEi2::GetEi2() : Algorithm(), m_input_ws(), m_peak1_pos(0, 0.0), m_fixedei(fal void GetEi2::init() {// Declare required input parameters for algorithm and do some validation here - CompositeValidator<> *validator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *validator = new CompositeWorkspaceValidator<>; validator->add(new WorkspaceUnitValidator<>("TOF")); validator->add(new HistogramValidator<>); validator->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/GhostCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/GhostCorrection.cpp index 9fa9a3dfd161c5739032ebeed3b59ecdbbffec69..73763b697e35b37928372b90e0a7f9b7d319f80c 100644 --- a/Code/Mantid/Framework/Algorithms/src/GhostCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GhostCorrection.cpp @@ -73,7 +73,7 @@ namespace Mantid nGroups = 0; //Input workspace must be in dSpacing and be an inputWorkspace - API::CompositeValidator<EventWorkspace> *wsValidator = new API::CompositeValidator<EventWorkspace>; + API::CompositeWorkspaceValidator<EventWorkspace> *wsValidator = new API::CompositeWorkspaceValidator<EventWorkspace>; wsValidator->add(new API::WorkspaceUnitValidator<EventWorkspace>("TOF")); wsValidator->add(new API::RawCountValidator<EventWorkspace>); diff --git a/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp b/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp index b4cad0c7f19fbb225e33773bb2974dd8fc17d41e..dd42d9736607d2d94735a03ddd9dad5d16684b39 100644 --- a/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp +++ b/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp @@ -54,7 +54,7 @@ He3TubeEfficiency::~He3TubeEfficiency() */ void He3TubeEfficiency::init() { - API::CompositeValidator<> *wsValidator = new API::CompositeValidator<>; + API::CompositeWorkspaceValidator<> *wsValidator = new API::CompositeWorkspaceValidator<>; wsValidator->add(new API::WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new API::HistogramValidator<>); wsValidator->add(new API::InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp b/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp index 3c8773ae6740f57c658e6f12a94f3edc710ef88d..e67862a8a5aebca490396353a557e263811fbaa7 100644 --- a/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp +++ b/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp @@ -50,7 +50,7 @@ IQTransform::~IQTransform() {} void IQTransform::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; // Require the input to be in units of Q and to be a distribution // (which the result of a SANS reduction in Mantid will be) wsValidator->add(new WorkspaceUnitValidator<>("MomentumTransfer")); diff --git a/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp index a8d60ba2f9da9e0e7bf88b80e7ac696c446e5d64..a5436de11eb3ddbd3ea935d3032e5a77c3a79a0e 100644 --- a/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp @@ -20,7 +20,7 @@ void IdentifyNoisyDetectors::initDocs() void IdentifyNoisyDetectors::init() { - CompositeValidator<> *wsVal = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsVal = new CompositeWorkspaceValidator<>; wsVal->add(new WorkspaceUnitValidator<>("TOF")); wsVal->add(new HistogramValidator<>); wsVal->add(new SpectraAxisValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp index 58deba9103cc02cd0b7ea5d2786ff1580029e2af..74be0cbbfb0fe4726deff899e1337c22a5131992 100644 --- a/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp @@ -30,7 +30,7 @@ namespace Mantid DECLARE_ALGORITHM(MonteCarloAbsorption) using API::WorkspaceProperty; - using API::CompositeValidator; + using API::CompositeWorkspaceValidator; using API::WorkspaceUnitValidator; using API::InstrumentValidator; using API::MatrixWorkspace_sptr; @@ -74,7 +74,7 @@ namespace Mantid void MonteCarloAbsorption::init() { // The input workspace must have an instrument and units of wavelength - CompositeValidator<> * wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> * wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<> ("Wavelength")); wsValidator->add(new InstrumentValidator<>()); diff --git a/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp b/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp index 283b262b2ad77b77df1da44e82db3d466d7bf16d..c5179c6e1e2dbf7aa84b58b37c1dc9da3bf207b0 100644 --- a/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp @@ -40,7 +40,7 @@ void NormaliseToMonitor::initDocs() void NormaliseToMonitor::init() { - CompositeValidator<> *val = new CompositeValidator<>; + CompositeWorkspaceValidator<> *val = new CompositeWorkspaceValidator<>; val->add(new HistogramValidator<>); val->add(new RawCountValidator<>); // It's been said that we should restrict the unit to being wavelength, but I'm not sure about that... diff --git a/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp b/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp index b7e076878ce97bf555ef83c10c16639f1dd5d266..57be247ddd37baa06f3b54728fa5bacf373d74ac 100644 --- a/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp +++ b/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp @@ -30,7 +30,7 @@ using namespace API; */ void NormaliseToUnity::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new HistogramValidator<>); wsValidator->add(new CommonBinsValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/PDFFT.cpp b/Code/Mantid/Framework/Algorithms/src/PDFFT.cpp index 695657508c8ddc5d12de7a9f47cacae79f69b4cb..383fe1ba9ffb0293ebb36cb4e4a64fd545cd9e22 100644 --- a/Code/Mantid/Framework/Algorithms/src/PDFFT.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PDFFT.cpp @@ -39,7 +39,7 @@ void PDFFT::initDocs() { void PDFFT::init() { API::WorkspaceUnitValidator<>* uv = new API::WorkspaceUnitValidator<>( "MomentumTransfer"); - // CompositeValidator<> *wsValidator = new CompositeValidator<>; + // CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; // wsValidator->add(new WorkspaceUnitValidator<>("MomentumTransfer")); // declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input, wsValidator), "An input workspace S(d)."); declareProperty(new WorkspaceProperty<> ("InputWorkspace", "", diff --git a/Code/Mantid/Framework/Algorithms/src/Q1D.cpp b/Code/Mantid/Framework/Algorithms/src/Q1D.cpp index fbf884101ccfb261e1e9a85e44624e95501db36e..a8a3b0b111a02d67526a0e779fffed980d497351 100644 --- a/Code/Mantid/Framework/Algorithms/src/Q1D.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Q1D.cpp @@ -33,7 +33,7 @@ using namespace Geometry; void Q1D::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp b/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp index f467f232c1a5091642d0c17159080b6eaa27ee9d..58293f8e6fc759d1f3dba32f6a85ba8955500904 100644 --- a/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp @@ -33,7 +33,7 @@ using namespace Geometry; void Q1D2::init() { - CompositeValidator<> *dataVal = new CompositeValidator<>; + CompositeWorkspaceValidator<> *dataVal = new CompositeWorkspaceValidator<>; dataVal->add(new WorkspaceUnitValidator<>("Wavelength")); dataVal->add(new HistogramValidator<>); dataVal->add(new InstrumentValidator<>); @@ -49,7 +49,7 @@ void Q1D2::init() declareProperty(new WorkspaceProperty<>("PixelAdj","", Direction::Input, true), "The scaling to apply to each spectrum e.g. for detector efficiency, must have\n" "the same number of spectra as the DetBankWorkspace"); - CompositeValidator<> *wavVal = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wavVal = new CompositeWorkspaceValidator<>; wavVal->add(new WorkspaceUnitValidator<>("Wavelength")); wavVal->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("WavelengthAdj", "", Direction::Input, true, wavVal), diff --git a/Code/Mantid/Framework/Algorithms/src/Q1DTOF.cpp b/Code/Mantid/Framework/Algorithms/src/Q1DTOF.cpp index f098358a21f74b138e9615d6790cd9c7fa26e9c2..1e0e364dcf7428501b9a612a9c9061cb5b66b539 100644 --- a/Code/Mantid/Framework/Algorithms/src/Q1DTOF.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Q1DTOF.cpp @@ -36,7 +36,7 @@ using namespace DataObjects; void Q1DTOF::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp b/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp index 58806f34fdb167d4873ec89615613619c12ad281..c7e4572a88f14f3d6f8bea13dbfc5585606845ab 100644 --- a/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp @@ -36,7 +36,7 @@ using namespace DataObjects; void Q1DWeighted::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/Qxy.cpp b/Code/Mantid/Framework/Algorithms/src/Qxy.cpp index bc2ebe974a22e917c9b9350268bdd7823bdad93f..12873d383aac50edf5739bd48f6016926258c65a 100644 --- a/Code/Mantid/Framework/Algorithms/src/Qxy.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Qxy.cpp @@ -30,7 +30,7 @@ using namespace Geometry; void Qxy::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new InstrumentValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/Regroup.cpp b/Code/Mantid/Framework/Algorithms/src/Regroup.cpp index 2621a1c2e5ecb2dce62dbd1ff36ee4afb15a1feb..4887468866d36457e1443949338796f9bf38cba5 100644 --- a/Code/Mantid/Framework/Algorithms/src/Regroup.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Regroup.cpp @@ -39,7 +39,7 @@ using API::MatrixWorkspace; /// Initialisation method. Declares properties to be used in algorithm. void Regroup::init() { - API::CompositeValidator<> *wsVal = new API::CompositeValidator<>; + API::CompositeWorkspaceValidator<> *wsVal = new API::CompositeWorkspaceValidator<>; wsVal->add(new API::HistogramValidator<>); wsVal->add(new API::CommonBinsValidator<>); declareProperty( diff --git a/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp b/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp index e2ec20a0f3cc6df9cf1ddd7d71b64ab361aaeb71..f5c262b337eac8b6da9620ea4e0b9489f79eb669 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp @@ -33,7 +33,7 @@ RemoveBins::RemoveBins() : API::Algorithm(), m_rangeUnit() */ void RemoveBins::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input,wsValidator), diff --git a/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp b/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp index eb03665ee2a4be21438365a78f85ad16f1cd165b..eec699c946ff998b7a0cca0d6405ed7a999d5d2b 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp @@ -56,7 +56,7 @@ const string RemoveLowResTOF::category() const void RemoveLowResTOF::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("TOF")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new RawCountValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp b/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp index 1f3e502ff7f37c1b9ea3b8ca9d34b37968a52752..63c7b85047b6eabced16e217391d4602454cc9f8 100644 --- a/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp @@ -36,7 +36,7 @@ using namespace DataObjects; void SANSDirectBeamScaling::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input,wsValidator)); diff --git a/Code/Mantid/Framework/Algorithms/src/SofQW.cpp b/Code/Mantid/Framework/Algorithms/src/SofQW.cpp index 08f3c660b4ae7d8ab5d8f556dacd9f04ffe9cfc2..7fb3096578bef2551071248e383d3eafe3f66ede 100644 --- a/Code/Mantid/Framework/Algorithms/src/SofQW.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SofQW.cpp @@ -32,7 +32,7 @@ using namespace API; void SofQW::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("DeltaE")); wsValidator->add(new SpectraAxisValidator<>()); wsValidator->add(new CommonBinsValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp index e007f1fbe9de4d9d8b8cc1e77287026a4a4d0d9d..d12f7e78ea9cc1bb3ce8e7ddf05f4140ee6fd8a3 100644 --- a/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp @@ -38,7 +38,7 @@ SphericalAbsorption::SphericalAbsorption() : API::Algorithm(), m_inputWS(), void SphericalAbsorption::init() { // The input workspace must have an instrument and units of wavelength - CompositeValidator<> * wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> * wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<> ("Wavelength")); wsValidator->add(new InstrumentValidator<>()); diff --git a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp index be44eefb3aad1486d9674ab19d886db123066c8d..2704120b7be8f0b7c7fb8d4bd6c237f8cc65f986 100755 --- a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp @@ -36,7 +36,7 @@ void TOFSANSResolution::init() declareProperty(new WorkspaceProperty<Workspace2D>("InputWorkspace","",Direction::InOut, new WorkspaceUnitValidator<Workspace2D>("MomentumTransfer")), "Name the workspace to calculate the resolution for"); - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); declareProperty(new WorkspaceProperty<>("ReducedWorkspace","",Direction::Input, wsValidator), "I(Q) workspace"); diff --git a/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp b/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp index 540301b21f3e2143d37027a98709f0436327d876..23d5ac7ce9a4816a550ceca71c04bb5ed5b66b51 100644 --- a/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp @@ -35,7 +35,7 @@ UnwrapMonitor::~UnwrapMonitor() /// Initialisation method void UnwrapMonitor::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("TOF")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new RawCountValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp b/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp index c0a9bd9540d254cb8362d6969fcd30965f1705f8..e82207030288f3bcf036bb17c8c3ce8844075f38 100644 --- a/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp @@ -64,7 +64,7 @@ const std::string UnwrapSNS::category() const /// Initialisation method void UnwrapSNS::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("TOF")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new RawCountValidator<>); diff --git a/Code/Mantid/Framework/Algorithms/test/DummyTest.h b/Code/Mantid/Framework/Algorithms/test/DummyTest.h new file mode 100644 index 0000000000000000000000000000000000000000..0a8af7a66dbb7107fcb2c0e3d880411760a6ad43 --- /dev/null +++ b/Code/Mantid/Framework/Algorithms/test/DummyTest.h @@ -0,0 +1,33 @@ +#ifndef MANTID_ALGORITHMS_DUMMYTEST_H_ +#define MANTID_ALGORITHMS_DUMMYTEST_H_ + +#include <cxxtest/TestSuite.h> +#include "MantidKernel/Timer.h" +#include "MantidKernel/System.h" +#include <iostream> +#include <iomanip> + +#include "MantidAlgorithms/Dummy.h" + +using namespace Mantid; +using namespace Mantid::Algorithms; +using namespace Mantid::API; + +class DummyTest : public CxxTest::TestSuite +{ +public: + + + void test_Init() + { + Dummy alg; + TS_ASSERT_THROWS_NOTHING( alg.initialize() ) + TS_ASSERT( alg.isInitialized() ) + } + + +}; + + +#endif /* MANTID_ALGORITHMS_DUMMYTEST_H_ */ + diff --git a/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp b/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp index 151228c2b728f15d575712c9e398fb6a4449ba56..9ad5c89922b1b0f0f27d343659f3db41bd2c529d 100644 --- a/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp +++ b/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp @@ -68,7 +68,7 @@ AnvredCorrection::AnvredCorrection() : API::Algorithm() void AnvredCorrection::init() { // The input workspace must have an instrument and units of wavelength - CompositeValidator<> * wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> * wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<> ("Wavelength")); wsValidator->add(new InstrumentValidator<>()); diff --git a/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp b/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp index fe71151ac635e69701505a5071ac416e6a3e1875..67b029ce03bcef5f9ab8fc67ce0275899a8cf845 100644 --- a/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp +++ b/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp @@ -37,7 +37,7 @@ FindDetectorsPar::~FindDetectorsPar(){}; void FindDetectorsPar::init() { - CompositeValidator<> * wsValidator = new CompositeValidator<> ; + CompositeWorkspaceValidator<> * wsValidator = new CompositeWorkspaceValidator<> ; wsValidator->add(new API::InstrumentValidator<>); wsValidator->add(new API::CommonBinsValidator<>); // input workspace diff --git a/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp b/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp index cd0be6b845d1461676181326af63b97db7235382..56e6fd32c9097bfb80d2029416076c8a874e267f 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp @@ -44,7 +44,7 @@ LoadDetectorInfo::LoadDetectorInfo() void LoadDetectorInfo::init() { // Declare required input parameters for algorithm - CompositeValidator<> *val = new CompositeValidator<>; + CompositeWorkspaceValidator<> *val = new CompositeWorkspaceValidator<>; val->add(new WorkspaceUnitValidator<>("TOF")); val->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("Workspace","",Direction::InOut,val), diff --git a/Code/Mantid/Framework/DataHandling/src/SaveDASC.cpp b/Code/Mantid/Framework/DataHandling/src/SaveDASC.cpp index f489af124c39c0d3748c98b36eb0651fd791f080..ed8fa58983cfc0d6122e4843386e032d28fd1614 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveDASC.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveDASC.cpp @@ -28,7 +28,7 @@ void SaveDASC::initDocs() */ void SaveDASC::init() { - API::CompositeValidator<> *wsValidator = new API::CompositeValidator<>; + API::CompositeWorkspaceValidator<> *wsValidator = new API::CompositeWorkspaceValidator<>; // Data must havec common bins wsValidator->add(new API::CommonBinsValidator<>); // the output of this algorithm is spectrum data, not histogram, but as a histogram to spectrum conversion is built in a spectrum as input would be no good, at the moment diff --git a/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp b/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp index 8efd79dcab23cc2282ccfe98f5fe027da4cc875b..8bd2483a80aa86be92593291699d6d14eaf86f36 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp @@ -28,7 +28,7 @@ using namespace Geometry; void SaveNISTDAT::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("MomentumTransfer")); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input, wsValidator)); diff --git a/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp b/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp index c009b2499f0d29e5308e9593554cfc9dc82ae02f..36d81499e0182d5763ec499f10edabebfc128e2f 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp @@ -48,7 +48,7 @@ namespace Mantid exts), "The name of the NXSPE file to write, as a full or relative path"); - CompositeValidator<> * wsValidator = new CompositeValidator<> ; + CompositeWorkspaceValidator<> * wsValidator = new CompositeWorkspaceValidator<> ; wsValidator->add(new API::WorkspaceUnitValidator<>("DeltaE")); wsValidator->add(new API::CommonBinsValidator<>); wsValidator->add(new API::HistogramValidator<>); diff --git a/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp b/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp index 2ae51cc051cdc3cdfdfa658d4a2d5d0f7459c649..9d331feb2fcdb68a1d7f583961c56111b1ffac10 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp @@ -50,7 +50,7 @@ namespace Mantid void SaveSPE::init() { // Data must be in Energy Transfer and common bins - API::CompositeValidator<> *wsValidator = new API::CompositeValidator<>; + API::CompositeWorkspaceValidator<> *wsValidator = new API::CompositeWorkspaceValidator<>; wsValidator->add(new API::WorkspaceUnitValidator<>("DeltaE")); wsValidator->add(new API::CommonBinsValidator<>); wsValidator->add(new API::HistogramValidator<>); diff --git a/Code/Mantid/Framework/DataObjects/test/WorkspaceValidatorsTest.h b/Code/Mantid/Framework/DataObjects/test/WorkspaceValidatorsTest.h index c387d44d70da7372736cc99460e763d730137e8b..ab1e0ce198cdc25343e9ad1d0ebc7647e4d67d3c 100644 --- a/Code/Mantid/Framework/DataObjects/test/WorkspaceValidatorsTest.h +++ b/Code/Mantid/Framework/DataObjects/test/WorkspaceValidatorsTest.h @@ -19,7 +19,7 @@ private: RawCountValidator<>* rawVal; RawCountValidator<>* nonRawVal; CommonBinsValidator<>* binVal; - CompositeValidator<> compVal; + CompositeWorkspaceValidator<> compVal; MatrixWorkspace_sptr ws1; MatrixWorkspace_sptr ws2; @@ -164,20 +164,20 @@ public: delete v; } - void testCompositeValidator_getType() + void testCompositeWorkspaceValidator_getType() { TS_ASSERT_EQUALS( compVal.getType(), "composite" ); } - void testCompositeValidator_clone() + void testCompositeWorkspaceValidator_clone() { IValidator<MatrixWorkspace_sptr> *v = compVal.clone(); TS_ASSERT_DIFFERS( v, &compVal ); - TS_ASSERT( dynamic_cast<CompositeValidator<>*>(v) ); + TS_ASSERT( v ); delete v; } - void testCompositeValidator_isValidandAdd() + void testCompositeWorkspaceValidator_isValidandAdd() { // Passes if empty TS_ASSERT_EQUALS( compVal.isValid(ws1), "" ); @@ -187,7 +187,7 @@ public: "The workspace must have units of Wavelength"); TS_ASSERT_EQUALS( compVal.isValid(ws2), "" ); - CompositeValidator<> compVal2; + CompositeWorkspaceValidator<> compVal2; compVal2.add(histVal->clone()); TS_ASSERT_EQUALS( compVal2.isValid(ws1), "" ); TS_ASSERT_EQUALS( compVal2.isValid(ws2), diff --git a/Code/Mantid/Framework/Kernel/CMakeLists.txt b/Code/Mantid/Framework/Kernel/CMakeLists.txt index 60832c8064bf8f0f3c3084a976f5c9431220b5d9..67739e345b6b972b27d483a8b7f53be865a4fd6e 100644 --- a/Code/Mantid/Framework/Kernel/CMakeLists.txt +++ b/Code/Mantid/Framework/Kernel/CMakeLists.txt @@ -5,6 +5,7 @@ set ( SRC_FILES src/Atom.cpp src/BinFinder.cpp src/CPUTimer.cpp + src/CompositeValidator.cpp src/ConfigService.cpp src/DateAndTime.cpp src/DateValidator.cpp @@ -92,6 +93,7 @@ set ( INC_FILES inc/MantidKernel/BoundedValidator.h inc/MantidKernel/CPUTimer.h inc/MantidKernel/Cache.h + inc/MantidKernel/CompositeValidator.h inc/MantidKernel/ConfigService.h inc/MantidKernel/DataService.h inc/MantidKernel/DateAndTime.h @@ -181,6 +183,7 @@ set ( TEST_FILES test/BoundedValidatorTest.h test/CPUTimerTest.h test/CacheTest.h + test/CompositeValidatorTest.h test/ConfigServiceTest.h test/DateAndTimeTest.h test/DateValidatorTest.h diff --git a/Code/Mantid/Framework/Kernel/inc/MantidKernel/CompositeValidator.h b/Code/Mantid/Framework/Kernel/inc/MantidKernel/CompositeValidator.h new file mode 100644 index 0000000000000000000000000000000000000000..50b7683a41abebf145d612f00a9fb4705d537015 --- /dev/null +++ b/Code/Mantid/Framework/Kernel/inc/MantidKernel/CompositeValidator.h @@ -0,0 +1,130 @@ +#ifndef MANTID_KERNEL_COMPOSITEVALIDATOR_H_ +#define MANTID_KERNEL_COMPOSITEVALIDATOR_H_ + +#include "MantidKernel/System.h" +#include "MantidKernel/IValidator.h" +#include <vector> + + +namespace Mantid +{ +namespace Kernel +{ + + + //=============================================================================================== + /** A composite validator that can combine any 2+ arbitrary validators together. + + @author Russell Taylor, Janik Zikovsky + @date Aug 25, 2011 + + Copyright © 2008-2010 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory + + This file is part of Mantid. + + Mantid is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + Mantid is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>. + Code Documentation is available at: <http://doxygen.mantidproject.org> + */ + template <typename TYPE> + class DLLExport CompositeValidator : public Kernel::IValidator<TYPE> + { + public: + CompositeValidator() {} + + virtual ~CompositeValidator() + { + for (unsigned int i=0; i < m_children.size(); ++i) + { + delete m_children[i]; + } + m_children.clear(); + } + + // IValidator methods + ///Gets the type of the validator + std::string getType() const { return "composite"; } + + // ------------------------------------------------------------------------------------ + Kernel::IValidator<TYPE>* clone() + { + CompositeValidator<TYPE>* copy = new CompositeValidator<TYPE>(); + for (unsigned int i=0; i < m_children.size(); ++i) + { + copy->add( m_children[i]->clone() ); + } + return copy; + } + + // ------------------------------------------------------------------------------------ + /** Adds a validator to the group of validators to check + * @param child :: A pointer to the validator to add + */ + void add(Kernel::IValidator<TYPE>* child) + { + m_children.push_back(child); + } + + // ------------------------------------------------------------------------------------ + /** @return true if ALL the validators say that it is enabled */ + virtual bool isEnabled() const + { + bool out = true; + for (unsigned int i=0; i < m_children.size(); ++i) + out = out && m_children[i]->isEnabled(); + return out; + } + + // ------------------------------------------------------------------------------------ + /** @return true if ALL the validators say that it is visible */ + virtual bool isVisible() const + { + bool out = true; + for (unsigned int i=0; i < m_children.size(); ++i) + out = out && m_children[i]->isVisible(); + return out; + } + + + private: + /// Private Copy constructor: NO DIRECT COPY ALLOWED + CompositeValidator(const CompositeValidator&); + + /** Checks the value of all child validators. Fails if any child fails. + * @param value :: The workspace to test + * @return A user level description of the first problem it finds otherwise "" + */ + std::string checkValidity( const TYPE & value ) const + { + //Go though all the validators + for (unsigned int i=0; i < m_children.size(); ++i) + { + std::string error = m_children[i]->isValid(value); + //exit on the first error, to avoid passing doing more tests on invalid objects that could fail + if (error != "") return error; + } + //there were no errors + return ""; + } + + /// A container for the child validators + std::vector<Kernel::IValidator<TYPE>*> m_children; + }; + + +} // namespace Kernel +} // namespace Mantid + +#endif /* MANTID_KERNEL_COMPOSITEVALIDATOR_H_ */ diff --git a/Code/Mantid/Framework/Kernel/inc/MantidKernel/IValidator.h b/Code/Mantid/Framework/Kernel/inc/MantidKernel/IValidator.h index 1e85c970622ad9d76c8827f41ff890acb3cdd57e..7f96cc1da9339072c19b69b01fd2eeeff5459484 100644 --- a/Code/Mantid/Framework/Kernel/inc/MantidKernel/IValidator.h +++ b/Code/Mantid/Framework/Kernel/inc/MantidKernel/IValidator.h @@ -55,6 +55,14 @@ public: return failure; } + /** Is the property to be shown as "enabled" in the GUI. Default true. */ + virtual bool isEnabled() const + { return true; } + + /** Is the property to be shown in the GUI? Default true. */ + virtual bool isVisible() const + { return true; } + /** The set of allowed values that this validator may have, if a discrete set exists. * Overridden in applicable concrete validators; the base class just returns an empty set. * @return The set of allowed values that this validator may have or an empty set diff --git a/Code/Mantid/Framework/Kernel/src/CompositeValidator.cpp b/Code/Mantid/Framework/Kernel/src/CompositeValidator.cpp new file mode 100644 index 0000000000000000000000000000000000000000..63aa6bde4d748f0c69823bf32dfa6bc266bd007c --- /dev/null +++ b/Code/Mantid/Framework/Kernel/src/CompositeValidator.cpp @@ -0,0 +1,15 @@ +#include "MantidKernel/CompositeValidator.h" +#include "MantidKernel/System.h" + +using namespace Mantid::Kernel; + +namespace Mantid +{ +namespace Kernel +{ + + + +} // namespace Mantid +} // namespace Kernel + diff --git a/Code/Mantid/Framework/Kernel/test/CompositeValidatorTest.h b/Code/Mantid/Framework/Kernel/test/CompositeValidatorTest.h new file mode 100644 index 0000000000000000000000000000000000000000..47e6da8c9a1ff7c91bf541da310c3695e438aed0 --- /dev/null +++ b/Code/Mantid/Framework/Kernel/test/CompositeValidatorTest.h @@ -0,0 +1,45 @@ +#ifndef MANTID_KERNEL_COMPOSITEVALIDATORTEST_H_ +#define MANTID_KERNEL_COMPOSITEVALIDATORTEST_H_ + +#include <cxxtest/TestSuite.h> +#include "MantidKernel/Timer.h" +#include "MantidKernel/System.h" +#include <iostream> +#include <iomanip> + +#include "MantidKernel/CompositeValidator.h" +#include "MantidKernel/BoundedValidator.h" + +using namespace Mantid; +using namespace Mantid::Kernel; + +class CompositeValidatorTest : public CxxTest::TestSuite +{ +public: + + /** Is valid does an AND of the components */ + void test_isValid() + { + BoundedValidator<int> * val1 = new BoundedValidator<int>(100, 1000); + BoundedValidator<int> * val2 = new BoundedValidator<int>(900, 2000); + CompositeValidator<int> comp; + comp.add(val1); + TS_ASSERT( comp.isValid(150).empty() ); + TS_ASSERT( comp.isValid(950).empty() ); + TS_ASSERT( !comp.isValid(1200).empty() ); + comp.add(val2); + TS_ASSERT( !comp.isValid(150).empty() ); // This one is now blocked by validator 2 + TS_ASSERT( comp.isValid(950).empty() ); + TS_ASSERT( !comp.isValid(1200).empty() ); + + // Test cloning + IValidator<int> * comp2 = comp.clone(); + TS_ASSERT( !comp2->isValid(150).empty() ); + TS_ASSERT( comp2->isValid(950).empty() ); + } + +}; + + +#endif /* MANTID_KERNEL_COMPOSITEVALIDATORTEST_H_ */ + diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp index 2d6de86aae0a746b4ee2ad351fa8579e044a8ac3..cc5fd43b15c7180a98de39748a259c67650bee5f 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp @@ -25,7 +25,7 @@ using namespace Geometry; void EQSANSQ2D::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input,wsValidator), "Workspace to calculate I(qx,Qy) from"); diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSSensitivityCorrection.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSSensitivityCorrection.cpp index 6f1b3d9a66c6f40e68593eac5296c1ea90762e03..3a7a1728f22a218c17662261947c9f945065f2fa 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSSensitivityCorrection.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSSensitivityCorrection.cpp @@ -27,7 +27,7 @@ using namespace Geometry; void EQSANSSensitivityCorrection::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); wsValidator->add(new CommonBinsValidator<>); diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp index 7c2f5ce2eb610192d1855375b5385c21930032f0..5a97c8a98b266d185129a4e66fca5c66400f7627 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp @@ -29,7 +29,7 @@ using namespace DataObjects; void SANSSolidAngleCorrection::init() { - CompositeValidator<> *wsValidator = new CompositeValidator<>; + CompositeWorkspaceValidator<> *wsValidator = new CompositeWorkspaceValidator<>; wsValidator->add(new WorkspaceUnitValidator<>("Wavelength")); wsValidator->add(new HistogramValidator<>); declareProperty(new WorkspaceProperty<>("InputWorkspace","",Direction::Input,wsValidator)); diff --git a/Code/Mantid/MantidQt/API/src/GenericDialog.cpp b/Code/Mantid/MantidQt/API/src/GenericDialog.cpp index 6a353e83d361381a2dec14f768b991f42c128c2d..8e816fecf3175ca04a656e9d864f69a8d224af6b 100644 --- a/Code/Mantid/MantidQt/API/src/GenericDialog.cpp +++ b/Code/Mantid/MantidQt/API/src/GenericDialog.cpp @@ -254,6 +254,7 @@ void GenericDialog::initLayout() } +//-------------------------------------------------------------------------------------- /** * This slot is called when a browse button is clicked * @param widget :: The widget that is associated with the button that was clicked. In this case they are always QLineEdit widgets @@ -280,6 +281,7 @@ void GenericDialog::browseClicked(QWidget* widget) } +//-------------------------------------------------------------------------------------- /** This slot is called when a browse button for multiple files is clicked. * * @param widget :: The widget that is associated with the button that was clicked. In this case they are always QLineEdit widgets