@Close public void close() { if (dictionaryConnection != null) { dictionaryConnection.close(); dictionaryConnection = null; } }
@Override public Category categorize(final InputRow inputRow) { final String value = inputRow.getValue(column); if (value != null) { if (dictionaryConnection.containsValue(value)) { return Category.VALID; } } return Category.INVALID; }
private String capitalizeWordsByDictionaries(final String value) { final String preparedString = UCharacter.toTitleCase(value, BreakIterator.getWordInstance()); for (final DictionaryConnection allWordsDictionaryConnection : allWordsDictionaryConnections) { final Iterator<String> lengthSortedValues = allWordsDictionaryConnection.getLengthSortedValues(); while (lengthSortedValues.hasNext()) { final String candidate = lengthSortedValues.next(); if (candidate.equalsIgnoreCase(value)) { return candidate; } } } return getAllWords(preparedString).stream().map(this::capitalizeWordByDictionaries) .collect(Collectors.joining()); }
@Override public Iterator<String> getAllValues() { return _dictionary.loadIntoMemory(_datastoreConnection).openConnection(null).getAllValues(); }
@Override public Iterator<String> getLengthSortedValues() { return _dictionary.loadIntoMemory(_datastoreConnection).openConnection(null).getLengthSortedValues(); }
@Initialize public void init() { _dictionaryConnection = _dictionary.openConnection(_configuration); multiWordDictionaryPatterns = new LinkedHashMap<>(); final Iterator<String> allValues = _dictionaryConnection.getLengthSortedValues(); while (allValues.hasNext()) { final String value = allValues.next(); if (!StringUtils.isSingleWord(value)) { final Pattern pattern; if (_dictionary.isCaseSensitive()) { pattern = Pattern.compile("\\b" + Pattern.quote(value) + "\\b"); } else { pattern = Pattern.compile("\\b" + Pattern.quote(value.toLowerCase()) + "\\b"); } multiWordDictionaryPatterns.put(value, pattern); } } }
@Close public void close() { if (_dictionaryConnection != null) { _dictionaryConnection.close(); _dictionaryConnection = null; } }
public Object[] transform(final Object value) { final String stringValue = ConvertToStringTransformer.transformValue(value); final Object[] result = new Object[_dictionaries.length]; if (stringValue != null) { for (int i = 0; i < result.length; i++) { final boolean containsValue = dictionaryConnections[i].containsValue(stringValue); if (_outputType == MatchOutputType.TRUE_FALSE) { result[i] = containsValue; } else if (_outputType == MatchOutputType.INPUT_OR_NULL) { if (containsValue) { result[i] = stringValue; } else { result[i] = null; } } } } return result; }
@Close public void close() { if (dictionaryConnections != null) { for (int i = 0; i < dictionaryConnections.length; i++) { dictionaryConnections[i].close(); } dictionaryConnections = null; } }
for (final String token : tokens) { if (StringUtils.isSingleWord(token)) { if (_dictionaryConnection.containsValue(token)) { removedParts.add(token); } else {