comparison OrthancServer/OrthancRestApi/OrthancRestResources.cpp @ 3033:5da6d1063d8f db-changes

effectively replacing LookupResource by DatabaseLookup in searches
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 19 Dec 2018 13:58:28 +0100
parents fd587cf51a89
children 54e422fe31ce
comparison
equal deleted inserted replaced
3032:19ebb606910d 3033:5da6d1063d8f
1399 } 1399 }
1400 1400
1401 since = static_cast<size_t>(tmp); 1401 since = static_cast<size_t>(tmp);
1402 } 1402 }
1403 1403
1404 std::string level = request[KEY_LEVEL].asString(); 1404 ResourceType level = StringToResourceType(request[KEY_LEVEL].asCString());
1405 1405
1406 LookupResource query(StringToResourceType(level.c_str())); 1406 DatabaseLookup query;
1407 DatabaseLookup query2;
1408 1407
1409 Json::Value::Members members = request[KEY_QUERY].getMemberNames(); 1408 Json::Value::Members members = request[KEY_QUERY].getMemberNames();
1410 for (size_t i = 0; i < members.size(); i++) 1409 for (size_t i = 0; i < members.size(); i++)
1411 { 1410 {
1412 if (request[KEY_QUERY][members[i]].type() != Json::stringValue) 1411 if (request[KEY_QUERY][members[i]].type() != Json::stringValue)
1413 { 1412 {
1414 throw OrthancException(ErrorCode_BadRequest, 1413 throw OrthancException(ErrorCode_BadRequest,
1415 "Tag \"" + members[i] + "\" should be associated with a string"); 1414 "Tag \"" + members[i] + "\" should be associated with a string");
1416 } 1415 }
1417 1416
1418 query.AddDicomConstraint(FromDcmtkBridge::ParseTag(members[i]), 1417 query.AddRestConstraint(FromDcmtkBridge::ParseTag(members[i]),
1419 request[KEY_QUERY][members[i]].asString(), 1418 request[KEY_QUERY][members[i]].asString(),
1420 caseSensitive); 1419 caseSensitive, true);
1421 query2.AddRestConstraint(FromDcmtkBridge::ParseTag(members[i]),
1422 request[KEY_QUERY][members[i]].asString(),
1423 caseSensitive, true);
1424 } 1420 }
1425 1421
1426 FindVisitor visitor; 1422 FindVisitor visitor;
1427 context.Apply(visitor, query, query2, since, limit); 1423 context.Apply(visitor, query, level, since, limit);
1428 visitor.Answer(call.GetOutput(), context.GetIndex(), query.GetLevel(), expand); 1424 visitor.Answer(call.GetOutput(), context.GetIndex(), level, expand);
1429 } 1425 }
1430 } 1426 }
1431 1427
1432 1428
1433 template <enum ResourceType start, 1429 template <enum ResourceType start,