summaryrefslogtreecommitdiff
path: root/src/core/model/Document.cpp
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-01-25 15:50:52 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-01-25 15:50:52 +0100
commiteab6577b066319aab7ebaf514e6bb7aab9590624 (patch)
treeb93f21d4eb207b539e341aee6bba500b9aea8783 /src/core/model/Document.cpp
parent37a002577e7f4949e0634dca7e828b5333d2ccc5 (diff)
removed cardinality type definition from Domain.hpp and made everything compatible with the Variant cardinality.
Diffstat (limited to 'src/core/model/Document.cpp')
-rw-r--r--src/core/model/Document.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/model/Document.cpp b/src/core/model/Document.cpp
index 61c384d..42192a2 100644
--- a/src/core/model/Document.cpp
+++ b/src/core/model/Document.cpp
@@ -147,6 +147,10 @@ bool DocumentEntity::doValidate(Logger &logger) const
// a constructor we can not check anything else.
return false;
}
+ // if we have an invalid descriptor we can not proceed either.
+ if(!descriptor->validate(logger)){
+ return false;
+ }
// check the attribute primitive content.
bool valid;
if (descriptor->getAttributesDescriptor() == nullptr) {
@@ -218,7 +222,7 @@ bool DocumentEntity::doValidate(Logger &logger) const
* cardinality.
*/
for (auto &ac : fieldDescs[f]->getChildren()) {
- const size_t min = ac->getCardinality().min();
+ const size_t min = ac->getCardinality().asCardinality().min();
if (min > 0) {
logger.error(
std::string("Field \"") + fieldDescs[f]->getName() +
@@ -305,7 +309,7 @@ bool DocumentEntity::doValidate(Logger &logger) const
if (n != nums.end()) {
num = n->second;
}
- if (!ac->getCardinality().contains(num)) {
+ if (!ac->getCardinality().asCardinality().contains(num)) {
logger.error(
std::string("Field \"") + fieldDescs[f]->getName() +
"\" had " + std::to_string(num) + " elements of class \"" +