@Override public OutputDataStream toOutputDataStream() { if (_table.getColumnCount() == 0) { throw new IllegalStateException("No columns defined in OutputDataStream '" + _name + "'"); } return new PushOutputDataStream(_name, _table); }
@Override public OutputDataStreamBuilder withColumn(final String name, final ColumnType type) { final int columnNumber = _table.getColumnCount() + 1; final MutableColumn column = new MutableColumn(name, type, _table, columnNumber, true); _table.addColumn(column); return this; }
private Object[] toRowValues(ArrayNode row) { ArrayList<Object> values = new ArrayList<>(); int i = 0; for (JsonNode value : row) { if (i >= table.getColumnCount()) { LOGGER.debug("Data contain more columns than specified. Will be ignored."); break; } Column col = table.getColumn(i); values.add(convertTableValue(col.getType().getJavaEquivalentClass(), value)); i++; } return values.toArray(new Object[values.size()]); }
private Column getTextContentColumn(MutableTable table, String preferredColumnName) { MutableColumn column = null; for (Column col : table.getColumns()) { if (NATIVE_TYPE_TEXT.equals(col.getNativeType())) { column = (MutableColumn) col; break; } } if (column == null && preferredColumnName != null) { logger.info("Creating text content column for table: " + table.getName()); column = new MutableColumn(preferredColumnName + TEXT_CONTENT_TEMP_SUFFIX, ColumnType.STRING, table, table .getColumnCount(), true); column.setNativeType(NATIVE_TYPE_TEXT); table.addColumn(column); } return column; }
@Override public ColumnCreationBuilder withColumn(String name) { logger.debug("withColumn({})", name); MutableColumn col = (MutableColumn) _table.getColumnByName(name); if (col == null) { col = new MutableColumn(name).setTable(_table).setColumnNumber(_table.getColumnCount()); _table.addColumn(col); } return new ColumnCreationBuilderImpl(this, col); }
@Override public ColumnCreationBuilder withColumn(String name) { logger.debug("withColumn({})", name); MutableColumn col = (MutableColumn) _table.getColumnByName(name); if (col == null) { col = new MutableColumn(name).setTable(_table).setColumnNumber(_table.getColumnCount()); _table.addColumn(col); } return new ColumnCreationBuilderImpl(this, col); }
private MutableColumn getIdColumn(MutableTable table) { MutableColumn column = null; for (Column col : table.getColumns()) { if (NATIVE_TYPE_PRIMARY_KEY.equals(col.getNativeType())) { column = (MutableColumn) col; break; } } if (column == null) { String tableName = table.getName(); logger.info("Creating id column for table: " + tableName); column = new MutableColumn(tableName + "_metamodel_surrogate_id", ColumnType.INTEGER, table, table .getColumnCount(), false); column.setNativeType(NATIVE_TYPE_PRIMARY_KEY); column.setIndexed(true); table.addColumn(column); } return column; }
Table parentTable = parentKeyColumn.getTable(); foreignKeyColumn = new MutableColumn(parentTable.getName() + "_id", parentKeyColumn.getType(), table, table.getColumnCount(), false); foreignKeyColumn.setNativeType(NATIVE_TYPE_FOREIGN_KEY); table.addColumn(foreignKeyColumn); if (column == null) { logger.info("Creating column: {}.{}", tableName, name); column = new MutableColumn(name, ColumnType.STRING, table, table.getColumnCount(), true); column.setNativeType(NATIVE_TYPE_ATTRIBUTE); table.addColumn(column); Object[] rowData = new Object[table.getColumnCount()];
primaryTable, primaryTable.getColumnCount(), foreignColumn.isNullable()); newPrimaryColumn.setIndexed(foreignColumn.isIndexed()); newPrimaryColumn.setNativeType(foreignColumn.getNativeType());
@Override public Table execute() throws MetaModelException { final MongoDbDataContext dataContext = getUpdateCallback() .getDataContext(); final Schema schema = dataContext.getDefaultSchema(); final MutableTable table = getTable(); if (table.getColumnByName("_id") == null) { // all mongo db collections have an _id field as the first field. ImmutableColumn idColumn = new ImmutableColumn("_id", ColumnType.ROWID, table, table.getColumnCount(), null, null, null, null, true, null, true); table.addColumn(idColumn); } table.setSchema(schema); getUpdateCallback().createCollection(table.getName()); dataContext.addTable(table); return table; } }
@Override public Table execute() throws MetaModelException { final MongoDbDataContext dataContext = getUpdateCallback() .getDataContext(); final Schema schema = dataContext.getDefaultSchema(); final MutableTable table = getTable(); if (table.getColumnByName("_id") == null) { // all mongo db collections have an _id field as the first field. ImmutableColumn idColumn = new ImmutableColumn("_id", ColumnType.ROWID, table, table.getColumnCount(), null, null, null, null, true, null, true); table.addColumn(idColumn); } table.setSchema(schema); getUpdateCallback().createCollection(table.getName()); dataContext.addTable(table); return table; } }
@Override public Table execute() throws MetaModelException { final MongoDbDataContext dataContext = getUpdateCallback() .getDataContext(); final Schema schema = dataContext.getDefaultSchema(); final MutableTable table = getTable(); if (table.getColumnByName("_id") == null) { // all mongo db collections have an _id field as the first field. ImmutableColumn idColumn = new ImmutableColumn("_id", ColumnType.ROWID, table, table.getColumnCount(), null, null, null, null, true, null, true); table.addColumn(idColumn); } table.setSchema(schema); getUpdateCallback().createCollection(table.getName()); dataContext.addTable(table); return table; } }
@Override public Table execute() throws MetaModelException { final MongoDbDataContext dataContext = getUpdateCallback() .getDataContext(); final Schema schema = dataContext.getDefaultSchema(); final MutableTable table = getTable(); if (table.getColumnByName("_id") == null) { // all mongo db collections have an _id field as the first field. ImmutableColumn idColumn = new ImmutableColumn("_id", ColumnType.ROWID, table, table.getColumnCount(), null, null, null, null, true, null, true); table.addColumn(idColumn); } table.setSchema(schema); getUpdateCallback().createCollection(table.getName()); dataContext.addTable(table); return table; } }