protected ImmutableColumn(Column column, ImmutableTable table) { this(column.getName(), column.getType(), table, column.getColumnNumber(), column.getColumnSize(), column .getNativeType(), column.isNullable(), column.getRemarks(), column.isIndexed(), column.getQuote(), column.isPrimaryKey()); }
private String getColumnPath(final Column column, final String columnPathQualification) { switch (columnPathQualification) { case COLUMN_PATH_QUALIFICATION_COLUMN: final String columnName = column.getName(); if (Strings.isNullOrEmpty(columnName)) { return column.getTable().getName() + '.' + column.getName(); } return column.getName(); case COLUMN_PATH_QUALIFICATION_TABLE: return column.getTable().getName() + '.' + column.getName(); case COLUMN_PATH_QUALIFICATION_FULL: default: return column.getQualifiedLabel(); } }
@Override public int compare(Column o1, Column o2) { if (o1.getTable() == o2.getTable()) { int diff = o1.getColumnNumber() - o2.getColumnNumber(); if (diff != 0) { return diff; } } return o1.compareTo(o2); } };
@Override public ColumnMetadata getColumnMetadata(Column column) { if (column == null) { return null; } final String columnName = column.getName(); return getColumnMetadataByName(columnName); }
for (final InputColumn<?> inputColumn : sourceColumns) { final Column column = inputColumn.getPhysicalColumn(); model.setValueAt(column.getTable().getName(), i, 0); model.setValueAt(column.getName(), i, 1); model.setValueAt(column.getType(), i, 2); model.setValueAt(column.getNativeType(), i, 3); model.setValueAt(column.getColumnSize(), i, 4); final Boolean nullable = column.isNullable(); if (nullable != null && nullable.booleanValue()) { model.setValueAt(validIcon, i, 5); final boolean indexed = column.isIndexed(); if (indexed) { model.setValueAt(validIcon, i, 6);
assert selectItem.getScalarFunction() == null; if (column.isPrimaryKey()) { values[i] = documentId; } else { Object value = sourceMap.get(column.getName()); if (column.getType() == ColumnType.DATE) { Date valueToDate = ElasticSearchDateConverter.tryToConvert((String) value); if (valueToDate == null) {
if (getColumnNumber() != other.getColumnNumber()) { return false; if (!getName().equals(other.getName())) { return false; if (getType() != other.getType()) { return false; final Table table2 = other.getTable(); if (table1 == null) { if (table2 != null) {
@Override protected DataSet materializeMainSchemaTable(Table table, List<Column> columns, int maxRows) { final Scan scan = new Scan(); for (Column column : columns) { if (!column.isPrimaryKey()) { final int colonIndex = column.getName().indexOf(':'); if (colonIndex != -1) { String family = column.getName().substring(0, colonIndex); scan.addFamily(family.getBytes()); } else { scan.addFamily(column.getName().getBytes()); } } } if (maxRows > 0) { setMaxRows(scan, maxRows); } final org.apache.hadoop.hbase.client.Table hTable = getHTable(table.getName()); try { final ResultScanner scanner = hTable.getScanner(scan); return new HBaseDataSet(columns, scanner, hTable); } catch (Exception e) { FileHelper.safeClose(hTable); throw new MetaModelException(e); } }
@Override public OutputDataStreamBuilder likeTable(final Table table) { final List<Column> existingColumns = _table.getColumns(); for (final Column column : existingColumns) { _table.removeColumn(column); } final List<Column> newColumns = table.getColumns(); for (final Column column : newColumns) { withColumn(column.getName(), column.getType()); } return this; }
@Override public final T like(Column column) { _column.setColumnSize(column.getColumnSize()); _column.setNativeType(column.getNativeType()); _column.setType(column.getType()); _column.setNullable(column.isNullable()); _column.setPrimaryKey(column.isPrimaryKey()); return getReturnObject(); }
String nativeType = column.getNativeType(); if (!Strings.isNullOrEmpty(nativeType)) { return nativeType; final ColumnType type = column.getType(); if (type == null) { throw new IllegalStateException("No column type specified for '" + column.getName() + "' - cannot build ElasticSearch mapping without type."); .getName() + "' - cannot translate to an ElasticSearch type.");
@Override public Table execute() { final ExcelUpdateCallback updateCallback = getUpdateCallback(); final MutableTable table = getTable(); final Sheet sheet = updateCallback.createSheet(table.getName()); final int lineNumber = updateCallback.getConfiguration().getColumnNameLineNumber(); if (lineNumber != ExcelConfiguration.NO_COLUMN_NAME_LINE) { final int zeroBasedLineNumber = lineNumber - 1; final Row row = sheet.createRow(zeroBasedLineNumber); for (final Column column : table.getColumns()) { final int columnNumber = column.getColumnNumber(); row.createCell(columnNumber).setCellValue(column.getName()); } } final MutableSchema schema = (MutableSchema) getSchema(); schema.addTable((MutableTable) table); return table; } }
public Table getTable() { if (_table == null) { return _columns[0].getTable(); } return _table; }
@Override public Object getResultSetValue(ResultSet resultSet, int columnIndex, Column column) throws SQLException { if (column.getNativeType() != null) { switch (column.getNativeType()) { case "json": case "jsonb": assert column.getType() == ColumnType.MAP; final String stringValue = resultSet.getString(columnIndex); if (stringValue == null) { return null; } try { return jsonObjectMapper.readValue(stringValue, Map.class); } catch (Exception e) { throw new IllegalArgumentException("Unable to read string as JSON: " + stringValue); } } } return super.getResultSetValue(resultSet, columnIndex, column); }
final String datastoreName = _analysisJobBuilder.getDatastoreConnection().getDatastore().getName(); final DatastoreDictionary dictionary = new DatastoreDictionary(column.getName(), datastoreName, column.getQualifiedLabel()); popup.setLabel(column.getName()); popup.add(toggleColumnItem); popup.add(createDictionaryItem);
public AnalysisJobMetadata createMetadata() { final MutableAnalysisJobMetadata mutableAnalysisJobMetadata = getAnalysisJobMetadata(); final Datastore datastore = getDatastore(); final String datastoreName = (datastore == null ? null : datastore.getName()); final List<MetaModelInputColumn> sourceColumns = getSourceColumns(); final List<String> sourceColumnPaths = new ArrayList<>(sourceColumns.size()); final List<ColumnType> sourceColumnTypes = new ArrayList<>(sourceColumns.size()); for (final MetaModelInputColumn sourceColumn : sourceColumns) { final Column column = sourceColumn.getPhysicalColumn(); final String path = column.getQualifiedLabel(); final ColumnType type = column.getType(); sourceColumnPaths.add(path); sourceColumnTypes.add(type); } final Map<String, String> properties = mutableAnalysisJobMetadata.getProperties(); final Map<String, String> variables = mutableAnalysisJobMetadata.getVariables(); final String jobName = mutableAnalysisJobMetadata.getJobName(); final String jobVersion = mutableAnalysisJobMetadata.getJobVersion(); final String jobDescription = mutableAnalysisJobMetadata.getJobDescription(); final String author = mutableAnalysisJobMetadata.getAuthor(); final Date createdDate = mutableAnalysisJobMetadata.getCreatedDate(); final Date updatedDate = mutableAnalysisJobMetadata.getUpdatedDate(); return new ImmutableAnalysisJobMetadata(jobName, jobVersion, jobDescription, author, createdDate, updatedDate, datastoreName, sourceColumnPaths, sourceColumnTypes, variables, properties); }
@Override public boolean row(int row, Object[] rowData) { if (_maxRows > 0 && row > _maxRows) { // don't read any more rows return false; } Object[] result = new Object[_columns.size()]; for (int i = 0; i < result.length; i++) { int columnNumber = _columns.get(i).getColumnNumber(); result[i] = rowData[columnNumber]; } _publisher.publish(result); return true; }
@Override public final List<Column> getPrimaryKeys() { final List<Column> primaryKeyColumns = new ArrayList<Column>(); final List<Column> columnsInTable = getColumns(); for (Column column : columnsInTable) { if (column.isPrimaryKey()) { primaryKeyColumns.add(column); } } return primaryKeyColumns; }
@Override public String toString() { return "MetaModelInputColumn[" + _column.getQualifiedLabel() + "]"; } }