r1914 - in trunk: wao-persistence/src/main/java/fr/ifremer/wao/entity wao-services/src/main/java/fr/ifremer/wao/services/service
Author: bleny Date: 2014-04-29 15:37:37 +0200 (Tue, 29 Apr 2014) New Revision: 1914 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1914 Log: refs #4483 compute log text Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ElligibleBoatImpl.java trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ElligibleBoatImpl.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ElligibleBoatImpl.java 2014-04-29 12:43:33 UTC (rev 1913) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/ElligibleBoatImpl.java 2014-04-29 13:37:37 UTC (rev 1914) @@ -1,10 +1,13 @@ package fr.ifremer.wao.entity; +import org.apache.commons.lang3.BooleanUtils; + public class ElligibleBoatImpl extends ElligibleBoatAbstract { @Override public boolean isBoatElligible() { - boolean boatElligible = getCompanyActive() == null && isGlobalActive() || getCompanyActive(); + boolean boatElligible = getCompanyActive() == null && isGlobalActive() + || BooleanUtils.isTrue(getCompanyActive()); return boatElligible; } } Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2014-04-29 12:43:33 UTC (rev 1913) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2014-04-29 13:37:37 UTC (rev 1914) @@ -315,23 +315,28 @@ Collection<ElligibleBoat> newEligibleBoats = newRow.getElligibleBoat(); // Lists for boats by status - List<Integer> noLongerEligibleBoats = new ArrayList<>(); - List<Integer> stillEligibleBoats = new ArrayList<>(); - List<Integer> newlyEligibleBoats = new ArrayList<>(); + List<String> noLongerEligibleBoats = new ArrayList<>(); + List<String> stillEligibleBoats = new ArrayList<>(); + List<String> newlyEligibleBoats = new ArrayList<>(); // filling the three lists - for (ElligibleBoat oldEligibleBoat : oldEligibleBoats) { - if ( ! newEligibleBoats.contains(oldEligibleBoat)) { - Boat boat = oldEligibleBoat.getBoat(); - int plateNumber = boat.getImmatriculation(); - noLongerEligibleBoats.add(plateNumber); - } - } - for (ElligibleBoat newEligibleBoat : newEligibleBoats) { - if (oldEligibleBoats.contains(newEligibleBoat)) { - stillEligibleBoats.add(newEligibleBoat.getBoat().getImmatriculation()); + for (ElligibleBoat eligibleBoat : newEligibleBoats) { + boolean boatIsElligible = eligibleBoat.isGlobalActive(); + boolean boatWasElligible = oldRow != null + && oldRow.getElligibleBoatByBoat(eligibleBoat.getBoat()).isGlobalActive(); + String registrationCode = String.valueOf(eligibleBoat.getBoat().getImmatriculation()); + if (boatWasElligible) { + if (boatIsElligible) { + stillEligibleBoats.add(registrationCode); + } else { + noLongerEligibleBoats.add(registrationCode); + } } else { - newlyEligibleBoats.add(newEligibleBoat.getBoat().getImmatriculation()); + if (boatIsElligible) { + newlyEligibleBoats.add(registrationCode); + } else { + throw new IllegalStateException("boat " + registrationCode + " was not and is not elligible for row " + newRow); + } } } @@ -340,10 +345,10 @@ addChange("Les navires suivants ne sont plus éligibles : " + StringUtils.join(noLongerEligibleBoats, ", ")); } -// if ( ! stillEligibleBoats.isEmpty()) { -// addChange("Les navires suivants sont toujours éligibles ; " + -// StringUtils.join(stillEligibleBoats, ", ")); -// } + if ( ! stillEligibleBoats.isEmpty()) { + addChange("Les navires suivants sont toujours éligibles : " + + StringUtils.join(stillEligibleBoats, ", ")); + } if ( ! newlyEligibleBoats.isEmpty()) { addChange("Les navires suivants deviennent éligibles : " + StringUtils.join(newlyEligibleBoats, ", ")); Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java 2014-04-29 12:43:33 UTC (rev 1913) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/SampleRowTopiaDao.java 2014-04-29 13:37:37 UTC (rev 1914) @@ -153,4 +153,14 @@ } + public void detach(SampleRow sampleRow) { + sampleRow.sizedCF5Code(); + sampleRow.sizeElligibleBoat(); + sampleRow.sizeFishingZone(); + sampleRow.sizeObservers(); + sampleRow.sizeSampleMonth(); + sampleRow.sizeTerrestrialLocations(); + topiaHibernateSupport.getHibernateSession().evict(sampleRow); + } + } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-04-29 12:43:33 UTC (rev 1913) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-04-29 13:37:37 UTC (rev 1914) @@ -104,15 +104,19 @@ Preconditions.checkState(authenticatedWaoUser.isAuthorizedToCreateSampleRow()); - UpdateSampleRowCommand updateSampleRowCommand = - new UpdateSampleRowCommand(); + UpdateSampleRowCommand updateSampleRowCommand = new UpdateSampleRowCommand(); if (optionalSampleRowId.isPresent()) { String sampleRowId = optionalSampleRowId.get(); - SampleRow sampleRow = getSampleRow(sampleRowId); + SampleRowTopiaDao sampleRowDao = getSampleRowDao(); + SampleRow sampleRowMemento = sampleRowDao.findByTopiaId(sampleRowId); + sampleRowDao.detach(sampleRowMemento); + updateSampleRowCommand.setSampleRowMemento(sampleRowMemento); + + SampleRow sampleRow = sampleRowDao.findByTopiaId(sampleRowId); updateSampleRowCommand.setSampleRow(sampleRow); updateSampleRowCommand.setCreation(false); @@ -329,6 +333,7 @@ if (!updateSampleRowCommand.isCreation()) { SampleRowLog sampleRowLog = updateSampleRowCommand.getSampleRowLog(); getSampleRowLogDao().create(sampleRowLog); + sampleRowLog.setLogText(updateSampleRowCommand.getSampleRowMemento(), sampleRow); } ElligibleBoatTopiaDao elligibleBoatDao = getElligibleBoatDao();
participants (1)
-
bleny@users.forge.codelutin.com