Author: tchemit Date: 2013-05-22 10:21:51 +0200 (Wed, 22 May 2013) New Revision: 976 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/976 Log: fixes #2484: [CAMPAGNE] Changement du navire sur les op?\195?\169rations non n?\195?\169cessaire Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.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-21 17:12:55 UTC (rev 975) +++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-05-22 08:21:51 UTC (rev 976) @@ -51,7 +51,12 @@ import fr.ifremer.adagio.core.dao.referential.location.Location; import fr.ifremer.adagio.core.dao.referential.location.LocationDao; import fr.ifremer.adagio.core.dao.referential.location.LocationImpl; -import fr.ifremer.adagio.core.dao.referential.pmfm.*; +import fr.ifremer.adagio.core.dao.referential.pmfm.Pmfm; +import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmDao; +import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmImpl; +import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValue; +import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValueDao; +import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValueImpl; import fr.ifremer.adagio.core.dao.technical.synchronization.SynchronizationStatus; import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory; @@ -59,8 +64,14 @@ import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.Program; -import fr.ifremer.tutti.persistence.entities.referential.*; +import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; +import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; +import fr.ifremer.tutti.persistence.entities.referential.Gear; +import fr.ifremer.tutti.persistence.entities.referential.Person; +import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation; +import fr.ifremer.tutti.persistence.entities.referential.Vessel; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.type.IntegerType; @@ -72,7 +83,12 @@ import javax.annotation.Resource; import java.io.Serializable; import java.text.MessageFormat; -import java.util.*; +import java.util.Collections; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; /** * @author tchemit <chemit@codelutin.com> @@ -282,16 +298,23 @@ ScientificCruise scientificCruise = scientificCruiseDao.load(Integer.valueOf(bean.getId())); if (scientificCruise == null) { - throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + bean.getId()); + throw new DataRetrievalFailureException( + "Could not retrieve cruise with id=" + bean.getId()); } - boolean vesselChanged = !bean.getVessel().equals(scientificCruise.getVessel()); + boolean vesselChanged = ObjectUtils.notEqual( + bean.getVessel().getId(), + scientificCruise.getVessel().getCode()); cruiseToEntity(bean, scientificCruise); scientificCruiseDao.update(scientificCruise); if (vesselChanged) { Vessel vessel = bean.getVessel(); + if (log.isInfoEnabled()) { + log.info("Change vessel to " + vessel.getId() + + " for cruise: " + bean.getId()); + } List<FishingOperation> operations = fishingOperationService.getAllFishingOperation(bean.getId()); List<FishingOperation> operationsToSave = Lists.newArrayList(); for (FishingOperation operation : operations) {