Source
cout << "EntityId::validate. Validation message is '" << result << "'. (An empty message is a good sign.)" << endl;
/*
* ALMA - Atacama Large Millimeter Array
* (c) European Southern Observatory, 2002
* (c) Associated Universities Inc., 2002
* Copyright by ESO (in the framework of the ALMA collaboration),
* Copyright by AUI (in the framework of the ALMA collaboration),
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* File EntityId.cpp
*/
//#define _POSIX_C_SOURCE
using namespace std;
namespace asdm {
static bool EntityIdVerbose = getenv("ASDM_DEBUG") != NULL;
EntityId EntityId::getEntityId(StringTokenizer &t) {
try {
string value = t.nextToken();
return EntityId (value);
} catch (const OutOfBoundsException &err) {
throw InvalidArgumentException("Unexpected end-of-string!");
}
}
/**
* Returns a null string if the string x contains a valid
* entity-id. Otherwise, the string contains the error message.
*/
string EntityId::validate(string x) {
if (EntityIdVerbose)
cout << "EntityId::validate. Validating '" << x << "'." << endl;
// Here we use the boost machinery for the regular expressions, assuming its thread safety.
// std::regex (optionally used here) is as thread-safe in this context