@Override public void close() { _buffer.flushBuffer(); }
public void insertValues(final Object[] values) { _buffer.addToBuffer(values); } }
logger.info("Row buffer size set to {}", bufferSize); _writeBuffer = new WriteBuffer(bufferSize, this);
@Initialize public void init() throws IllegalArgumentException { _errorRowCount = new AtomicInteger(); _updatedRowCount = new AtomicInteger(); if (errorHandlingOption == ErrorHandlingOption.SAVE_TO_FILE) { _errorDataContext = createErrorDataContext(); } final int bufferSize = bufferSizeOption.calculateBufferSize(0); //TODO what buffer size? needed? logger.info("Row buffer size set to {}", bufferSize); _writeBuffer = new WriteBuffer(bufferSize, this); try (UpdateableDatastoreConnection con = datastore.openConnection()) { final SchemaNavigator schemaNavigator = con.getSchemaNavigator(); final List<String> columnsNotFound = new ArrayList<>(); _targetConditionColumns = schemaNavigator.convertToColumns(schemaName, tableName, conditionColumnNames); for (int i = 0; i < _targetConditionColumns.length; i++) { if (_targetConditionColumns[i] == null) { columnsNotFound.add(conditionColumnNames[i]); } } if (!columnsNotFound.isEmpty()) { throw new IllegalArgumentException("Could not find column(s): " + columnsNotFound); } } }
public final void addToBuffer(final Object[] rowData) { while (!_buffer.offer(rowData)) { flushBuffer(); } }
@Override public void run(final InputRow row, final int distinctCount) { final Object value = row.getValue(column); _rowCount.addAndGet(distinctCount); if (value == null) { _nullCount.addAndGet(distinctCount); } else { final String str = value.toString(); for (int i = 0; i < distinctCount; i++) { _writeBuffer.addToBuffer(new Object[] { str }); } } }
logger.info("Row buffer size set to {}", bufferSize); _writeBuffer = new WriteBuffer(bufferSize, this);
@Override public WriteDataResult getResult() { _writeBuffer.flushBuffer(); final int updatedRowCount = _updatedRowCount.get(); final FileDatastore errorDatastore; if (_errorDataContext != null) { final Resource resource = _errorDataContext.getResource(); errorDatastore = new CsvDatastore(resource.getName(), resource); } else { errorDatastore = null; } return new WriteDataResultImpl(0, updatedRowCount, datastore, schemaName, tableName, _errorRowCount.get(), errorDatastore); }
_writeBuffer.addToBuffer(rowData);
_writeBuffer = new WriteBuffer(_bufferSize, rows -> { for (final Object[] objects : rows) { final String string = (String) objects[0];
@Override public WriteDataResult getResult() { _writeBuffer.flushBuffer(); final int updatedRowCount = _updatedRowCount.get(); final FileDatastore errorDatastore; if (_errorDataContext != null) { final Resource resource = _errorDataContext.getResource(); errorDatastore = new CsvDatastore(resource.getName(), resource); } else { errorDatastore = null; } return new WriteDataResultImpl(0, updatedRowCount, datastore, schemaName, tableName, _errorRowCount.get(), errorDatastore); }
_writeBuffer.addToBuffer(rowData);
public ExcelDataContextWriter(final File file, final String sheetName) { _dataContext = new ExcelDataContext(file); _sheetName = sheetName; _buffer = new WriteBuffer(2000, records -> _dataContext.executeUpdate(callback -> { final Table table = callback.getDataContext().getDefaultSchema().getTableByName(_sheetName); for (final Object[] objects : records) { final RowInsertionBuilder insert = callback.insertInto(table); for (int i = 0; i < objects.length; i++) { insert.value(i, objects[i]); } insert.execute(); } })); }
@Override public WriteDataResult getResult() { _writeBuffer.flushBuffer(); final int writtenRowCount = _writtenRowCount.get(); final FileDatastore errorDatastore; if (_errorDataContext != null) { final Resource resource = _errorDataContext.getResource(); errorDatastore = new CsvDatastore(resource.getName(), resource); } else { errorDatastore = null; } return new WriteDataResultImpl(writtenRowCount, datastore, schemaName, tableName, _errorRowCount.get(), errorDatastore); }
_writeBuffer.addToBuffer(rowData);
@Override public UniqueKeyCheckAnalyzerResult getResult() { _writeBuffer.flushBuffer();