r395 - in trunk/tutti-persistence/src: main/java/fr/ifremer/tutti/persistence/service main/java/fr/ifremer/tutti/persistence/service/measure main/resources test/java/fr/ifremer/tutti/persistence/service
Author: blavenier Date: 2013-02-11 17:32:28 +0100 (Mon, 11 Feb 2013) New Revision: 395 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/395 Log: ref refs #1936: [CAPTURE] - Esp?\195?\168ce - pouvoir changer le nom d'une esp?\195?\168ce - Add changeSpeciesBatchSpecies() implementation ref refs #1920: [Persistence] Adagio Donnees thematiques Fix : - Change storage of sampleCategoryWeight and weight (inversion was mdae between this 2 weights) Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/measure/MeasurementPersistenceHelper.java trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceWriteTest.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2013-02-11 16:21:12 UTC (rev 394) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2013-02-11 16:32:28 UTC (rev 395) @@ -149,7 +149,7 @@ //TODO BLA : uncomment if a property speciesBatch.speciesBatchFrequency exists //List<SpeciesBatchFrequency> batchFrequencies = batchFrequenciesMapByParentId.get(speciesBatch.getId()); //if (batchFrequencies != null) { - // speciesBatch.setSpeciesBatchFrequency(batchFrequencies) + // speciesBatch.setSpeciesBatchFrequency(batchFrequencies); //} } } @@ -172,7 +172,7 @@ // TODO BLA uncomment this after v1.0 : //Preconditions.checkNotNull(bean.getCatchBatch()); - getCurrentSession().setFlushMode(FlushMode.ALWAYS); + getCurrentSession().setFlushMode(FlushMode.COMMIT); SortingBatch batch = SortingBatch.Factory.newInstance(); beanToEntity(bean, batch, parentBatchId, true); @@ -225,9 +225,17 @@ @Override public void changeSpeciesBatchSpecies(String batchId, Species species) { + Preconditions.checkNotNull(batchId); + Preconditions.checkNotNull(species); + Preconditions.checkNotNull(species.getReferenceTaxonId()); - log.debug("Changing species for batch id="+batchId); + if (log.isDebugEnabled()) { + log.debug("Changing species for batch id="+batchId); + } + int rowUpdated = queryUpdate("updateBatchSpecies", + "batchId", IntegerType.INSTANCE, Integer.valueOf(batchId), + "referenceTaxonId", IntegerType.INSTANCE, species.getReferenceTaxonId()); } @Override @@ -380,10 +388,12 @@ target.setSamplingRatio(null); target.setSamplingRatioText(null); } else if (source.getSampleCategoryWeight() != null && source.getWeight() != null) { - String samplingRatioText = source.getSampleCategoryWeight() + "/" + source.getWeight(); + String samplingRatioText = source.getWeight() + "/" + source.getSampleCategoryWeight(); samplingRatioText = samplingRatioText.replaceAll(",", "."); target.setSamplingRatioText(samplingRatioText); - target.setSamplingRatio(source.getSampleCategoryWeight() / source.getWeight()); + target.setSamplingRatio(source.getWeight() / source.getSampleCategoryWeight()); + QuantificationMeasurement quantificationMeasurement = measurementHelper.setQuantificationMeasurement(target, enumeration.PMFM_ID_WEIGHT_MEASURED, recorderDepartmentId, source.getWeight(), true); + notChangedQuantificationMeasurements.remove(quantificationMeasurement); } // Sorting measurement @@ -409,7 +419,7 @@ if (copyIfNull && (source.getSpecies() == null || parentBatchId != null)) { target.setReferenceTaxon(null); } else if (source.getSpecies() != null && parentBatchId == null) { - ReferenceTaxon referenceTaxon = load(ReferenceTaxonImpl.class, Integer.valueOf(source.getSpecies().getReferenceTaxonId())); + ReferenceTaxon referenceTaxon = load(ReferenceTaxonImpl.class, source.getSpecies().getReferenceTaxonId()); target.setReferenceTaxon(referenceTaxon); } @@ -500,7 +510,7 @@ String sourceSamplingRatioText = (String) source[colIndex++]; UIWeight uiWeight = convertDatabase2UI(sourceWeight, sourceSamplingRatio, sourceSamplingRatioText); result.setWeight(uiWeight.weight); - result.setSampleCategoryWeight(uiWeight.sampleWeight); + result.setSampleCategoryWeight(uiWeight.sampleCategoryWeight); // Comments result.setComment((String) source[colIndex++]); @@ -777,22 +787,25 @@ // Weight & sampleCategory Weight if (samplingRatio == null) { - result.weight = weight; - } else if (weight != null) { + result.sampleCategoryWeight = weight; + } else if (weight != null) { String startStr = weight.toString().replace(',', '.') + "/"; if (samplingRatioText != null && samplingRatioText.startsWith(startStr)) { String weightStr = samplingRatioText.substring(startStr.length()); if (weightStr != null && !weightStr.isEmpty()) { - result.sampleWeight = weight; - result.weight = Float.parseFloat(weightStr); + result.sampleCategoryWeight = Float.parseFloat(weightStr); + result.weight = weight; } } + else { + result.sampleCategoryWeight = weight; + } } return result; } static class UIWeight { - Float sampleWeight = null; + Float sampleCategoryWeight = null; Float weight = null; } Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/measure/MeasurementPersistenceHelper.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/measure/MeasurementPersistenceHelper.java 2013-02-11 16:21:12 UTC (rev 394) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/measure/MeasurementPersistenceHelper.java 2013-02-11 16:32:28 UTC (rev 395) @@ -70,13 +70,13 @@ public QuantificationMeasurement setQuantificationMeasurement( Batch batch, Integer pmfmId, Integer recorderDepartmentId, - Float weightValue, boolean isReferenceSorting) { + Float weightValue, boolean isReferenceQuantitification) { QuantificationMeasurement quantificationMeasurement = getQuantificationMeasurement( batch, pmfmId, recorderDepartmentId, true); quantificationMeasurement.setNumericalValue(weightValue); quantificationMeasurement - .setIsReferenceQuantification(isReferenceSorting); + .setIsReferenceQuantification(isReferenceQuantitification); return quantificationMeasurement; } Modified: trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml =================================================================== --- trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-02-11 16:21:12 UTC (rev 394) +++ trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-02-11 16:32:28 UTC (rev 395) @@ -381,6 +381,17 @@ <query-param name="batchId" type="java.lang.Integer"/> </query> + <query name="updateBatchSpecies"> + <![CDATA[ + UPDATE SortingBatchImpl b + SET b.referenceTaxon.id=:referenceTaxonId + WHERE + b.id=:batchId + ]]> + <query-param name="referenceTaxonId" type="java.lang.Integer"/> + <query-param name="batchId" type="java.lang.Integer"/> + </query> + <query name="allSpeciesBatchFrequency"> <![CDATA[ SELECT Modified: trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceWriteTest.java =================================================================== --- trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceWriteTest.java 2013-02-11 16:21:12 UTC (rev 394) +++ trunk/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceWriteTest.java 2013-02-11 16:32:28 UTC (rev 395) @@ -61,7 +61,6 @@ * @author tchemit <chemit@codelutin.com> * @since 0.3 */ -@Ignore public class SpeciesBatchPersistenceServiceWriteTest { @ClassRule @@ -194,7 +193,7 @@ batch.setSpecies(taxon1); batch.setSampleCategoryType(SampleCategoryEnum.sortedUnsorted); batch.setSampleCategoryValue(vracQualitativeValue); - batch.setWeight(5f); + batch.setSampleCategoryWeight(5f); assertCreateAndReloadSpeciesBatch(batch, null); @@ -210,10 +209,10 @@ batch.setParentBatch(esp1Batch); batch.setSpecies(taxon1); batch.setComment("ESP1 - Vrac/5 Male/2 ss-ech/1 Nombre/7"); - batch.setWeight(2f); batch.setSampleCategoryType(SampleCategoryEnum.sex); batch.setSampleCategoryValue(maleQualitativeValue); - batch.setSampleCategoryWeight(1f); + batch.setSampleCategoryWeight(2f); + batch.setWeight(1f); batch.setNumber(7); assertCreateAndReloadSpeciesBatch(batch, batch.getParentBatch().getId()); @@ -227,10 +226,10 @@ batch.setParentBatch(esp1Batch); batch.setSpecies(taxon1); batch.setComment("ESP1 - Vrac/5 Female/3 Nombre/14"); - batch.setWeight(3f); batch.setSampleCategoryType(SampleCategoryEnum.sex); batch.setSampleCategoryValue(femaleQualitativeValue); - batch.setSampleCategoryWeight(null); + batch.setSampleCategoryWeight(3f); + batch.setWeight(null); batch.setNumber(14); assertCreateAndReloadSpeciesBatch(batch, batch.getParentBatch().getId()); @@ -247,7 +246,7 @@ batch.setSpecies(taxon2); batch.setSampleCategoryType(SampleCategoryEnum.sortedUnsorted); batch.setSampleCategoryValue(vracQualitativeValue); - batch.setWeight(7f); + batch.setSampleCategoryWeight(7f); assertCreateAndReloadSpeciesBatch(batch, null); esp2Batch = batch; @@ -260,8 +259,8 @@ batch.setComment("ESP2 - Vrac/7 UNK/2 ss-ech/1 Nombre/11"); batch.setSampleCategoryType(SampleCategoryEnum.maturity); batch.setSampleCategoryValue(firstMaturityQualitativeValue); - batch.setWeight(2f); - batch.setSampleCategoryWeight(1f); + batch.setSampleCategoryWeight(2f); + batch.setWeight(1f); batch.setNumber(11); assertCreateAndReloadSpeciesBatch(batch, batch.getParentBatch().getId()); @@ -270,11 +269,11 @@ // 5. Test save after modifications // ----------------------------------------------------------------------------- // Batch : ESP2 - Vrac/7 UNK/1.75 ss-ech/1.11 Nombre/99 + batch.setComment("ESP2 - Vrac/7 UNK/1.75 ss-ech/1.11 Nombre/99"); batch.setSampleCategoryType(SampleCategoryEnum.sex); batch.setSampleCategoryValue(unkQualitativeValue); - batch.setComment("ESP2 - Vrac/7 UNK/1.75 ss-ech/1.11 Nombre/99"); - batch.setWeight(1.75f); - batch.setSampleCategoryWeight(1.11f); + batch.setSampleCategoryWeight(1.75f); + batch.setWeight(1.11f); batch.setFishingOperation(fishingOperation); batch.setNumber(99); @@ -354,7 +353,7 @@ batch.setSpecies(taxon1); batch.setSampleCategoryType(SampleCategoryEnum.sortedUnsorted); batch.setSampleCategoryValue(vracQualitativeValue); - batch.setWeight(5f); + batch.setSampleCategoryWeight(5f); assertCreateAndReloadSpeciesBatch(batch, null); esp1Batch = batch; @@ -365,7 +364,7 @@ batch.setSpecies(taxon1); batch.setSampleCategoryType(SampleCategoryEnum.sex); batch.setSampleCategoryValue(maleQualitativeValue); - batch.setWeight(2f); + batch.setSampleCategoryWeight(2f); assertCreateAndReloadSpeciesBatch(batch, esp1Batch.getId()); // Try to remove
participants (1)
-
blavenier@users.forge.codelutin.com