Author: tchemit Date: 2013-10-08 16:12:38 +0200 (Tue, 08 Oct 2013) New Revision: 1287 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1287 Log: fixes #3460: [CAPTURE] test des imports exports mutipostes quel est la clef ? Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java 2013-10-08 13:47:04 UTC (rev 1286) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/MultiPostImportService.java 2013-10-08 14:12:38 UTC (rev 1287) @@ -74,6 +74,8 @@ import java.io.File; import java.io.Reader; import java.io.Serializable; +import java.util.Calendar; +import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -1188,24 +1190,26 @@ return Pair.of(categoryId, value); } - protected void checkSameOperation(File directory, - AbstractFishingOperationRowModel fishingOperationRowModel, - FishingOperation operation) { + protected <FO extends AbstractFishingOperationRow> void checkSameOperation(File directory, + AbstractFishingOperationRowModel<FO> fishingOperationRowModel, + FishingOperation operation) { Reader reader = TuttiIOUtil.newReader( new File(directory, WEIGHTS_FILE), n_("tutti.service.multipost.import.operation.error")); try { - Import<AbstractFishingOperationRow> importer = Import.<AbstractFishingOperationRow>newImport(fishingOperationRowModel, reader); + Import<FO> importer = Import.newImport(fishingOperationRowModel, reader); - Iterator<AbstractFishingOperationRow> iterator = importer.iterator(); + Iterator<FO> iterator = importer.iterator(); try { if (iterator.hasNext()) { - AbstractFishingOperationRow row = iterator.next(); + FO row = iterator.next(); + Date rowDate = dateWithNoTime(row.getDate()); + Date operationDate = dateWithNoTime(operation.getGearShootingStartDate()); if (ObjectUtils.notEqual(row.getStationNumber(), operation.getStationNumber()) || ObjectUtils.notEqual(row.getOperationNumber(), operation.getFishingOperationNumber()) || ObjectUtils.notEqual(row.getMultirigAggregation(), operation.getMultirigAggregation()) - || ObjectUtils.notEqual(row.getDate(), operation.getGearShootingStartDate())) { + || ObjectUtils.notEqual(rowDate, operationDate)) { throw new TuttiBusinessException(_("tutti.service.multipost.import.wrongOperation.error", decoratorService.getDecoratorByType(FishingOperation.class) @@ -1274,6 +1278,17 @@ } } + protected Date dateWithNoTime(Date date) { + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return calendar.getTime(); + } + protected <R extends TuttiEntity> void importAttachments(File directory, final Map<String, R> data, AttachementObjectTypeEnum objectType) { Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties =================================================================== --- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-10-08 13:47:04 UTC (rev 1286) +++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-10-08 14:12:38 UTC (rev 1287) @@ -113,6 +113,7 @@ tutti.service.multipost.uncompress.error= tutti.service.operations.cleanWeights.benthos.batch= tutti.service.operations.cleanWeights.error.redundant.frequencyWeight= +tutti.service.operations.cleanWeights.error.redundant.sampleCategoryWeight= tutti.service.operations.cleanWeights.error.redundant.weight= tutti.service.operations.cleanWeights.species.batch= tutti.service.operations.computeWeights.error.benthos.incoherentCategoryWeight=