Author: tchemit Date: 2013-05-06 09:25:47 +0200 (Mon, 06 May 2013) New Revision: 919 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/919 Log: improve bessel person api Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-05-06 07:12:10 UTC (rev 918) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-05-06 07:25:47 UTC (rev 919) @@ -390,7 +390,7 @@ // Create or update a geaPhysicalFeatures for each gears in the cruise for (Gear gear : source.getGear()) { - GearPhysicalFeatures guf = gearPhysicalFeaturesDao.getGearPhysicalfeatures(fishingTrip, Integer.valueOf(gear.getId()), true); + GearPhysicalFeatures guf = gearPhysicalFeaturesDao.getGearPhysicalfeatures(fishingTrip, gear.getIdAsInt(), true); notChangedGearPhysicalFeatures.remove(guf); guf.setStartDate(fishingTrip.getDepartureDateTime()); @@ -432,24 +432,25 @@ if (CollectionUtils.isNotEmpty(source.getHeadOfSortRoom())) { for (Person person : source.getHeadOfSortRoom()) { Integer personId = person.getIdAsInt(); - fillVesselPersonFeatures(vesselPersonFeaturesMap, - personId, - fishingTrip, - sortRoomManagerRole); + vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures( + vesselPersonFeaturesMap, + personId, + fishingTrip, + sortRoomManagerRole); } } - // Managers + // Head of Mission Managers List<Person> persons = source.getHeadOfMission(); target.setManagerPerson(load(PersonImpl.class, persons.get(0).getIdAsInt())); for (int i = 1; i < persons.size(); i++) { Integer personId = persons.get(i).getIdAsInt(); - - fillVesselPersonFeatures(vesselPersonFeaturesMap, - personId, - fishingTrip, - scientificCruiseManagerRole); + vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures( + vesselPersonFeaturesMap, + personId, + fishingTrip, + scientificCruiseManagerRole); } if (fishingTrip.getVesselPersonFeatures() == null) { @@ -459,26 +460,6 @@ fishingTrip.getVesselPersonFeatures().addAll(vesselPersonFeaturesMap.values()); } - public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson, - Integer personId, - FishingTrip fishingTrip, - VesselPersonRole role) { - - VesselPersonFeatures vesselPersonFeatures = - vesselPersonFeaturesPerPerson.get(personId); - if (vesselPersonFeatures == null) { - vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance(); - vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures); - } - - PersonImpl person = load(PersonImpl.class, personId); - vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures( - vesselPersonFeatures, - fishingTrip, - person, - role); - } - public Gear getGearWithCaracteristics(Gear gear, Cruise cruise) { Preconditions.checkNotNull(cruise); Preconditions.checkNotNull(cruise.getId(), "Cruise 'id' must not be null or empty"); Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 07:12:10 UTC (rev 918) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-05-06 07:25:47 UTC (rev 919) @@ -404,9 +404,17 @@ public void deleteFishingOperation(String id) { Preconditions.checkNotNull(id); + Integer fishingOperationId = Integer.valueOf(id); + + fr.ifremer.adagio.core.dao.data.operation.FishingOperation fishingOperation = fishingOperationDao.load(fishingOperationId); + if (fishingOperation == null) { + throw new DataRetrievalFailureException("Could not retrieve fishing operation with id=" + fishingOperationId); + } + fishingOperationDao.remove(fishingOperation); + attachmentPersistenceService.deleteAllAttachment( AttachementObjectTypeEnum.OPERATION, - Integer.valueOf(id)); + fishingOperationId); } //------------------------------------------------------------------------// @@ -885,7 +893,7 @@ if (CollectionUtils.isNotEmpty(source.getRecorderPerson())) { for (Person person : source.getRecorderPerson()) { Integer personId = person.getIdAsInt(); - fillVesselPersonFeatures(vesselPersonFeaturesMap, + vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures(vesselPersonFeaturesMap, personId, target, recorderPersonRole); @@ -1257,25 +1265,4 @@ target.getOperationVesselAssociations().clear(); } } - - public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson, - Integer personId, - fr.ifremer.adagio.core.dao.data.operation.FishingOperation fishingOperation, - VesselPersonRole role) { - - boolean create = false; - VesselPersonFeatures vesselPersonFeatures = - vesselPersonFeaturesPerPerson.get(personId); - if (vesselPersonFeatures == null) { - vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance(); - vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures); - } - - PersonImpl person = load(PersonImpl.class, personId); - vesselPersonFeaturesPersistenceHelper.fillVesselPersonFeatures( - vesselPersonFeatures, - fishingOperation, - person, - role); - } } Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java =================================================================== --- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java 2013-05-06 07:12:10 UTC (rev 918) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/VesselPersonFeaturesPersistenceHelper.java 2013-05-06 07:25:47 UTC (rev 919) @@ -33,6 +33,7 @@ import org.springframework.stereotype.Component; import java.util.Date; +import java.util.Map; /** * Helper around {@link VesselPersonFeatures}. @@ -58,10 +59,19 @@ return load(VesselPersonRoleImpl.class, enumeration.VESSEL_PERSON_ROLE_ID_RECORDER_PERSON); } - public void fillVesselPersonFeatures(VesselPersonFeatures vesselPersonFeatures, + public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson, + Integer personId, FishingTrip fishingTrip, - PersonImpl person, VesselPersonRole role) { + + VesselPersonFeatures vesselPersonFeatures = + vesselPersonFeaturesPerPerson.get(personId); + if (vesselPersonFeatures == null) { + vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance(); + vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures); + } + + PersonImpl person = load(PersonImpl.class, personId); vesselPersonFeatures.setFishingTrip(fishingTrip); vesselPersonFeatures.setPerson(person); vesselPersonFeatures.getVesselPersonRoles().add(role); @@ -76,10 +86,20 @@ vesselPersonFeatures.setRankOrder((short) 1); } - public void fillVesselPersonFeatures(VesselPersonFeatures vesselPersonFeatures, + public void fillVesselPersonFeatures(Map<Integer, VesselPersonFeatures> vesselPersonFeaturesPerPerson, + Integer personId, FishingOperation fishingOperation, - PersonImpl person, VesselPersonRole role) { + + VesselPersonFeatures vesselPersonFeatures = + vesselPersonFeaturesPerPerson.get(personId); + if (vesselPersonFeatures == null) { + vesselPersonFeatures = VesselPersonFeatures.Factory.newInstance(); + vesselPersonFeaturesPerPerson.put(personId, vesselPersonFeatures); + } + + PersonImpl person = load(PersonImpl.class, personId); + vesselPersonFeatures.setOperation(fishingOperation); vesselPersonFeatures.setPerson(person); vesselPersonFeatures.getVesselPersonRoles().add(role);