remove non-alpabet symbols from package search

GitOrigin-RevId: 8da34e824fc5a0113ae03f0041a4e15edf92c77a
This commit is contained in:
Alexander Bubenchikov
2020-05-29 15:41:05 +03:00
committed by intellij-monorepo-bot
parent ed7fa672cf
commit 614055bec1
@@ -35,13 +35,33 @@ public class PackageSearchService implements DependencySearchProvider {
@Override
public void fulltextSearch(@NotNull String searchString, @NotNull Consumer<RepositoryArtifactData> consumer) {
searchString = normalize(searchString);
ProgressManager.checkCanceled();
String url = createUrlFullTextSearch(searchString);
doRequest(consumer, url);
}
private String normalize(String string) {
if (string == null) return null;
StringBuilder builder = new StringBuilder();
boolean isOK = true;
for (char c : string.toCharArray()) {
if ((c >= 'a' && c <= 'z') ||
(c >= 'A' && c <= 'Z') ||
c == ':' || c == '-') {
builder.append(c);
}
else {
isOK = false;
}
}
return isOK ? string : builder.toString();
}
@Override
public void suggestPrefix(@Nullable String groupId, @Nullable String artifactId, @NotNull Consumer<RepositoryArtifactData> consumer) {
artifactId = normalize(artifactId);
groupId = normalize(groupId);
ProgressManager.checkCanceled();
String url = createUrlSuggestPrefix(groupId, artifactId);
doRequest(consumer, url);