Skip to content

Commit

Permalink
Simplify/clean use of getCandidateAuthorities()
Browse files Browse the repository at this point in the history
  • Loading branch information
rouault committed Sep 17, 2024
1 parent 551471f commit ed0a29c
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions src/iso19111/operation/coordinateoperationfactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1783,17 +1783,19 @@ getCandidateAuthorities(const io::AuthorityFactoryPtr &authFactory,
const std::string &targetAuthName) {
const auto &authFactoryName = authFactory->getAuthority();
std::vector<std::string> authorities;
if (authFactoryName == "any") {
authorities.emplace_back();
}
if (authFactoryName.empty()) {
authorities = authFactory->databaseContext()->getAllowedAuthorities(
srcAuthName, targetAuthName);
for (const std::string &authName :
authFactory->databaseContext()->getAllowedAuthorities(
srcAuthName, targetAuthName)) {
authorities.emplace_back(authName == "any" ? std::string()
: authName);
}
if (authorities.empty()) {
authorities.emplace_back();
}
} else {
authorities.emplace_back(authFactoryName);
authorities.emplace_back(authFactoryName == "any" ? std::string()
: authFactoryName);
}
return authorities;
}
Expand Down Expand Up @@ -1830,9 +1832,7 @@ CoordinateOperationFactory::Private::findOpsInRegistryDirect(
const auto authorities(getCandidateAuthorities(
authFactory, srcAuthName, targetAuthName));
std::vector<CoordinateOperationNNPtr> res;
for (const auto &authority : authorities) {
const auto authName =
authority == "any" ? std::string() : authority;
for (const auto &authName : authorities) {
const auto tmpAuthFactory = io::AuthorityFactory::create(
authFactory->databaseContext(), authName);
auto resTmp =
Expand Down Expand Up @@ -1902,9 +1902,7 @@ CoordinateOperationFactory::Private::findOpsInRegistryDirectTo(
const auto authorities(getCandidateAuthorities(
authFactory, targetAuthName, targetAuthName));
std::vector<CoordinateOperationNNPtr> res;
for (const auto &authority : authorities) {
const auto authName =
authority == "any" ? std::string() : authority;
for (const auto &authName : authorities) {
const auto tmpAuthFactory = io::AuthorityFactory::create(
authFactory->databaseContext(), authName);
auto resTmp =
Expand Down

0 comments on commit ed0a29c

Please sign in to comment.