api: allow keyword search in listSSHKeyPairs (#2920) (#3098)

Adds support for keyword search that was ignored by listsshkeypairs command.

Fixes: #2920
This commit is contained in:
Anurag Awasthi 2018-12-23 00:34:53 +05:30 committed by Rohit Yadav
parent 8d53557ba7
commit a7ccbdc790
1 changed files with 6 additions and 0 deletions

View File

@ -3655,6 +3655,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
public Pair<List<? extends SSHKeyPair>, Integer> listSSHKeyPairs(final ListSSHKeyPairsCmd cmd) { public Pair<List<? extends SSHKeyPair>, Integer> listSSHKeyPairs(final ListSSHKeyPairsCmd cmd) {
final String name = cmd.getName(); final String name = cmd.getName();
final String fingerPrint = cmd.getFingerprint(); final String fingerPrint = cmd.getFingerprint();
final String keyword = cmd.getKeyword();
final Account caller = getCaller(); final Account caller = getCaller();
final List<Long> permittedAccounts = new ArrayList<Long>(); final List<Long> permittedAccounts = new ArrayList<Long>();
@ -3681,6 +3682,11 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
sc.addAnd("fingerprint", SearchCriteria.Op.EQ, fingerPrint); sc.addAnd("fingerprint", SearchCriteria.Op.EQ, fingerPrint);
} }
if (keyword != null) {
sc.addOr("name", SearchCriteria.Op.LIKE, "%" + keyword + "%");
sc.addOr("fingerprint", SearchCriteria.Op.LIKE, "%" + keyword + "%");
}
final Pair<List<SSHKeyPairVO>, Integer> result = _sshKeyPairDao.searchAndCount(sc, searchFilter); final Pair<List<SSHKeyPairVO>, Integer> result = _sshKeyPairDao.searchAndCount(sc, searchFilter);
return new Pair<List<? extends SSHKeyPair>, Integer>(result.first(), result.second()); return new Pair<List<? extends SSHKeyPair>, Integer>(result.first(), result.second());
} }