*) changes for better code readability

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6798 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
low012 15 years ago
parent 2bc459252e
commit 15d9ea8375

@ -73,8 +73,7 @@ public class DidYouMean {
*/
public String getSuggestion(final String word, long timeout) {
Set<String> s = getSuggestions(word, timeout);
if (s == null || s.isEmpty()) return null;
return s.iterator().next();
return (s == null || s.isEmpty()) ? null : s.iterator().next();
}
/**
@ -85,8 +84,7 @@ public class DidYouMean {
*/
public String getSuggestion(final String word, long timeout, int preSortSelection) {
Set<String> s = getSuggestions(word, timeout, preSortSelection);
if (s == null || s.isEmpty()) return null;
return s.iterator().next();
return (s == null || s.isEmpty()) ? null : s.iterator().next();
}
/**
@ -106,7 +104,7 @@ public class DidYouMean {
SortedSet<String> countSorted = Collections.synchronizedSortedSet(new TreeSet<String>(new indexSizeComparator()));
int wc = index.count(Word.word2hash(word)); // all counts must be greater than this
int c0;
for (String s: preSorted) {
for (final String s: preSorted) {
if (System.currentTimeMillis() > timelimit) break;
if (preSortSelection <= 0) break;
c0 = index.count(Word.word2hash(s));
@ -125,12 +123,12 @@ public class DidYouMean {
*/
@SuppressWarnings("unchecked")
public static SortedSet<String> getSuggestions(final String[] words, long timeout, int preSortSelection, final IndexCell<WordReference> index) {
SortedSet<String>[] s = new SortedSet[words.length];
final SortedSet<String>[] s = new SortedSet[words.length];
for (int i = 0; i < words.length; i++) {
s[i] = new DidYouMean(index).getSuggestions(words[i], timeout / words.length, preSortSelection);
}
// make all permutations
SortedSet<String> result = new TreeSet<String>();
final SortedSet<String> result = new TreeSet<String>();
StringBuilder sb;
for (int i = 0; i < words.length; i++) {
if (s[i].isEmpty()) continue;
@ -165,7 +163,7 @@ public class DidYouMean {
// get a single recommendation for the word without altering the word
Set<String> libr = LibraryProvider.dymLib.recommend(word);
for (String t: libr) {
for (final String t: libr) {
if (!t.equals(word)) try {
createGen = false;
guessLib.put(t);
@ -181,7 +179,7 @@ public class DidYouMean {
producers[1] = new AddingOneLetter();
producers[2] = new DeletingOneLetter();
producers[3] = new ReversingTwoConsecutiveLetters();
for (Thread t: producers) t.start();
for (final Thread t: producers) t.start();
// start more consumers if there are more cores
if (consumers.length > 1) for (int i = 1; i < consumers.length; i++) {
@ -192,7 +190,7 @@ public class DidYouMean {
// now decide which kind of guess is better
// we take guessLib entries as long as there is any entry in it
// to see if this is the case, we must wait for termination of the producer
for (Thread t: producers) try { t.join(); } catch (InterruptedException e) {}
for (final Thread t: producers) try { t.join(); } catch (InterruptedException e) {}
// if there is not any entry in guessLib, then transfer all entries from the
// guessGen to guessLib
@ -203,11 +201,11 @@ public class DidYouMean {
} catch (InterruptedException e) {}
// put poison into guessLib to terminate consumers
for (@SuppressWarnings("unused") Consumer c: consumers)
for (@SuppressWarnings("unused") final Consumer c: consumers)
try { guessLib.put(POISON_STRING); } catch (InterruptedException e) {}
// wait for termination of consumer
for (Consumer c: consumers)
for (final Consumer c: consumers)
try { c.join(); } catch (InterruptedException e) {}
// we don't want the given word in the result
@ -225,8 +223,12 @@ public class DidYouMean {
Set<String> libr = LibraryProvider.dymLib.recommend(s);
libr.addAll(LibraryProvider.geoDB.recommend(s));
if (!libr.isEmpty()) createGen = false;
for (String t: libr) guessLib.put(t);
if (createGen) guessGen.put(s);
for (final String t: libr) {
guessLib.put(t);
}
if (createGen) {
guessGen.put(s);
}
}
/**
@ -274,7 +276,7 @@ public class DidYouMean {
@Override
public void run() {
for (int i = 0; i <= wordLen; i++) try {
for (char c: ALPHABET) {
for (final char c: ALPHABET) {
test(word.substring(0, i) + c + word.substring(i));
if (System.currentTimeMillis() > timeLimit) return;
}

Loading…
Cancel
Save