output.put((RestApiCommand) cmds.get(0), jsonStr); return output;
@Override public long getCount(CommandOutput<?, ?> response) throws RecordCountException { this.log.debug("Extract source record count from resultset"); ResultSet resultset = null; long count = 0; Iterator<ResultSet> itr = (Iterator<ResultSet>) response.getResults().values().iterator(); if (itr.hasNext()) { resultset = itr.next(); try { if (resultset.next()) { count = resultset.getLong(1); } } catch (Exception e) { throw new RecordCountException("Failed to get source record count from database; error - " + e.getMessage(), e); } } else { throw new RuntimeException("Failed to get source record count from database - Resultset has no records"); } return count; }
output.put((JdbcCommand) cmds.get(0), resultSet); return output;
@Override public long getCount(CommandOutput<?, ?> response) throws RecordCountException { log.info("Get source record count from salesforce"); String output; Iterator<String> itr = (Iterator<String>) response.getResults().values().iterator(); if (itr.hasNext()) { output = itr.next(); } else { throw new RecordCountException("Failed to get count from salesforce; REST response has no output"); } JsonElement element = GSON.fromJson(output, JsonObject.class); long count; try { JsonObject jsonObject = element.getAsJsonObject(); count = jsonObject.get("totalSize").getAsLong(); } catch (Exception e) { throw new RecordCountException("Failed to get record count from salesforce; error - " + e.getMessage(), e); } return count; }
output.put((JdbcCommand) cmds.get(0), resultSet); return output;
Iterator<String> itr = (Iterator<String>) response.getResults().values().iterator(); if (itr.hasNext()) { output = itr.next();
@BeforeClass public void setup() { output = new JdbcCommandOutput(); try { output.put(new JdbcCommand(), buildMockResultSet()); } catch (Exception e) { // hack for test failure assertEquals("PostgresqlExtractorTest: error initializing mock result set", "false"); } state = new WorkUnitState(); state.setId("id"); postgresqlExtractor = new PostgresqlExtractor((WorkUnitState) state); }
this.log.debug("Extract high watermark from resultset"); ResultSet resultset = null; Iterator<ResultSet> itr = (Iterator<ResultSet>) response.getResults().values().iterator(); if (itr.hasNext()) { resultset = itr.next();
@Test public void testGetData() throws Exception { CommandOutput<JdbcCommand, ResultSet> output = new JdbcCommandOutput(); output.put(new JdbcCommand(), buildMockResultSet()); State state = new WorkUnitState(); state.setId("id"); JdbcExtractor jdbcExtractor = new MysqlExtractor((WorkUnitState) state); List<String> columnNames = Lists.newArrayListWithCapacity(COLUMNS.size()); for (MockJdbcColumn mockJdbcColumn:COLUMNS) { columnNames.add(mockJdbcColumn.getColumnName()); } jdbcExtractor.setHeaderRecord(columnNames); Iterator<JsonElement> itr = jdbcExtractor.getData(output); // Make sure there is an element in the iterator assertTrue(itr.hasNext()); JsonObject obj = itr.next().getAsJsonObject(); // Verify the columns for (MockJdbcColumn column : COLUMNS) { assertEquals(obj.get(column.getColumnName()).getAsString(), column.getValue()); } }
/** * Get a {@link JsonArray} containing the query results */ private JsonArray getRecordsForQuery(SalesforceConnector connector, String query) { try { String soqlQuery = SalesforceExtractor.getSoqlUrl(query); List<Command> commands = RestApiConnector.constructGetCommand(connector.getFullUri(soqlQuery)); CommandOutput<?, ?> response = connector.getResponse(commands); String output; Iterator<String> itr = (Iterator<String>) response.getResults().values().iterator(); if (itr.hasNext()) { output = itr.next(); } else { throw new DataRecordException("Failed to get data from salesforce; REST response has no output"); } return GSON.fromJson(output, JsonObject.class).getAsJsonArray("records"); } catch (RestApiClientException | RestApiProcessingException | DataRecordException e) { throw new RuntimeException("Fail to get data from salesforce", e); } }
@BeforeClass public void setup() { output = new JdbcCommandOutput(); try { output.put(new JdbcCommand(), buildMockResultSet()); } catch (Exception e) { // hack for test failure assertEquals("OracleExtractorTest: error initializing mock result set", "false"); } state = new WorkUnitState(); state.setId("id"); oracleExtractor = new OracleExtractor((WorkUnitState) state); }
Iterator<String> itr = (Iterator<String>) response.getResults().values().iterator(); if (itr.hasNext()) { output = itr.next();
output.put((RestApiCommand) cmds.get(0), jsonStr); return output;
Iterator<String> itr = (Iterator<String>) response.getResults().values().iterator(); if (itr.hasNext()) { output = itr.next();
output.put((JdbcCommand) cmds.get(0), resultSet); return output;
protected Set<SourceEntity> getSourceEntities(State state) { if (!state.getPropAsBoolean(USE_ALL_OBJECTS, DEFAULT_USE_ALL_OBJECTS)) { return super.getSourceEntities(state); } SalesforceConnector connector = getConnector(state); try { if (!connector.connect()) { throw new RuntimeException("Failed to connect."); } } catch (RestApiConnectionException e) { throw new RuntimeException("Failed to connect.", e); } List<Command> commands = RestApiConnector.constructGetCommand(connector.getFullUri("/sobjects")); try { CommandOutput<?, ?> response = connector.getResponse(commands); Iterator<String> itr = (Iterator<String>) response.getResults().values().iterator(); if (itr.hasNext()) { String next = itr.next(); return getSourceEntities(next); } throw new RuntimeException("Unable to retrieve source entities"); } catch (RestApiProcessingException e) { throw Throwables.propagate(e); } }
output.put((JdbcCommand) cmds.get(0), resultSet); return output;
this.log.debug("Extract schema from resultset"); ResultSet resultset = null; Iterator<ResultSet> itr = (Iterator<ResultSet>) response.getResults().values().iterator(); if (itr.hasNext()) { resultset = itr.next();
Iterator<ResultSet> itr = (Iterator<ResultSet>) response.getResults().values().iterator(); if (itr.hasNext()) { resultset = itr.next();
log.debug("Extract schema from resultset"); ResultSet resultset = null; Iterator<ResultSet> itr = (Iterator<ResultSet>) response.getResults().values().iterator(); if (itr.hasNext()) { resultset = itr.next();