This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 6871aa31240 (chores) camel-catalog-lucene / camel-kamelet-main: remove
duplicated code for suggestions
6871aa31240 is described below
commit 6871aa3124060cc9cd933590e832abdd19525424
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Thu Jun 30 12:45:05 2022 +0200
(chores) camel-catalog-lucene / camel-kamelet-main: remove duplicated code
for suggestions
---
.../catalog/lucene/LuceneSuggestionStrategy.java | 5 ++++
.../camel/main/util/SuggestSimilarHelper.java | 31 +++-------------------
2 files changed, 9 insertions(+), 27 deletions(-)
diff --git
a/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java
b/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java
index 284ed21be16..55ffd816c1f 100644
---
a/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java
+++
b/catalog/camel-catalog-lucene/src/main/java/org/apache/camel/catalog/lucene/LuceneSuggestionStrategy.java
@@ -17,6 +17,7 @@
package org.apache.camel.catalog.lucene;
import java.io.StringReader;
+import java.util.Collection;
import java.util.Set;
import org.apache.camel.catalog.SuggestionStrategy;
@@ -37,6 +38,10 @@ public class LuceneSuggestionStrategy implements
SuggestionStrategy {
@Override
public String[] suggestEndpointOptions(Set<String> names, String
unknownOption) {
+ return suggestEndpointOptions(names, unknownOption, maxSuggestions);
+ }
+
+ public static String[] suggestEndpointOptions(Collection<String> names,
String unknownOption, int maxSuggestions) {
// each option must be on a separate line in a String
StringBuilder sb = new StringBuilder();
for (String name : names) {
diff --git
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java
index 921ef8c0975..f4f12d77fb2 100644
---
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java
+++
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/SuggestSimilarHelper.java
@@ -16,15 +16,10 @@
*/
package org.apache.camel.main.util;
-import java.io.StringReader;
import java.util.Arrays;
import java.util.List;
-import org.apache.lucene.analysis.core.KeywordAnalyzer;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.search.spell.PlainTextDictionary;
-import org.apache.lucene.search.spell.SpellChecker;
-import org.apache.lucene.store.ByteBuffersDirectory;
+import org.apache.camel.catalog.lucene.LuceneSuggestionStrategy;
public final class SuggestSimilarHelper {
@@ -34,27 +29,9 @@ public final class SuggestSimilarHelper {
}
public static List<String> didYouMean(List<String> names, String unknown) {
- // each option must be on a separate line in a String
- StringBuilder sb = new StringBuilder();
- for (String name : names) {
- sb.append(name);
- sb.append("\n");
- }
- StringReader reader = new StringReader(sb.toString());
-
- try {
- PlainTextDictionary words = new PlainTextDictionary(reader);
-
- // use in-memory lucene spell checker to make the suggestions
- try (ByteBuffersDirectory dir = new ByteBuffersDirectory()) {
- SpellChecker checker = new SpellChecker(dir);
- checker.indexDictionary(words, new IndexWriterConfig(new
KeywordAnalyzer()), false);
-
- String[] suggestions = checker.suggestSimilar(unknown,
MAX_SUGGESTIONS);
- return Arrays.asList(suggestions);
- }
- } catch (Exception e) {
- // ignore
+ String[] suggestions =
LuceneSuggestionStrategy.suggestEndpointOptions(names, unknown,
MAX_SUGGESTIONS);
+ if (suggestions != null) {
+ return Arrays.asList(suggestions);
}
return null;