Mercurial > hg > orthanc-databases
diff Framework/Plugins/DatabaseBackendAdapterV4.cpp @ 401:a8774581adfc db-protobuf
replaced "WithLabels" and "WithoutLabels", by "Labels" and "LabelsConstraint"
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 07 Apr 2023 22:32:15 +0200 |
parents | 7b3acfa95bd8 |
children | 82921a29349a |
line wrap: on
line diff
--- a/Framework/Plugins/DatabaseBackendAdapterV4.cpp Fri Apr 07 15:43:42 2023 +0200 +++ b/Framework/Plugins/DatabaseBackendAdapterV4.cpp Fri Apr 07 22:32:15 2023 +0200 @@ -568,21 +568,35 @@ assert(values.size() == countValues); - std::set<std::string> withLabels, withoutLabels; + std::set<std::string> labels; - for (int i = 0; i < request.with_labels().size(); i++) + for (int i = 0; i < request.labels().size(); i++) { - withLabels.insert(request.with_labels(i)); + labels.insert(request.labels(i)); } - for (int i = 0; i < request.without_labels().size(); i++) + Orthanc::LabelsConstraint labelsConstraint; + switch (request.labels_constraint()) { - withoutLabels.insert(request.without_labels(i)); + case Orthanc::DatabasePluginMessages::LABELS_CONSTRAINT_ALL: + labelsConstraint = Orthanc::LabelsConstraint_All; + break; + + case Orthanc::DatabasePluginMessages::LABELS_CONSTRAINT_ANY: + labelsConstraint = Orthanc::LabelsConstraint_Any; + break; + + case Orthanc::DatabasePluginMessages::LABELS_CONSTRAINT_NONE: + labelsConstraint = Orthanc::LabelsConstraint_None; + break; + + default: + throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); } - + Output output(response); backend.LookupResources(output, manager, lookup, Convert(request.query_level()), - withLabels, withoutLabels, request.limit(), request.retrieve_instances_ids()); + labels, labelsConstraint, request.limit(), request.retrieve_instances_ids()); }