diff OrthancServer/Sources/Database/FindRequest.cpp @ 5568:b0b5546f1b9f find-refactoring

find refactor: re-use existing code. /studies?expand is almost fully implemented with new code
author Alain Mazy <am@orthanc.team>
date Thu, 25 Apr 2024 09:22:07 +0200
parents f3562c1a150d
children 8b32213af23e
line wrap: on
line diff
--- a/OrthancServer/Sources/Database/FindRequest.cpp	Tue Apr 23 16:49:44 2024 +0200
+++ b/OrthancServer/Sources/Database/FindRequest.cpp	Thu Apr 25 09:22:07 2024 +0200
@@ -73,11 +73,6 @@
 
   FindRequest::~FindRequest()
   {
-    for (std::deque<FilterConstraint*>::iterator it = filterConstraints_.begin(); it != filterConstraints_.end(); ++it)
-    {
-      assert(*it != NULL);
-      delete *it;
-    }
 
     for (std::deque<Ordering*>::iterator it = ordering_.begin(); it != ordering_.end(); ++it)
     {
@@ -86,30 +81,20 @@
     }
   }
 
-
-  void FindRequest::AddFilterConstraint(FilterConstraint* constraint /* takes ownership */)
+  void FindRequest::AddDicomTagConstraint(const DicomTagConstraint& constraint)
   {
-    if (constraint == NULL)
-    {
-      throw OrthancException(ErrorCode_NullPointer);
-    }
-    else
-    {
-      filterConstraints_.push_back(constraint);
-    }
+    dicomTagConstraints_.push_back(constraint);
   }
 
-
-  const FindRequest::FilterConstraint& FindRequest::GetFilterConstraint(size_t index) const
+  const DicomTagConstraint& FindRequest::GetDicomTagConstraint(size_t index) const
   {
-    if (index >= filterConstraints_.size())
+    if (index >= dicomTagConstraints_.size())
     {
       throw OrthancException(ErrorCode_ParameterOutOfRange);
     }
     else
     {
-      assert(filterConstraints_[index] != NULL);
-      return *filterConstraints_[index];
+      return dicomTagConstraints_[index];
     }
   }