本文整理汇总了C++中SBMLErrorLog::getNumErrors方法的典型用法代码示例。如果您正苦于以下问题:C++ SBMLErrorLog::getNumErrors方法的具体用法?C++ SBMLErrorLog::getNumErrors怎么用?C++ SBMLErrorLog::getNumErrors使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SBMLErrorLog
的用法示例。
在下文中一共展示了SBMLErrorLog::getNumErrors方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TestFlattenedUnknownValidateNoStrip
END_TEST
START_TEST (test_comp_flatten_unknown_withValidation_nostrip_5)
{
SBMLDocument* doc = TestFlattenedUnknownValidateNoStrip("unknown5.xml", "unknown5_flat_stay.xml");
SBMLErrorLog* errors = doc->getErrorLog();
fail_unless(errors->getNumErrors() == 0);
//fail_unless(errors->contains(UnrequiredPackagePresent) == true);
//fail_unless(errors->contains(CompFlatteningNotRecognisedNotReqd) == true);
delete doc;
}
示例2: TestFlattenedUnknownNoValidate
END_TEST
START_TEST (test_comp_flatten_unknown_17)
{
SBMLDocument* doc = TestFlattenedUnknownNoValidate("unknown17.xml", "unknown17_flat.xml");
SBMLErrorLog* errors = doc->getErrorLog();
fail_unless(errors->getNumErrors() == 3);
fail_unless(errors->contains(UnrequiredPackagePresent) == true);
fail_unless(errors->contains(CompFlatteningNotRecognisedNotReqd) == true);
fail_unless(errors->contains(CompIdRefMayReferenceUnknownPackage) == true);
delete doc;
}
示例3: TestFlattenedUnknownAbortNone
END_TEST
START_TEST (test_comp_flatten_unknown_20)
{
SBMLDocument* doc = TestFlattenedUnknownAbortNone("unknown20.xml", "unknown20_flat.xml");
SBMLErrorLog* errors = doc->getErrorLog();
fail_unless(errors->getNumErrors() == 4);
fail_unless(errors->contains(RequiredPackagePresent) == true);
fail_unless(errors->contains(CompFlatteningNotRecognisedReqd) == true);
fail_unless(errors->contains(CompIdRefMayReferenceUnknownPackage) == true);
delete doc;
}
示例4: filename
END_TEST
START_TEST (test_comp_flatten_unknown_21)
{
string filename(TestDataDirectory);
//string filename("C:\\Development\\libsbml\\src\\sbml\\packages\\comp\\util\\test\\test-data\\");
ConversionProperties props;
props.addOption("flatten comp");
props.addOption("basePath", filename);
props.addOption("performValidation", false);
SBMLConverter* converter = SBMLConverterRegistry::getInstance().getConverterFor(props);
// load document
string cfile = filename + "flatten_fail_unknown.xml";
SBMLDocument* doc = readSBMLFromFile(cfile.c_str());
// fail if there is no model (readSBMLFromFile always returns a valid document)
fail_unless(doc->getModel() != NULL);
// write the doc before we attempt conversion
string newModel = writeSBMLToStdString(doc);
converter->setDocument(doc);
int result = converter->convert();
// we should fail because we are testing the restoreNamespaces function
fail_unless(result == LIBSBML_OPERATION_FAILED);
string flatModel = writeSBMLToStdString(doc);
fail_unless(flatModel == newModel);
delete converter;
SBMLErrorLog* errors = doc->getErrorLog();
fail_unless(errors->getNumErrors() == 2);
fail_unless(errors->contains(RequiredPackagePresent) == true);
fail_unless(errors->contains(CompFlatteningNotRecognisedReqd) == true);
//fail_unless(errors->contains(CompModelFlatteningFailed) == true);
//fail_unless(errors->contains(CompSubmodelMustReferenceModel) == true);
delete doc;
}
示例5: if
/*
* Reads the expected attributes into the member data variables
*/
void
ClassOne::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes& expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("vers", VersClassOneAllowedAttributes, pkgVersion,
level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("vers", VersClassOneAllowedCoreAttributes,
pkgVersion, level, version, details);
}
}
if (pkgVersion == 1)
{
readV1Attributes(attributes);
}
else
{
readV2Attributes(attributes);
}
}
示例6: if
/*
* Reads the expected attributes into the member data variables
*/
void
CoordinateComponent::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes&
expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
if (static_cast<ListOfCoordinateComponents*>(getParentSBMLObject())->size() <
2)
{
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("spatial",
SpatialGeometryLOCoordinateComponentsAllowedAttributes, pkgVersion,
level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("spatial",
SpatialGeometryLOCoordinateComponentsAllowedCoreAttributes, pkgVersion,
level, version, details);
}
}
}
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("spatial",
SpatialCoordinateComponentAllowedAttributes, pkgVersion, level, version,
details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("spatial",
SpatialCoordinateComponentAllowedCoreAttributes, pkgVersion, level,
version, details);
}
}
//
// id SId (use = "required" )
//
assigned = attributes.readInto("id", mId);
if (assigned == true)
{
if (mId.empty() == true)
{
logEmptyString(mId, level, version, "<CoordinateComponent>");
}
else if (SyntaxChecker::isValidSBMLSId(mId) == false)
{
logError(SpatialIdSyntaxRule, level, version, "The id '" + mId + "' does "
"not conform to the syntax.");
}
}
else
{
std::string message = "Spatial attribute 'id' is missing from the "
"<CoordinateComponent> element.";
log->logPackageError("spatial",
SpatialCoordinateComponentAllowedAttributes, pkgVersion, level, version,
message);
}
//
// type enum (use = "required" )
//
std::string type;
assigned = attributes.readInto("type", type);
if (assigned == true)
{
if (type.empty() == true)
//.........这里部分代码省略.........
示例7: if
/*
* Reads the expected attributes into the member data variables
*/
void
Group::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes& expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
if (static_cast<ListOfGroups*>(getParentSBMLObject())->size() < 2)
{
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("groups", GroupsGroupAllowedAttributes,
pkgVersion, level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("groups",
GroupsModelLOGroupsAllowedCoreAttributes, pkgVersion, level, version,
details);
}
}
}
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("groups", GroupsGroupAllowedAttributes, pkgVersion,
level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("groups", GroupsGroupAllowedCoreAttributes,
pkgVersion, level, version, details);
}
}
//
// id SId (use = "optional" )
//
assigned = attributes.readInto("id", mId);
if (assigned == true)
{
if (mId.empty() == true)
{
logEmptyString(mId, level, version, "<Group>");
}
else if (SyntaxChecker::isValidSBMLSId(mId) == false)
{
log->logPackageError("groups", GroupsIdSyntaxRule,
pkgVersion, level, version, "The id on the <"
+ getElementName() + "> is '" + mId + "', which does not conform to the syntax.",
getLine(), getColumn());
}
}
//
// name string (use = "optional" )
//
assigned = attributes.readInto("name", mName);
if (assigned == true)
{
if (mName.empty() == true)
{
logEmptyString(mName, level, version, "<Group>");
}
}
//
// kind enum (use = "required" )
//
std::string kind;
assigned = attributes.readInto("kind", kind);
//.........这里部分代码省略.........
示例8: if
/*
* Reads the expected attributes into the member data variables
*/
void
Uncertainty::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes& expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("distrib", DistribUncertaintyAllowedAttributes,
pkgVersion, level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("distrib", DistribUncertaintyAllowedCoreAttributes,
pkgVersion, level, version, details);
}
}
//
// id SId (use = "optional" )
//
assigned = attributes.readInto("id", mId);
if (assigned == true)
{
if (mId.empty() == true)
{
logEmptyString(mId, level, version, "<Uncertainty>");
}
else if (SyntaxChecker::isValidSBMLSId(mId) == false)
{
logError(DistribIdSyntaxRule, level, version, "The id '" + mId + "' does "
"not conform to the syntax.");
}
}
//
// name string (use = "optional" )
//
assigned = attributes.readInto("name", mName);
if (assigned == true)
{
if (mName.empty() == true)
{
logEmptyString(mName, level, version, "<Uncertainty>");
}
}
}
示例9: if
/*
* Performs a set of semantic consistency checks on the document. Query
* the results by calling getNumErrors() and getError().
*
* @return the number of failed checks (errors) encountered.
*/
unsigned int
SBMLInternalValidator::checkConsistency (bool writeDocument)
{
unsigned int nerrors = 0;
unsigned int total_errors = 0;
//if (getLevel() == 3)
//{
// logError(L3NotSupported);
// return 1;
//}
/* determine which validators to run */
bool id = ((mApplicableValidators & 0x01) == 0x01);
bool sbml = ((mApplicableValidators & 0x02) == 0x02);
bool sbo = ((mApplicableValidators & 0x04) == 0x04);
bool math = ((mApplicableValidators & 0x08) == 0x08);
bool units = ((mApplicableValidators & 0x10) == 0x10);
bool over = ((mApplicableValidators & 0x20) == 0x20);
bool practice = ((mApplicableValidators & 0x40) == 0x40);
/* taken the state machine concept out for now
if (LibSBMLStateMachine::isActive())
{
units = LibSBMLStateMachine::getUnitState();
}
*/
IdentifierConsistencyValidator id_validator;
ConsistencyValidator validator;
SBOConsistencyValidator sbo_validator;
MathMLConsistencyValidator math_validator;
UnitConsistencyValidator unit_validator;
OverdeterminedValidator over_validator;
ModelingPracticeValidator practice_validator;
SBMLDocument *doc;
SBMLErrorLog *log = getErrorLog();
if (writeDocument)
{
char* sbmlString = writeSBMLToString(getDocument());
log->clearLog();
doc = readSBMLFromString(sbmlString);
free (sbmlString);
}
else
{
doc = getDocument();
}
/* calls each specified validator in turn
* - stopping when errors are encountered */
if (id)
{
id_validator.init();
nerrors = id_validator.validate(*doc);
if (nerrors > 0)
{
unsigned int origNum = log->getNumErrors();
log->add( id_validator.getFailures() );
if (origNum > 0 && log->contains(InvalidUnitIdSyntax) == true)
{
/* do not log dangling ref */
while (log->contains(DanglingUnitSIdRef) == true)
{
log->remove(DanglingUnitSIdRef);
nerrors--;
}
total_errors += nerrors;
if (nerrors > 0)
{
if (writeDocument)
SBMLDocument_free(doc);
return total_errors;
}
}
else if (log->contains(DanglingUnitSIdRef) == false)
{
total_errors += nerrors;
if (writeDocument)
SBMLDocument_free(doc);
return total_errors;
}
else
{
bool onlyDangRef = true;
for (unsigned int a = 0; a < log->getNumErrors(); a++)
{
if (log->getError(a)->getErrorId() != DanglingUnitSIdRef)
{
onlyDangRef = false;
//.........这里部分代码省略.........
示例10: if
/*
* Reads the expected attributes into the member data variables
*/
void
AnalyticVolume::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes& expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
if (static_cast<ListOfAnalyticVolumes*>(getParentSBMLObject())->size() < 2)
{
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("spatial",
SpatialAnalyticGeometryLOAnalyticVolumesAllowedAttributes, pkgVersion,
level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("spatial",
SpatialAnalyticGeometryLOAnalyticVolumesAllowedCoreAttributes,
pkgVersion, level, version, details);
}
}
}
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("spatial", SpatialAnalyticVolumeAllowedAttributes,
pkgVersion, level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("spatial",
SpatialAnalyticVolumeAllowedCoreAttributes, pkgVersion, level, version,
details);
}
}
//
// id SId (use = "required" )
//
assigned = attributes.readInto("id", mId);
if (assigned == true)
{
if (mId.empty() == true)
{
logEmptyString(mId, level, version, "<AnalyticVolume>");
}
else if (SyntaxChecker::isValidSBMLSId(mId) == false)
{
logError(SpatialIdSyntaxRule, level, version, "The id '" + mId + "' does "
"not conform to the syntax.");
}
}
else
{
std::string message = "Spatial attribute 'id' is missing from the "
"<AnalyticVolume> element.";
log->logPackageError("spatial", SpatialAnalyticVolumeAllowedAttributes,
pkgVersion, level, version, message);
}
//
// functionType enum (use = "required" )
//
std::string functiontype;
assigned = attributes.readInto("functionType", functiontype);
if (assigned == true)
{
if (functiontype.empty() == true)
{
logEmptyString(functiontype, level, version, "<AnalyticVolume>");
}
else
//.........这里部分代码省略.........
示例11: if
/*
* Reads the expected attributes into the member data variables
*/
void
ListOfGlobalRenderInformation::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes&
expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
SBMLErrorLog* log = getErrorLog();
ListOf::readAttributes(attributes, expectedAttributes);
if (log)
{
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("render",
RenderListOfLayoutsLOGlobalRenderInformationAllowedAttributes,
pkgVersion, level, version, details, getLine(), getColumn());
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("render",
RenderListOfLayoutsLOGlobalRenderInformationAllowedCoreAttributes,
pkgVersion, level, version, details, getLine(), getColumn());
}
}
}
//
// majorVersion uint (use = "optional" )
//
if (log)
{
numErrs = log->getNumErrors();
}
mIsSetMajorVersion = attributes.readInto("versionMajor", mMajorVersion);
if ( mIsSetMajorVersion == false && log)
{
if (log->getNumErrors() == numErrs + 1 &&
log->contains(XMLAttributeTypeMismatch))
{
log->remove(XMLAttributeTypeMismatch);
std::string message = "Render attribute 'versionMajor' from the "
"<ListOfGlobalRenderInformation> element must be an integer.";
log->logPackageError("render",
RenderListOfLayoutsVersionMajorMustBeNonNegativeInteger, pkgVersion,
level, version, message, getLine(), getColumn());
}
}
//
// minorVersion uint (use = "optional" )
//
if (log)
{
numErrs = log->getNumErrors();
}
mIsSetMinorVersion = attributes.readInto("versionMinor", mMinorVersion);
if ( mIsSetMinorVersion == false && log)
{
if (log->getNumErrors() == numErrs + 1 &&
log->contains(XMLAttributeTypeMismatch))
{
log->remove(XMLAttributeTypeMismatch);
std::string message = "Render attribute 'versionMinor' from the "
"<ListOfGlobalRenderInformation> element must be an integer.";
log->logPackageError("render",
RenderListOfLayoutsVersionMinorMustBeNonNegativeInteger, pkgVersion,
level, version, message, getLine(), getColumn());
}
}
}
示例12: if
/*
* Reads the expected attributes into the member data variables
*/
void
CSGNode::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes& expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
if (static_cast<ListOfCSGNodes*>(getParentSBMLObject())->size() < 2)
{
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("spatial",
SpatialCSGObjectLOCSGNodesAllowedAttributes, pkgVersion, level,
version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("spatial",
SpatialCSGObjectLOCSGNodesAllowedCoreAttributes, pkgVersion, level,
version, details);
}
}
}
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("spatial", SpatialCSGNodeAllowedAttributes,
pkgVersion, level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("spatial", SpatialCSGNodeAllowedCoreAttributes,
pkgVersion, level, version, details);
}
}
//
// id SId (use = "optional" )
//
assigned = attributes.readInto("id", mId);
if (assigned == true)
{
if (mId.empty() == true)
{
logEmptyString(mId, level, version, "<CSGNode>");
}
else if (SyntaxChecker::isValidSBMLSId(mId) == false)
{
logError(SpatialIdSyntaxRule, level, version, "The id '" + mId + "' does "
"not conform to the syntax.");
}
}
}
示例13: if
/*
* Reads the expected attributes into the member data variables
*/
void
ClassThree::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes& expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("test", TestClassThreeAllowedAttributes, pkgVersion,
level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("test", TestClassThreeAllowedCoreAttributes,
pkgVersion, level, version, details);
}
}
//
// number enum (use = "required" )
//
std::string number;
assigned = attributes.readInto("number", number);
if (assigned == true)
{
if (number.empty() == true)
{
logEmptyString(number, level, version, "<ClassThree>");
}
else
{
mNumber = Enum_fromString(number.c_str());
if (Enum_isValid(mNumber) == 0)
{
std::string msg = "The number on the <ClassThree> ";
if (isSetId())
{
msg += "with id '" + getId() + "'";
}
msg += "is '" + number + "', which is not a valid option.";
log->logPackageError("test", TestClassThreeNumberMustBeEnumEnum,
pkgVersion, level, version, msg);
}
}
}
else
{
std::string message = "Test attribute 'number' is missing.";
log->logPackageError("test", TestClassThreeAllowedAttributes, pkgVersion,
level, version, message);
}
//
// name enum (use = "required" )
//
std::string name;
assigned = attributes.readInto("name", name);
if (assigned == true)
{
if (name.empty() == true)
{
logEmptyString(name, level, version, "<ClassThree>");
}
else
{
mName = Fred_fromString(name.c_str());
if (Fred_isValid(mName) == 0)
{
std::string msg = "The name on the <ClassThree> ";
if (isSetId())
{
msg += "with id '" + getId() + "'";
}
//.........这里部分代码省略.........
示例14: if
/** @cond doxygenLibsbmlInternal */
int
CompFlatteningConverter::validateFlatDocument(Model * flatmodel,
unsigned int pkgVersion, unsigned int level, unsigned int version)
{
int result;
// create a dummyDocument that will mirror what the user options are
// we need the dummyDoc to know things about unknown packages
// but dont want the original model/error log
SBMLDocument dummy = SBMLDocument(*(mDocument));
dummy.setModel(NULL);
dummy.getErrorLog()->clearLog();
// Otherwise, transfer only errors 1090107->1090110
SBMLErrorLog* log = mDocument->getErrorLog();
for (unsigned int en=0; en<log->getNumErrors(); en++)
{
unsigned int errid = mDocument->getError(en)->getErrorId();
if (errid == CompFlatteningNotRecognisedNotReqd ||
errid == CompFlatteningNotRecognisedReqd ||
errid == CompFlatteningNotImplementedNotReqd ||
errid == CompFlatteningNotImplementedReqd)
{
dummy.getErrorLog()->add(*(mDocument->getError(en)));
}
}
log->clearLog();
result = reconstructDocument(flatmodel, dummy, true );
if (result != LIBSBML_OPERATION_SUCCESS)
{
//delete flatmodel;
restoreNamespaces();
return result;
}
//Now check to see if the flat model is valid
// run regular validation on the flattened document if requested.
// override comp flattening if necessary
CompSBMLDocumentPlugin * dummyPlugin = static_cast<CompSBMLDocumentPlugin*>
(dummy.getPlugin("comp"));
if (dummyPlugin != NULL)
{
dummyPlugin->setOverrideCompFlattening(true);
}
std::string sbml = writeSBMLToStdString(&dummy);
SBMLDocument *tempdoc = readSBMLFromString(sbml.c_str());
unsigned int errors =
tempdoc->getErrorLog()->getNumFailsWithSeverity(LIBSBML_SEV_ERROR);
// take out the error about a requiredpackage
// if the user has specified to not abort for any packages
// NOTE: we cannot actually remove it since the flattening code
// uses it to check whether references might come from
// other packages
if (getAbortForNone() == true)
{
if (tempdoc->getErrorLog()->contains(RequiredPackagePresent))
{
errors--;
}
}
if (errors > 0)
{
// we have serious errors so we are going to bail on the
// flattening - log ONLY the errors
//Transfer the errors to mDocument and don't reset the model.
if (log->contains(CompLineNumbersUnreliable) == false)
{
log->logPackageError("comp", CompLineNumbersUnreliable,
pkgVersion, level, version);
}
std::string message = "Errors that follow relate to the flattened ";
message += "document produced using the CompFlatteningConverter.";
log->logPackageError("comp", CompFlatModelNotValid,
pkgVersion, level, version);
unsigned int nerrors = tempdoc->getErrorLog()->getNumErrors();
for (unsigned int n = 0; n < nerrors; n++)
{
const SBMLError* error = tempdoc->getError(n);
if (error->getSeverity() >= LIBSBML_SEV_ERROR)
{
log->add( *(error) );
}
if (error->getErrorId() >= CompFlatteningNotRecognisedNotReqd &&
error->getErrorId() <= CompFlatteningNotImplementedReqd)
{
log->add( *(error) );
}
else if (error->getErrorId() == UnrequiredPackagePresent ||
error->getErrorId() == RequiredPackagePresent)
{
log->add( *(error) );
}
//.........这里部分代码省略.........
示例15: if
/*
* Reads the expected attributes into the member data variables
*/
void
Output::readAttributes(const XMLAttributes& attributes,
const ExpectedAttributes& expectedAttributes)
{
unsigned int level = getLevel();
unsigned int version = getVersion();
unsigned int pkgVersion = getPackageVersion();
unsigned int numErrs;
bool assigned = false;
SBMLErrorLog* log = getErrorLog();
if (static_cast<ListOfOutputs*>(getParentSBMLObject())->size() < 2)
{
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("qual", QualTransitionLOOutputsAllowedAttributes,
pkgVersion, level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("qual",
QualTransitionLOOutputsAllowedCoreAttributes, pkgVersion, level,
version, details);
}
}
}
SBase::readAttributes(attributes, expectedAttributes);
numErrs = log->getNumErrors();
for (int n = numErrs-1; n >= 0; n--)
{
if (log->getError(n)->getErrorId() == UnknownPackageAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownPackageAttribute);
log->logPackageError("qual", QualOutputAllowedAttributes, pkgVersion,
level, version, details);
}
else if (log->getError(n)->getErrorId() == UnknownCoreAttribute)
{
const std::string details = log->getError(n)->getMessage();
log->remove(UnknownCoreAttribute);
log->logPackageError("qual", QualOutputAllowedCoreAttributes, pkgVersion,
level, version, details);
}
}
//
// id SId (use = "optional" )
//
assigned = attributes.readInto("id", mId);
if (assigned == true)
{
if (mId.empty() == true)
{
logEmptyString(mId, level, version, "<Output>");
}
else if (SyntaxChecker::isValidSBMLSId(mId) == false)
{
logError(QualIdSyntaxRule, level, version, "The id '" + mId + "' does not "
"conform to the syntax.");
}
}
//
// qualitativeSpecies SIdRef (use = "required" )
//
assigned = attributes.readInto("qualitativeSpecies", mQualitativeSpecies);
if (assigned == true)
{
if (mQualitativeSpecies.empty() == true)
{
logEmptyString(mQualitativeSpecies, level, version, "<Output>");
}
else if (SyntaxChecker::isValidSBMLSId(mQualitativeSpecies) == false)
{
logError(QualOutputQualitativeSpeciesMustBeQualitativeSpecies, level,
version, "The attribute qualitativeSpecies='" + mQualitativeSpecies + "' "
"does not conform to the syntax.");
}
}
else
{
std::string message = "Qual attribute 'qualitativeSpecies' is missing from "
"the <Output> element.";
//.........这里部分代码省略.........