comparison OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp @ 5721:3f97590cc0c9 find-refactoring-clean

integration find-refactoring->find-refactoring-clean
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 19 Jul 2024 10:06:39 +0200
parents f488fc5c972a 89d559e67b03
children 3fd4d5833c55
comparison
equal deleted inserted replaced
5719:f488fc5c972a 5721:3f97590cc0c9
3407 { 3407 {
3408 transaction.ExecuteFind(tuple.get<0>(), tuple.get<1>(), tuple.get<2>()); 3408 transaction.ExecuteFind(tuple.get<0>(), tuple.get<1>(), tuple.get<2>());
3409 } 3409 }
3410 }; 3410 };
3411 3411
3412 class FindStage : public ReadOnlyOperationsT3<std::list<std::string>&, const FindRequest&, 3412 class FindStage : public ReadOnlyOperationsT3<std::list<std::string>&, const IDatabaseWrapper::Capabilities&, const FindRequest& >
3413 const IDatabaseWrapper::Capabilities&>
3414 { 3413 {
3415 public: 3414 public:
3416 virtual void ApplyTuple(ReadOnlyTransaction& transaction, 3415 virtual void ApplyTuple(ReadOnlyTransaction& transaction,
3417 const Tuple& tuple) ORTHANC_OVERRIDE 3416 const Tuple& tuple) ORTHANC_OVERRIDE
3418 { 3417 {
3419 transaction.ExecuteFind(tuple.get<0>(), tuple.get<1>(), tuple.get<2>()); 3418 transaction.ExecuteFind(tuple.get<0>(), tuple.get<1>(), tuple.get<2>());
3420 } 3419 }
3421 }; 3420 };
3422 3421
3423 class ExpandStage : public ReadOnlyOperationsT3<FindResponse&, const FindRequest&, const std::string&> 3422 class ExpandStage : public ReadOnlyOperationsT4<FindResponse&, const IDatabaseWrapper::Capabilities&, const FindRequest&, const std::string&>
3424 { 3423 {
3425 public: 3424 public:
3426 virtual void ApplyTuple(ReadOnlyTransaction& transaction, 3425 virtual void ApplyTuple(ReadOnlyTransaction& transaction,
3427 const Tuple& tuple) ORTHANC_OVERRIDE 3426 const Tuple& tuple) ORTHANC_OVERRIDE
3428 { 3427 {
3429 transaction.ExecuteExpand(tuple.get<0>(), tuple.get<1>(), tuple.get<2>()); 3428 transaction.ExecuteExpand(tuple.get<0>(), tuple.get<1>(), tuple.get<2>(), tuple.get<3>());
3430 } 3429 }
3431 }; 3430 };
3432 3431
3433 IDatabaseWrapper::Capabilities capabilities = db_.GetDatabaseCapabilities(); 3432 IDatabaseWrapper::Capabilities capabilities = db_.GetDatabaseCapabilities();
3434 3433
3449 * the compatibility mode equivalent to Orthanc <= 1.12.3. 3448 * the compatibility mode equivalent to Orthanc <= 1.12.3.
3450 **/ 3449 **/
3451 std::list<std::string> identifiers; 3450 std::list<std::string> identifiers;
3452 3451
3453 FindStage find; 3452 FindStage find;
3454 find.Apply(*this, identifiers, request, capabilities); 3453 find.Apply(*this, identifiers, capabilities, request);
3455 3454
3456 ExpandStage expand; 3455 ExpandStage expand;
3457 3456
3458 for (std::list<std::string>::const_iterator it = identifiers.begin(); it != identifiers.end(); ++it) 3457 for (std::list<std::string>::const_iterator it = identifiers.begin(); it != identifiers.end(); ++it)
3459 { 3458 {
3460 /** 3459 /**
3461 * Not that the resource might have been deleted (as we are in 3460 * Not that the resource might have been deleted (as we are in
3462 * another transaction). The database engine must ignore such 3461 * another transaction). The database engine must ignore such
3463 * error cases. 3462 * error cases.
3464 **/ 3463 **/
3465 expand.Apply(*this, response, request, *it); 3464 expand.Apply(*this, response, capabilities, request, *it);
3466 } 3465 }
3467 } 3466 }
3468 } 3467 }
3469 } 3468 }