r1811 - in branches/tutti-3.4.x/tutti-service/src: main/java/fr/ifremer/tutti/service/psionimport test/java/fr/ifremer/tutti/service/psionimport test/resources/psion
Author: tchemit Date: 2014-05-23 09:42:55 +0200 (Fri, 23 May 2014) New Revision: 1811 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1811 Log: fixes #5132 [IMPORT PSION] ajout cat?\195?\169gorisation gros petit Modified: branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java branches/tutti-3.4.x/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java branches/tutti-3.4.x/tutti-service/src/test/resources/psion/evo-5077.IWA Modified: branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java =================================================================== --- branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java 2014-05-22 15:40:39 UTC (rev 1810) +++ branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportModel.java 2014-05-23 07:42:55 UTC (rev 1811) @@ -55,8 +55,6 @@ /** Logger. */ private static final Log log = LogFactory.getLog(PsionImportModel.class); -// protected final Map<String, PsionImportBatchModel> batchsByCategory; - /** * All registred species in their registred order. */ @@ -82,7 +80,6 @@ speciesSet = new LinkedHashSet<>(); sortedBatchsBySpecies = ArrayListMultimap.create(); unsortedBatchsBySpecies = ArrayListMultimap.create(); -// batchsByCategory = Maps.newLinkedHashMap(); errors = Lists.newArrayList(); } @@ -248,33 +245,6 @@ void checkSortedBatches() throws IOException { -// for (Species species : sortedBatchsBySpecies.keySet()) { -// -// Collection<PsionImportBatchModel> sortedBatches = sortedBatchsBySpecies.get(species); -// -// Map<String, Float> weightByCategory = new HashMap<>(); -// -// for (PsionImportBatchModel sortedBatch : sortedBatches) { -// Float weight = sortedBatch.getWeight(); -// if (TuttiEntities.isGreaterWeight(weight, 0)) { -// -// Float rootweight = weightByCategory.get(sortedBatch.getCategoryCode()); -// -// if (rootweight == null) { -// -// // first time -// weightByCategory.put(sortedBatch.getCategoryCode(), weight); -// } else if (!TuttiEntities.isEqualWeight(rootweight, weight)) { -// -// // can't have 2 batches with different vrac batch weight -// throw new IOException( -// t("tutti.service.psionimport.error.inconsistentVracWeight.message", species.getSurveyCode())); -// } -// -// } -// } -// } - for (Species species : sortedBatchsBySpecies.keySet()) { Collection<PsionImportBatchModel> speciesBatchesWithDoubleWeight = new ArrayList<>(); Modified: branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java =================================================================== --- branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-05-22 15:40:39 UTC (rev 1810) +++ branches/tutti-3.4.x/tutti-service/src/main/java/fr/ifremer/tutti/service/psionimport/PsionImportService.java 2014-05-23 07:42:55 UTC (rev 1811) @@ -87,10 +87,14 @@ private static final Log log = LogFactory.getLog(PsionImportService.class); - protected static final Set<String> SEX_VALUES = Sets.newHashSet("I", "i", "F", "f", "M", "m"); + protected static final Set<String> NO_CATEGORY_VALUES = Sets.newHashSet("N", "n"); - protected static final Set<String> MATURITY_VALUES = Sets.newHashSet("1", "2", "3", "4", "5"); + protected static final Set<String> SIZE_CATEGORY_VALUES = Sets.newHashSet("G", "g", "P", "p"); + protected static final Set<String> SEX_CATEGORY_VALUES = Sets.newHashSet("I", "i", "F", "f", "M", "m"); + + protected static final Set<String> MATURITY_CATEGORY_VALUES = Sets.newHashSet("1", "2", "3", "4", "5"); + /** * All usables keywords in a psion import. * <p/> @@ -116,6 +120,8 @@ protected CaracteristicQualitativeValue unsortedCaracteristic; + protected Map<String, CaracteristicQualitativeValue> sizeCaracteristicValues; + protected Map<String, CaracteristicQualitativeValue> sexCaracteristicValues; protected Map<String, CaracteristicQualitativeValue> maturityCaracteristicValues; @@ -137,6 +143,23 @@ unsortedCaracteristic = TuttiEntities.getQualitativeValue(caracteristic, enumerationFile.QUALITATIVE_HORS_VRAC_ID); } + { // size caracteristic + + sizeCaracteristicValues = Maps.newTreeMap(); + + Caracteristic caracteristic = persistenceService.getSizeCategoryCaracteristic(); + + List<CaracteristicQualitativeValue> qualitativeValues = caracteristic.getQualitativeValue(); + + Map<Integer, CaracteristicQualitativeValue> sexById = TuttiEntities.splitByIdAsInt(qualitativeValues); + CaracteristicQualitativeValue smallCaracteristic = sexById.get(enumerationFile.QUALITATIVE_SIZE_SMALL_ID); + sizeCaracteristicValues.put("P", smallCaracteristic); + sizeCaracteristicValues.put("p", smallCaracteristic); + CaracteristicQualitativeValue bigCaracteristic = sexById.get(enumerationFile.QUALITATIVE_SIZE_BIG_ID); + sizeCaracteristicValues.put("G", bigCaracteristic); + sizeCaracteristicValues.put("g", bigCaracteristic); + } + { // sex caracteristic sexCaracteristicValues = Maps.newTreeMap(); @@ -434,7 +457,7 @@ continue; } - if ("n".equals(value) || "N".equals(value)) { + if (NO_CATEGORY_VALUES.contains(value)) { // special case, no category @@ -454,9 +477,7 @@ if (log.isWarnEnabled()) { log.warn(error); } - importModel.addError( - error - ); + importModel.addError(error); break; } @@ -720,15 +741,23 @@ Integer caracteristicId; CaracteristicQualitativeValue caracteristicQualitativeValue; - if (SEX_VALUES.contains(categoryCode)) { + if (SIZE_CATEGORY_VALUES.contains(categoryCode)) { + // size caracteristic + caracteristicId = enumerationFile.PMFM_ID_SIZE_CATEGORY; + caracteristicQualitativeValue = sizeCaracteristicValues.get(categoryCode); + + result = new PsionImportBatchModel.SampleCategory(caracteristicId, caracteristicQualitativeValue); + + } else if (SEX_CATEGORY_VALUES.contains(categoryCode)) { + // sex caracteristic caracteristicId = enumerationFile.PMFM_ID_SEX; caracteristicQualitativeValue = sexCaracteristicValues.get(categoryCode); result = new PsionImportBatchModel.SampleCategory(caracteristicId, caracteristicQualitativeValue); - } else if (MATURITY_VALUES.contains(categoryCode)) { + } else if (MATURITY_CATEGORY_VALUES.contains(categoryCode)) { // maturity caracteristic caracteristicId = enumerationFile.PMFM_ID_MATURITY; Modified: branches/tutti-3.4.x/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java =================================================================== --- branches/tutti-3.4.x/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java 2014-05-22 15:40:39 UTC (rev 1810) +++ branches/tutti-3.4.x/tutti-service/src/test/java/fr/ifremer/tutti/service/psionimport/PsionImportServiceTest.java 2014-05-23 07:42:55 UTC (rev 1811) @@ -118,17 +118,8 @@ catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null); - int oldSortedBatchs = 0; - int oldUnsortedBatchs = 0; for (SpeciesBatch speciesBatch : rootSpeciesBatch.getChildren()) { - - boolean sorted = vracPredicate.apply(speciesBatch); - - if (sorted) { - oldSortedBatchs++; - } else { - oldUnsortedBatchs++; - } + persistenceService.deleteSpeciesBatch(speciesBatch.getId()); } PsionImportResult importResult = service.importFile(importFile, operation, catchBatch); @@ -165,8 +156,8 @@ } } - Assert.assertEquals(oldSortedBatchs + nbNewSortedBatchs, totalSortedBatchs); - Assert.assertEquals(oldUnsortedBatchs + nbNewUnsortedBatchs, totalUnsortedBatchs); + Assert.assertEquals(nbNewSortedBatchs, totalSortedBatchs); + Assert.assertEquals(nbNewUnsortedBatchs, totalUnsortedBatchs); } @Test @@ -179,17 +170,8 @@ catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null); - int oldSortedBatchs = 0; - int oldUnsortedBatchs = 0; for (SpeciesBatch speciesBatch : rootSpeciesBatch.getChildren()) { - - boolean sorted = vracPredicate.apply(speciesBatch); - - if (sorted) { - oldSortedBatchs++; - } else { - oldUnsortedBatchs++; - } + persistenceService.deleteSpeciesBatch(speciesBatch.getId()); } PsionImportResult importResult = service.importFile(importFile, operation, catchBatch); @@ -225,8 +207,8 @@ } } - Assert.assertEquals(oldSortedBatchs + nbNewSortedBatchs, totalSortedBatchs); - Assert.assertEquals(oldUnsortedBatchs + nbNewUnsortedBatchs, totalUnsortedBatchs); + Assert.assertEquals( nbNewSortedBatchs, totalSortedBatchs); + Assert.assertEquals(nbNewUnsortedBatchs, totalUnsortedBatchs); } @Test @@ -271,17 +253,8 @@ catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), null); - int oldSortedBatchs = 0; - int oldUnsortedBatchs = 0; for (SpeciesBatch speciesBatch : rootSpeciesBatch.getChildren()) { - - boolean sorted = vracPredicate.apply(speciesBatch); - - if (sorted) { - oldSortedBatchs++; - } else { - oldUnsortedBatchs++; - } + persistenceService.deleteSpeciesBatch(speciesBatch.getId()); } PsionImportResult importResult = service.importFile(importFile, operation, catchBatch); @@ -318,7 +291,7 @@ } } - Assert.assertEquals(oldSortedBatchs + nbNewSortedBatchs, totalSortedBatchs); - Assert.assertEquals(oldUnsortedBatchs + nbNewUnsortedBatchs, totalUnsortedBatchs); + Assert.assertEquals(nbNewSortedBatchs, totalSortedBatchs); + Assert.assertEquals(nbNewUnsortedBatchs, totalUnsortedBatchs); } } Modified: branches/tutti-3.4.x/tutti-service/src/test/resources/psion/evo-5077.IWA =================================================================== --- branches/tutti-3.4.x/tutti-service/src/test/resources/psion/evo-5077.IWA 2014-05-22 15:40:39 UTC (rev 1810) +++ branches/tutti-3.4.x/tutti-service/src/test/resources/psion/evo-5077.IWA 2014-05-23 07:42:55 UTC (rev 1811) @@ -22,10 +22,10 @@ ESPE : PAGEERY POID : 100 TAIL : 50 -CATE : M +CATE : GM2 LONG : 16.5 ESPE : PAGEERY POID : 150 TAIL : 80 -CATE : F +CATE : PF1 LONG : 16.5
participants (1)
-
tchemit@users.forge.codelutin.com