diff --git a/LCS/ApplCommon/src/Observation.cc b/LCS/ApplCommon/src/Observation.cc index d2635ca6e956e1e07a4ef49b3a5f1ff6a0c4d972..1b33e4b93e33372ccc2019f3eb54e02808ae1df3 100644 --- a/LCS/ApplCommon/src/Observation.cc +++ b/LCS/ApplCommon/src/Observation.cc @@ -358,6 +358,8 @@ Observation::Observation(const ParameterSet* aParSet, vector<string> locations = aParSet->getStringVector(prefix+str(format("DataProducts.Output_%s.locations") % dataProductNames[d]), true); vector<unsigned> &psets = dataProductPhases[d] == 2 ? phaseTwoPsets : phaseThreePsets; + ASSERTSTR(filenames.size() == locations.size(), "Parset provides " << filenames.size() << " filenames but only " << locations.size() << " locations."); + unsigned numFiles = filenames.size(); unsigned filesPerPset = (numFiles + psets.size() - 1) / psets.size(); @@ -371,6 +373,8 @@ Observation::Observation(const ParameterSet* aParSet, a.sourcePset = psets[i / filesPerPset]; vector<string> locparts = StringUtil::split(locations[i],':'); + ASSERTSTR(locparts.size() == 2, "A DataProduct location must be of the format host:directory (but I found " << locations[i] << ")"); + a.destStorageNode = locparts[0]; a.destDirectory = locparts[1];