diff --git a/src/main/java/ru/mystamps/web/feature/series/importing/JdbcSeriesImportDao.java b/src/main/java/ru/mystamps/web/feature/series/importing/JdbcSeriesImportDao.java index f26bfd42cc..936fce1bce 100644 --- a/src/main/java/ru/mystamps/web/feature/series/importing/JdbcSeriesImportDao.java +++ b/src/main/java/ru/mystamps/web/feature/series/importing/JdbcSeriesImportDao.java @@ -94,29 +94,24 @@ public Integer add(ImportSeriesDbDto importRequest) { return Integer.valueOf(holder.getKey().intValue()); } - - // @todo #735 SeriesImportDao.setSeriesIdAndChangeStatus(): replace arguments by dto object + + // Use SuppressWarnings to avoid complains about length of line with params + @SuppressWarnings("linelength") @Override - public void setSeriesIdAndChangeStatus( - Integer requestId, - Integer seriesId, - String oldStatus, - String newStatus, - Date updatedAt) { - + public void setSeriesIdAndChangeStatus(Integer seriesId, UpdateImportRequestStatusDbDto requestStatus) { Map params = new HashMap<>(); - params.put("id", requestId); + params.put("id", requestStatus.getRequestId()); params.put("series_id", seriesId); - params.put("old_status", oldStatus); - params.put("new_status", newStatus); - params.put("date", updatedAt); + params.put("old_status", requestStatus.getOldStatus()); + params.put("new_status", requestStatus.getNewStatus()); + params.put("date", requestStatus.getDate()); int affected = jdbcTemplate.update(setSeriesIdAndChangeStatusSql, params); Validate.validState( affected == 1, "Unexpected number of affected rows after setting series id on request #%d: %d", - requestId, + requestStatus.getRequestId(), affected ); } diff --git a/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportDao.java b/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportDao.java index 1d2cce2e70..bfc4b34bad 100644 --- a/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportDao.java +++ b/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportDao.java @@ -22,13 +22,7 @@ public interface SeriesImportDao { Integer add(ImportSeriesDbDto importRequest); - void setSeriesIdAndChangeStatus( - Integer requestId, - Integer seriesId, - String oldStatus, - String newStatus, - Date updatedAt - ); + void setSeriesIdAndChangeStatus(Integer seriesId, UpdateImportRequestStatusDbDto requestStatus); void changeStatus(UpdateImportRequestStatusDbDto requestStatus); ImportRequestDto findById(Integer id); void addRawContent(Integer requestId, Date createdAt, Date updatedAt, String content); diff --git a/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportServiceImpl.java b/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportServiceImpl.java index 87542b4a12..f5c1684121 100644 --- a/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportServiceImpl.java +++ b/src/main/java/ru/mystamps/web/feature/series/importing/SeriesImportServiceImpl.java @@ -110,15 +110,15 @@ public Integer addSeries( } Date now = new Date(); - - seriesImportDao.setSeriesIdAndChangeStatus( + UpdateImportRequestStatusDbDto status = new UpdateImportRequestStatusDbDto( requestId, - seriesId, + now, SeriesImportRequestStatus.PARSING_SUCCEEDED, - SeriesImportRequestStatus.IMPORT_SUCCEEDED, - now + SeriesImportRequestStatus.IMPORT_SUCCEEDED ); + seriesImportDao.setSeriesIdAndChangeStatus(seriesId, status); + return seriesId; } diff --git a/src/test/groovy/ru/mystamps/web/feature/series/importing/SeriesImportServiceImplTest.groovy b/src/test/groovy/ru/mystamps/web/feature/series/importing/SeriesImportServiceImplTest.groovy index 694a1fb4fd..5a23d4e762 100644 --- a/src/test/groovy/ru/mystamps/web/feature/series/importing/SeriesImportServiceImplTest.groovy +++ b/src/test/groovy/ru/mystamps/web/feature/series/importing/SeriesImportServiceImplTest.groovy @@ -258,12 +258,12 @@ class SeriesImportServiceImplTest extends Specification { ) then: 1 * seriesImportDao.setSeriesIdAndChangeStatus( - expectedRequestId, expectedSeriesId, - SeriesImportRequestStatus.PARSING_SUCCEEDED, - SeriesImportRequestStatus.IMPORT_SUCCEEDED, - { Date updatedAt -> - assert DateUtils.roughlyEqual(updatedAt, new Date()) + { UpdateImportRequestStatusDbDto status -> + assert status?.requestId == expectedRequestId + assert DateUtils.roughlyEqual(status?.date, new Date()) + assert status?.oldStatus == SeriesImportRequestStatus.PARSING_SUCCEEDED + assert status?.newStatus == SeriesImportRequestStatus.IMPORT_SUCCEEDED return true } )