@Override protected String getName(final Dictionary item) { return item.getName(); }
@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); } } }
private DictionaryConnection[] openConnections(final Dictionary[] dictionaries) { return Stream.of(dictionaries).map(d -> d.openConnection(_configuration)).toArray(DictionaryConnection[]::new); }
private static String getDescription(final Dictionary dictionary) { if (dictionary.getDescription() != null) { return dictionary.getDescription(); } if (dictionary instanceof TextFileDictionary) { return ((TextFileDictionary) dictionary).getFilename(); } else if (dictionary instanceof DatastoreDictionary) { final DatastoreDictionary datastoreDictionary = (DatastoreDictionary) dictionary; return datastoreDictionary.getDatastoreName() + ": " + datastoreDictionary.getQualifiedColumnName(); } else if (dictionary instanceof SimpleDictionary) { final SimpleDictionary simpleDictionary = (SimpleDictionary) dictionary; final Collection<String> values = simpleDictionary.getValueSet(); final StringBuilder sb = new StringBuilder(); for (final String value : values) { if (sb.length() > 0) { sb.append(","); } sb.append(value); if (sb.length() > 20) { break; } } return sb.toString(); } return ""; }
final Pattern pattern = entry.getValue(); final Matcher matcher; if (_dictionary.isCaseSensitive()) { matcher = pattern.matcher(value); } else {
@Initialize public void init() { dictionaryConnections = new DictionaryConnection[_dictionaries.length]; for (int i = 0; i < _dictionaries.length; i++) { dictionaryConnections[i] = _dictionaries[i].openConnection(_configuration); } }
@Override public Dictionary getDictionary(final String name) { if (name != null) { for (final Dictionary d : _dictionaries) { if (name.equals(d.getName())) { return d; } } } return null; }
@Initialize public void init() { dictionaryConnection = dictionary.openConnection(configuration); }
@Override public Dictionary getDictionary(final String name) { if (name != null) { for (final Dictionary dict : _userPreferences.getUserDictionaries()) { if (name.equals(dict.getName())) { return dict; } } } return null; }
@Override public OutputColumns getOutputColumns() { final String[] columnNames = new String[2]; final Class<?>[] columnTypes = new Class[2]; columnNames[0] = _column.getName() + " (" + _dictionary.getName() + " removed)"; columnTypes[0] = String.class; columnNames[1] = OUTPUT_COLUMN_REMOVED_MATCHES; switch (_removedMatchesType) { case STRING: columnTypes[1] = String.class; break; case LIST: columnTypes[1] = List.class; break; default: throw new UnsupportedOperationException("Unsupported output type: " + _removedMatchesType); } return new OutputColumns(columnNames, columnTypes); }
final String name = dictionary.getName(); if (uniqueNames.contains(name)) { throw new IllegalStateException("Duplicate dictionary names: " + name);
private void addDictionaryInternal(final Dictionary dict, final boolean externalize) { final String name = dict.getName(); if (Strings.isNullOrEmpty(name)) { throw new IllegalArgumentException("Dictionary has no name!"); } final List<Dictionary> dictionaries = _userPreferences.getUserDictionaries(); for (final Dictionary dictionary : dictionaries) { if (name.equals(dictionary.getName())) { throw new IllegalArgumentException("Dictionary name '" + name + "' is not unique!"); } } assignProvidedProperties(dict); dictionaries.add(dict); if (externalize) { if (_configurationWriter.isExternalizable(dict)) { _configurationWriter.externalize(dict); } _userPreferences.save(); } }
@Override public OutputColumns getOutputColumns() { final String columnName = _column.getName(); final String[] names = new String[_dictionaries.length]; for (int i = 0; i < names.length; i++) { names[i] = columnName + " in '" + _dictionaries[i].getName() + "'"; } final Class<?>[] types = new Class[_dictionaries.length]; for (int i = 0; i < types.length; i++) { types[i] = _outputType.getOutputClass(); } return new OutputColumns(names, types); }
@Override public String toString(final Object o) { final String result; if (o instanceof Schema) { result = ((Schema) o).getName(); } else if (o instanceof Table) { result = ((Table) o).getQualifiedLabel(); } else if (o instanceof Column) { result = ((Column) o).getQualifiedLabel(); } else if (o instanceof Dictionary) { result = ((Dictionary) o).getName(); } else if (o instanceof SynonymCatalog) { result = ((SynonymCatalog) o).getName(); } else if (o instanceof StringPattern) { result = ((StringPattern) o).getName(); } else if (o instanceof Datastore) { result = ((Datastore) o).getName(); } else { logger.warn("Could not convert type: {}", o.getClass().getName()); result = o.toString(); } return result; }
public void removeDictionary(final Dictionary dict, final boolean externalize) { final List<Dictionary> dictionaries = _userPreferences.getUserDictionaries(); if (dictionaries.remove(dict)) { for (final DictionaryChangeListener listener : _dictionaryListeners) { listener.onRemove(dict); } for (final ReferenceDataChangeListener<Dictionary> listener : _dictionaryChangeListeners) { listener.onRemove(dict); } } if (externalize) { _configurationWriter.removeDictionary(dict.getName()); _userPreferences.save(); } }
public void changeDictionary(final Dictionary oldDictionary, final Dictionary newDictionary, final boolean externalize) { final List<Dictionary> dictionaries = _userPreferences.getUserDictionaries(); if (dictionaries.remove(oldDictionary)) { if (externalize) { _configurationWriter.removeDictionary(oldDictionary.getName()); _userPreferences.save(); } } addDictionaryInternal(newDictionary, externalize); for (final ReferenceDataChangeListener<Dictionary> listener : _dictionaryChangeListeners) { listener.onChange(oldDictionary, newDictionary); } for (final DictionaryChangeListener listener : _dictionaryListeners) { listener.onRemove(oldDictionary); listener.onAdd(newDictionary); } }
createCustomElement((CustomElementType) dictionaryType, Dictionary.class, temporaryConfiguration, false); checkName(customDictionary.getName(), Dictionary.class, dictionaryList); dictionaryList.add(customDictionary); } else {