PageRenderTime 41ms CodeModel.GetById 32ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/com/wordfix/service/WordService.java

https://gitlab.com/scottqq/wordfix
Java | 73 lines | 50 code | 23 blank | 0 comment | 6 complexity | f2f1f4145e3ede54c890701c72823794 MD5 | raw file
  1. package com.wordfix.service;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import com.alibaba.fastjson.JSON;
  7. import com.wordfix.dao.WordDao;
  8. import com.wordfix.domain.Response;
  9. import com.wordfix.util.DataUtil;
  10. public class WordService
  11. {
  12. public static Logger logger = LoggerFactory.getLogger(WordService.class);
  13. public static String correct(String input)
  14. {
  15. List<String> candidates = new ArrayList<String>();
  16. candidates.addAll(DataUtil.known(input));
  17. if(candidates.isEmpty())
  18. {
  19. candidates.addAll(DataUtil.known(DataUtil.edit1(input)));
  20. }
  21. if(candidates.isEmpty())
  22. {
  23. candidates.addAll(DataUtil.know_edit2(input));
  24. }
  25. if(candidates.isEmpty())
  26. {
  27. candidates.add(input);
  28. }
  29. List<String> result = WordDao.getProbabilityWords(candidates, 1);
  30. if(result != null && !result.isEmpty())
  31. {
  32. return result.get(0);
  33. }
  34. return input;
  35. }
  36. public static List<String> autoComplete(String input)
  37. {
  38. return WordDao.getAutoCompleteWord(input, 10);
  39. }
  40. public static String autJsonComplete(String input)
  41. {
  42. Response response = new Response();
  43. response.setSuggestions(autoComplete(input));
  44. String result = JSON.toJSONString(response);
  45. result = result.replaceFirst("\"suggestions\":", "");
  46. result = result.replaceAll("[\\{|\\}]", "");
  47. logger.info(result);
  48. return result;
  49. }
  50. }