Mercurial > hg > orthanc
comparison OrthancServer/Sources/ServerContext.cpp @ 5714:2b05428843d2 find-refactoring
removed dangerous overload of ResourceFinder::Execute()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 13 Jul 2024 00:20:33 +0200 |
parents | 708952bd869c |
children | 593e110de3d8 796cb17db15c |
comparison
equal
deleted
inserted
replaced
5713:d851a54e49b7 | 5714:2b05428843d2 |
---|---|
1554 if (hasModalitiesInStudyLookup) | 1554 if (hasModalitiesInStudyLookup) |
1555 { | 1555 { |
1556 fastLookup->RemoveConstraint(DICOM_TAG_MODALITIES_IN_STUDY); | 1556 fastLookup->RemoveConstraint(DICOM_TAG_MODALITIES_IN_STUDY); |
1557 } | 1557 } |
1558 | 1558 |
1559 if (true) | 1559 const size_t lookupLimit = (databaseLimit == 0 ? 0 : databaseLimit + 1); |
1560 { | 1560 GetIndex().ApplyLookupResources(resources, &instances, *fastLookup, queryLevel, labels, labelsConstraint, lookupLimit); |
1561 /** | |
1562 * EXPERIMENTAL VERSION | |
1563 **/ | |
1564 | |
1565 ResourceFinder finder(queryLevel, false /* TODO-FIND: don't expand for now */); | |
1566 finder.SetDatabaseLimits(databaseLimit); | |
1567 finder.SetDatabaseLookup(lookup); | |
1568 finder.SetLabels(labels); | |
1569 finder.SetLabelsConstraint(labelsConstraint); | |
1570 | |
1571 if (queryLevel != ResourceType_Instance) | |
1572 { | |
1573 finder.SetRetrieveOneInstanceIdentifier(true); | |
1574 } | |
1575 | |
1576 FindResponse response; | |
1577 finder.Execute(response, GetIndex()); | |
1578 | |
1579 resources.resize(response.GetSize()); | |
1580 instances.resize(response.GetSize()); | |
1581 | |
1582 for (size_t i = 0; i < response.GetSize(); i++) | |
1583 { | |
1584 const FindResponse::Resource& resource = response.GetResourceByIndex(i); | |
1585 resources[i] = resource.GetIdentifier(); | |
1586 | |
1587 if (queryLevel == ResourceType_Instance) | |
1588 { | |
1589 instances[i] = resource.GetIdentifier(); | |
1590 } | |
1591 else | |
1592 { | |
1593 instances[i] = resource.GetOneInstanceIdentifier(); | |
1594 } | |
1595 } | |
1596 } | |
1597 else | |
1598 { | |
1599 /** | |
1600 * VERSION IN ORTHANC <= 1.12.4 | |
1601 **/ | |
1602 | |
1603 const size_t lookupLimit = (databaseLimit == 0 ? 0 : databaseLimit + 1); | |
1604 GetIndex().ApplyLookupResources(resources, &instances, *fastLookup, queryLevel, labels, labelsConstraint, lookupLimit); | |
1605 } | |
1606 | 1561 |
1607 bool complete = (databaseLimit == 0 || | 1562 bool complete = (databaseLimit == 0 || |
1608 resources.size() <= databaseLimit); | 1563 resources.size() <= databaseLimit); |
1609 | 1564 |
1610 LOG(INFO) << "Number of candidate resources after fast DB filtering on main DICOM tags: " << resources.size(); | 1565 LOG(INFO) << "Number of candidate resources after fast DB filtering on main DICOM tags: " << resources.size(); |