@Override public ProfanityResult checkStringCounter(String str, String strResourceType) { Counter counter = CounterHome.findByResourceTypeKey(strResourceType); Pattern p = Pattern.compile("\\W"); if (counter == null) { Counter newCounter = new Counter(); newCounter.setCounter(0); newCounter.setResourceType(strResourceType); counter = CounterHome.create(newCounter); } ProfanityResult profResult = new ProfanityResult(); String[] wordStr = null; Collection<Word> wordList = WordHome.getWordsList(); if ((str != null) && StringUtils.isNotEmpty(str) && StringUtils.isNotBlank(str)) { wordStr = p.split(str); } boolean _isSwearWords = false; int number = 0; if (wordStr != null) { for (String word : wordStr) { if (containsReferenceTo(wordList, word)) { profResult.addWord(word); _isSwearWords = true; number++; counter.setCounter(counter.getCounter() + 1); CounterHome.update(counter); profResult.setCounterSwearWords(counter.getCounter()); } } } profResult.setIsSwearWords(_isSwearWords); profResult.setNumberSwearWords(number); return profResult; }
@Override public Counter getCounterSwearWords(String strResourceType) { return CounterHome.findByResourceTypeKey(strResourceType); }