Make project search by tags case insensitive (#1723)

Signed-off-by: ege-dw <enora.germond@deveryware.com>

Signed-off-by: ege-dw <enora.germond@deveryware.com>
Co-authored-by: ege-dw <enora.germond@deveryware.com>

Closes #1717
This commit is contained in:
Mvld3r 2022-12-14 16:16:29 +01:00 committed by GitHub
parent a2cbecca89
commit 61b63d54b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 11 deletions

View file

@ -365,10 +365,10 @@ final class ProjectQueryManager extends QueryManager implements IQueryManager {
* @return a Tag object
*/
public Tag getTagByName(final String name) {
final String trimmedTag = StringUtils.trimToNull(name);
final String loweredTrimmedTag = StringUtils.lowerCase(StringUtils.trimToNull(name));
final Query<Tag> query = pm.newQuery(Tag.class, "name == :name");
query.setRange(0, 1);
return singleResult(query.execute(trimmedTag));
return singleResult(query.execute(loweredTrimmedTag));
}
/**
@ -377,13 +377,13 @@ final class ProjectQueryManager extends QueryManager implements IQueryManager {
* @return the created Tag object
*/
public Tag createTag(final String name) {
final String trimmedTag = StringUtils.trimToNull(name);
final Tag resolvedTag = getTagByName(trimmedTag);
final String loweredTrimmedTag = StringUtils.lowerCase(StringUtils.trimToNull(name));
final Tag resolvedTag = getTagByName(loweredTrimmedTag);
if (resolvedTag != null) {
return resolvedTag;
}
final Tag tag = new Tag();
tag.setName(trimmedTag);
tag.setName(loweredTrimmedTag);
return persist(tag);
}
@ -395,10 +395,10 @@ final class ProjectQueryManager extends QueryManager implements IQueryManager {
private List<Tag> createTags(final List<String> names) {
final List<Tag> newTags = new ArrayList<>();
for (final String name: names) {
final String trimmedTag = StringUtils.trimToNull(name);
if (getTagByName(trimmedTag) == null) {
final String loweredTrimmedTag = StringUtils.lowerCase(StringUtils.trimToNull(name));
if (getTagByName(loweredTrimmedTag) == null) {
final Tag tag = new Tag();
tag.setName(trimmedTag);
tag.setName(loweredTrimmedTag);
newTags.add(tag);
}
}