use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SalesforceBulkQueryReader method getReturnValues.
@Override
public Map<String, Object> getReturnValues() {
Result result = new Result();
result.totalCount = dataCount;
return result.toMap();
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeReader method start.
@Override
public boolean start() throws IOException {
if (null == factory.getSchema()) {
factory.setSchema(getSchema());
}
result = new Result();
try {
statement = getConnection().createStatement();
resultSet = statement.executeQuery(getQueryString());
return haveNext();
} catch (Exception e) {
throw new IOException(i18nMessages.getMessage("error.processQuery", getQueryString()), e);
}
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeRuntimeIT method populateOutput.
protected SnowflakeConnectionTableProperties populateOutput(int count) throws Throwable {
TSnowflakeOutputProperties props = (TSnowflakeOutputProperties) getComponentService().getComponentProperties(TSnowflakeOutputDefinition.COMPONENT_NAME);
setupProps(props.getConnectionProperties());
checkAndSetupTable(props);
props.outputAction.setStoredValue(TSnowflakeOutputProperties.OutputAction.INSERT);
props.afterOutputAction();
long time = System.currentTimeMillis();
LOGGER.info("Start loading: " + count + " rows");
Result result = makeAndWriteRows(makeWriter(props), count);
assertEquals(count, result.getSuccessCount());
assertEquals(0, result.getRejectCount());
long elapsed = System.currentTimeMillis() - time;
LOGGER.info("time (ms): " + elapsed + " rows/sec: " + ((float) count / (float) (elapsed / 1000)));
return props;
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeWritersTestIT method testOutputFeedback.
@Test
public void testOutputFeedback() throws Throwable {
TSnowflakeOutputProperties props = (TSnowflakeOutputProperties) getComponentService().getComponentProperties(TSnowflakeOutputDefinition.COMPONENT_NAME);
setupProps(props.getConnectionProperties());
setupTableWithStaticValues(props);
props.outputAction.setStoredValue(TSnowflakeOutputProperties.OutputAction.INSERT);
DefaultComponentRuntimeContainerImpl container = new DefaultComponentRuntimeContainerImpl();
// Initialize the Sink, WriteOperation and Writer
SnowflakeSink sfSink = new SnowflakeSink();
sfSink.initialize(container, props);
sfSink.validate(container);
SnowflakeWriteOperation sfWriteOp = sfSink.createWriteOperation();
sfWriteOp.initialize(container);
SnowflakeWriter sfWriter = sfSink.createWriteOperation().createWriter(container);
sfWriter.open("uid1");
List<IndexedRecord> rows = makeRows(2);
IndexedRecord r = rows.get(0);
r.put(0, "badId");
r.put(2, "badBoolean");
r.put(4, "badDate");
r.put(5, "badTime");
r.put(6, "badTimestamp");
sfWriter.write(r);
sfWriter.write(rows.get(1));
Result wr1 = sfWriter.close();
// The rejected writes would come in here
Iterable<IndexedRecord> rejected = sfWriter.getRejectedWrites();
Iterator<IndexedRecord> it = rejected.iterator();
IndexedRecord rej;
rej = it.next();
// row
assertEquals("1", rej.get(1));
// character
assertEquals("1", rej.get(3));
assertThat((String) rej.get(4), containsString("Numeric value 'badId'"));
// byte offset
assertEquals("0", rej.get(5));
// line
assertEquals("1", rej.get(6));
// code
assertEquals("100038", rej.get(8));
rej = it.next();
// row
assertEquals("1", rej.get(1));
// character
assertEquals("13", rej.get(3));
assertThat((String) rej.get(4), containsString("Boolean value 'badBoolean'"));
// byte offset
assertEquals("12", rej.get(5));
// line
assertEquals("1", rej.get(6));
// code
assertEquals("100037", rej.get(8));
rej = it.next();
// row
assertEquals("1", rej.get(1));
// character
assertEquals("32", rej.get(3));
assertThat((String) rej.get(4), containsString("Date 'badDate'"));
// byte offset
assertEquals("31", rej.get(5));
// line
assertEquals("1", rej.get(6));
// code
assertEquals("100040", rej.get(8));
rej = it.next();
// row
assertEquals("1", rej.get(1));
// character
assertEquals("40", rej.get(3));
assertThat((String) rej.get(4), containsString("Time 'badTime'"));
// byte offset
assertEquals("39", rej.get(5));
// line
assertEquals("1", rej.get(6));
// code
assertEquals("100108", rej.get(8));
rej = it.next();
// row
assertEquals("1", rej.get(1));
// character
assertEquals("48", rej.get(3));
assertThat((String) rej.get(4), containsString("Timestamp 'badTimestamp'"));
// byte offset
assertEquals("47", rej.get(5));
// line
assertEquals("1", rej.get(6));
// code
assertEquals("100035", rej.get(8));
assertFalse(it.hasNext());
assertEquals(1, wr1.getSuccessCount());
assertEquals(1, wr1.getRejectCount());
assertEquals(2, wr1.getTotalCount());
sfWriteOp.finalize(Arrays.asList(wr1), container);
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeWritersTestIT method createSnowflakeOutputWriter.
public Writer<Result> createSnowflakeOutputWriter(TSnowflakeOutputProperties props) {
SnowflakeSink SnowflakeSink = new SnowflakeSink();
SnowflakeSink.initialize(container, props);
SnowflakeWriteOperation writeOperation = SnowflakeSink.createWriteOperation();
Writer<Result> writer = writeOperation.createWriter(container);
return writer;
}
Aggregations