Example #1
0
 /** Set the dataReader to point to the row where load has to be started */
 private void rowToStart(Config cfg, DataReader daoReader) throws DataAccessObjectException {
   // start at the correct row
   final int rowToStart;
   try {
     rowToStart = cfg.getInt(Config.LOAD_ROW_TO_START_AT);
   } catch (final ParameterLoadException e) {
     return;
   }
   if (rowToStart > 0) {
     // keep skipping over rows until we run into an invalid row or we have gotten
     // to the starting row
     while (daoReader.getCurrentRowNumber() < rowToStart) {
       if (!DAORowUtil.isValidRow(daoReader.readRow())) break;
     }
   }
 }
Example #2
0
  public void skipRowToStartOffset(
      Config cfg, DataReader rdr, ILoaderProgress mon, boolean updateProgress)
      throws LoadException {

    try {
      cfg.setValue(LastRun.LAST_LOAD_BATCH_ROW, 0);
      rowToStart(cfg, rdr);
      if (updateProgress) {
        // set the last processed value to the starting row
        int currentRow = rdr.getCurrentRowNumber();
        if (mon != null && currentRow > 0) mon.worked(currentRow);
        cfg.setValue(LastRun.LAST_LOAD_BATCH_ROW, currentRow);
        cfg.saveLastRun();
      }
    } catch (final DataAccessObjectException e) {
      handleError(e, "errorDaoStartRow");
    } catch (final IOException e) {
      handleError(e, "errorLastRun");
    }
  }