comparison OrthancServer/Search/HierarchicalMatcher.cpp @ 3072:1b05fd072c57 db-changes

cont
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 02 Jan 2019 11:47:58 +0100
parents 2df061cf2fec
children cf8cbeb35f33
comparison
equal deleted inserted replaced
3071:2df061cf2fec 3072:1b05fd072c57
115 throw OrthancException(ErrorCode_BadRequest); 115 throw OrthancException(ErrorCode_BadRequest);
116 } 116 }
117 } 117 }
118 else 118 else
119 { 119 {
120 flatTags_.insert(tag);
121
120 std::set<DicomTag> ignoreTagLength; 122 std::set<DicomTag> ignoreTagLength;
121 std::auto_ptr<DicomValue> value(FromDcmtkBridge::ConvertLeafElement 123 std::auto_ptr<DicomValue> value(FromDcmtkBridge::ConvertLeafElement
122 (*element, DicomToJsonFlags_None, 124 (*element, DicomToJsonFlags_None,
123 ORTHANC_MAXIMUM_TAG_LENGTH, encoding, ignoreTagLength)); 125 0, encoding, ignoreTagLength));
124 126
125 flatTags_.insert(tag); 127 // WARNING: Also modify "DatabaseLookup::IsMatch()" if modifying this code
126 128 if (value.get() == NULL ||
127 if (value->IsBinary()) 129 value->IsNull())
130 {
131 // This is an universal constraint
132 }
133 else if (value->IsBinary())
128 { 134 {
129 if (!value->GetContent().empty()) 135 if (!value->GetContent().empty())
130 { 136 {
131 LOG(WARNING) << "This C-Find modality worklist query contains a non-empty tag (" 137 LOG(WARNING) << "This C-Find modality worklist query contains a non-empty tag ("
132 << tag.Format() << ") with UN (unknown) value representation. " 138 << tag.Format() << ") with UN (unknown) value representation. "
133 << "It will be ignored."; 139 << "It will be ignored.";
134 } 140 }
135 } 141 }
136 else if (value->IsNull() || 142 else if (value->GetContent().empty())
137 value->GetContent().empty())
138 { 143 {
139 // This is an universal matcher 144 // This is an universal matcher
140 } 145 }
141 else 146 else
142 { 147 {