+ } else {
+ const std::shared_ptr<Config_AttributeMessage> aMsgAttr =
+ std::dynamic_pointer_cast<Config_AttributeMessage>(theMessage);
+ if (aMsgAttr) {
+ if (!aMsgAttr->isObligatory()) {
+ validators()->registerNotObligatory(aMsgAttr->featureId(), aMsgAttr->attributeId());
+ }
+ if(aMsgAttr->isConcealment()) {
+ validators()->registerConcealment(aMsgAttr->featureId(), aMsgAttr->attributeId());
+ }
+ if (!aMsgAttr->caseId().empty()) {
+ validators()->registerCase(aMsgAttr->featureId(), aMsgAttr->attributeId(),
+ aMsgAttr->switchId(), aMsgAttr->caseId());
+ }
+ }