comparison Framework/Plugins/DatabaseConstraint.cpp @ 554:1a74fc1bea2d find-refactoring

reorganization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Sep 2024 15:54:14 +0200
parents 7f45f23b10d0
children
comparison
equal deleted inserted replaced
553:7f45f23b10d0 554:1a74fc1bea2d
36 #include <cassert> 36 #include <cassert>
37 37
38 38
39 namespace OrthancDatabases 39 namespace OrthancDatabases
40 { 40 {
41 namespace Plugins
42 {
43 OrthancPluginResourceType Convert(Orthanc::ResourceType type)
44 {
45 switch (type)
46 {
47 case Orthanc::ResourceType_Patient:
48 return OrthancPluginResourceType_Patient;
49
50 case Orthanc::ResourceType_Study:
51 return OrthancPluginResourceType_Study;
52
53 case Orthanc::ResourceType_Series:
54 return OrthancPluginResourceType_Series;
55
56 case Orthanc::ResourceType_Instance:
57 return OrthancPluginResourceType_Instance;
58
59 default:
60 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
61 }
62 }
63
64
65 Orthanc::ResourceType Convert(OrthancPluginResourceType type)
66 {
67 switch (type)
68 {
69 case OrthancPluginResourceType_Patient:
70 return Orthanc::ResourceType_Patient;
71
72 case OrthancPluginResourceType_Study:
73 return Orthanc::ResourceType_Study;
74
75 case OrthancPluginResourceType_Series:
76 return Orthanc::ResourceType_Series;
77
78 case OrthancPluginResourceType_Instance:
79 return Orthanc::ResourceType_Instance;
80
81 default:
82 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
83 }
84 }
85
86
87 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
88 OrthancPluginConstraintType Convert(ConstraintType constraint)
89 {
90 switch (constraint)
91 {
92 case ConstraintType_Equal:
93 return OrthancPluginConstraintType_Equal;
94
95 case ConstraintType_GreaterOrEqual:
96 return OrthancPluginConstraintType_GreaterOrEqual;
97
98 case ConstraintType_SmallerOrEqual:
99 return OrthancPluginConstraintType_SmallerOrEqual;
100
101 case ConstraintType_Wildcard:
102 return OrthancPluginConstraintType_Wildcard;
103
104 case ConstraintType_List:
105 return OrthancPluginConstraintType_List;
106
107 default:
108 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
109 }
110 }
111 #endif
112
113
114 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
115 ConstraintType Convert(OrthancPluginConstraintType constraint)
116 {
117 switch (constraint)
118 {
119 case OrthancPluginConstraintType_Equal:
120 return ConstraintType_Equal;
121
122 case OrthancPluginConstraintType_GreaterOrEqual:
123 return ConstraintType_GreaterOrEqual;
124
125 case OrthancPluginConstraintType_SmallerOrEqual:
126 return ConstraintType_SmallerOrEqual;
127
128 case OrthancPluginConstraintType_Wildcard:
129 return ConstraintType_Wildcard;
130
131 case OrthancPluginConstraintType_List:
132 return ConstraintType_List;
133
134 default:
135 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
136 }
137 }
138 #endif
139 }
140
141 DatabaseConstraint::DatabaseConstraint(Orthanc::ResourceType level, 41 DatabaseConstraint::DatabaseConstraint(Orthanc::ResourceType level,
142 const Orthanc::DicomTag& tag, 42 const Orthanc::DicomTag& tag,
143 bool isIdentifier, 43 bool isIdentifier,
144 ConstraintType type, 44 ConstraintType type,
145 const std::vector<std::string>& values, 45 const std::vector<std::string>& values,
161 } 61 }
162 62
163 63
164 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 64 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
165 DatabaseConstraint::DatabaseConstraint(const OrthancPluginDatabaseConstraint& constraint) : 65 DatabaseConstraint::DatabaseConstraint(const OrthancPluginDatabaseConstraint& constraint) :
166 level_(Plugins::Convert(constraint.level)), 66 level_(MessagesToolbox::Convert(constraint.level)),
167 tag_(constraint.tagGroup, constraint.tagElement), 67 tag_(constraint.tagGroup, constraint.tagElement),
168 isIdentifier_(constraint.isIdentifierTag), 68 isIdentifier_(constraint.isIdentifierTag),
169 constraintType_(Plugins::Convert(constraint.type)), 69 constraintType_(MessagesToolbox::Convert(constraint.type)),
170 caseSensitive_(constraint.isCaseSensitive), 70 caseSensitive_(constraint.isCaseSensitive),
171 mandatory_(constraint.isMandatory) 71 mandatory_(constraint.isMandatory)
172 { 72 {
173 if (constraintType_ != ConstraintType_List && 73 if (constraintType_ != ConstraintType_List &&
174 constraint.valuesCount != 1) 74 constraint.valuesCount != 1)
187 #endif 87 #endif
188 88
189 89
190 #if ORTHANC_PLUGINS_HAS_INTEGRATED_FIND == 1 90 #if ORTHANC_PLUGINS_HAS_INTEGRATED_FIND == 1
191 DatabaseConstraint::DatabaseConstraint(const Orthanc::DatabasePluginMessages::DatabaseConstraint& constraint) : 91 DatabaseConstraint::DatabaseConstraint(const Orthanc::DatabasePluginMessages::DatabaseConstraint& constraint) :
192 level_(OrthancDatabases::MessagesToolbox::Convert(constraint.level())), 92 level_(MessagesToolbox::Convert(constraint.level())),
193 tag_(constraint.tag_group(), constraint.tag_element()), 93 tag_(constraint.tag_group(), constraint.tag_element()),
194 isIdentifier_(constraint.is_identifier_tag()), 94 isIdentifier_(constraint.is_identifier_tag()),
195 caseSensitive_(constraint.is_case_sensitive()), 95 caseSensitive_(constraint.is_case_sensitive()),
196 mandatory_(constraint.is_mandatory()) 96 mandatory_(constraint.is_mandatory())
197 { 97 {
274 for (size_t i = 0; i < values_.size(); i++) 174 for (size_t i = 0; i < values_.size(); i++)
275 { 175 {
276 tmpValues[i] = values_[i].c_str(); 176 tmpValues[i] = values_[i].c_str();
277 } 177 }
278 178
279 constraint.level = Plugins::Convert(level_); 179 constraint.level = MessagesToolbox::ConvertToPlainC(level_);
280 constraint.tagGroup = tag_.GetGroup(); 180 constraint.tagGroup = tag_.GetGroup();
281 constraint.tagElement = tag_.GetElement(); 181 constraint.tagElement = tag_.GetElement();
282 constraint.isIdentifierTag = isIdentifier_; 182 constraint.isIdentifierTag = isIdentifier_;
283 constraint.isCaseSensitive = caseSensitive_; 183 constraint.isCaseSensitive = caseSensitive_;
284 constraint.isMandatory = mandatory_; 184 constraint.isMandatory = mandatory_;
285 constraint.type = Plugins::Convert(constraintType_); 185 constraint.type = MessagesToolbox::ConvertToPlainC(constraintType_);
286 constraint.valuesCount = values_.size(); 186 constraint.valuesCount = values_.size();
287 constraint.values = (tmpValues.empty() ? NULL : &tmpValues[0]); 187 constraint.values = (tmpValues.empty() ? NULL : &tmpValues[0]);
288 } 188 }
289 #endif 189 #endif
290 190