private Element toElement(final DatastoreDictionary dictionary) { final Element elem = getDocument().createElement("datastore-dictionary"); elem.setAttribute("name", dictionary.getName()); if (!Strings.isNullOrEmpty(dictionary.getDescription())) { elem.setAttribute("description", dictionary.getDescription()); } appendElement(elem, "datastore-name", dictionary.getDatastoreName()); appendElement(elem, "column-path", dictionary.getQualifiedColumnName()); appendElement(elem, "load-into-memory", dictionary.isLoadIntoMemory()); return elem; }
@Override public Iterator<String> getAllValues() { return _dictionary.loadIntoMemory(_datastoreConnection).openConnection(null).getAllValues(); }
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 ""; }
_nameTextField.setText(dictionary.getName()); _columnTextField.setText(dictionary.getQualifiedColumnName()); _datastoreComboBox.setSelectedItem(dictionary.getDatastoreName());
public SimpleDictionary loadIntoMemory(final DatastoreConnection datastoreConnection) { final DataContext dataContext = datastoreConnection.getDataContext(); final Column column = getColumn(datastoreConnection); final Query query = dataContext.query().from(column.getTable()).select(column).toQuery(); if (datastoreConnection.getDatastore().getPerformanceCharacteristics().isQueryOptimizationPreferred()) { query.getSelectClause().setDistinct(true); } final Set<String> values = new HashSet<>(); try (DataSet dataSet = dataContext.executeQuery(query)) { while (dataSet.next()) { final Object value = dataSet.getRow().getValue(0); if (value != null) { values.add(value.toString()); } } } return new SimpleDictionary(getName(), values); }
if (dictionary instanceof DatastoreDictionary) { datastores.add(configuration.getDatastoreCatalog() .getDatastore(((DatastoreDictionary) dictionary).getDatastoreName()));
new DatastoreDictionary(name, dsName, columnPath, loadIntoMemory); dict.setDescription(ddt.getDescription());
final String datastoreName = _analysisJobBuilder.getDatastoreConnection().getDatastore().getName(); final DatastoreDictionary dictionary = new DatastoreDictionary(column.getName(), datastoreName, column.getQualifiedLabel());
@Override public boolean containsValue(final String value) { final DataContext dataContext = _datastoreConnection.getDataContext(); final Column column = _dictionary.getColumn(_datastoreConnection); try (DataSet dataSet = dataContext.query().from(column.getTable()).select(column).where(column).eq(value) .maxRows(1).execute()) { if (dataSet.next()) { return true; } return false; } }
final DatastoreDictionary dictionary = new DatastoreDictionary(name1, datastoreName, columnPath); if (_originalDictionary != null) { _referenceDataCatalog.changeDictionary(_originalDictionary, dictionary);
@Override public Iterator<String> getLengthSortedValues() { return _dictionary.loadIntoMemory(_datastoreConnection).openConnection(null).getLengthSortedValues(); }
@Override public DictionaryConnection openConnection(final DataCleanerConfiguration configuration) { final Datastore datastore = configuration.getDatastoreCatalog().getDatastore(_datastoreName); if (datastore == null) { throw new NoSuchDatastoreException(_datastoreName); } final DatastoreConnection datastoreConnection = datastore.openConnection(); if (_loadIntoMemory) { final SimpleDictionary simpleDictionary = loadIntoMemory(datastoreConnection); // no need for the connection anymore datastoreConnection.close(); return simpleDictionary.openConnection(configuration); } return new DatastoreDictionaryConnection(this, datastoreConnection); }