branch feature/8114 created (now c883030)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8114 in repository tutti. See http://git.codelutin.com/tutti.git at c883030 Implements persistence API This branch includes the following new commits: new bf60870 Ajout de nouvelles requetes pour récupérer toutes les observation individuelles d'un trait (pour la suppression) new a5abb23 Meilleur API de suppression des pièces jointes new 57153a3 Suppression des observations individuelles sur un lot ou un trait (See #8114) new c883030 Implements persistence API The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit c8830308e72af21bc84b1f7497660866fad916f3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:47:36 2016 +0100 Implements persistence API commit 57153a37bd7c7f0b07b456f0b87dad5e46edff53 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:47:20 2016 +0100 Suppression des observations individuelles sur un lot ou un trait (See #8114) commit a5abb230dd5e1b3e2b5de99484255308aebcf2dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:46:40 2016 +0100 Meilleur API de suppression des pièces jointes commit bf6087044082a4c169e427e8353f3052f4a5296f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:46:06 2016 +0100 Ajout de nouvelles requetes pour récupérer toutes les observation individuelles d'un trait (pour la suppression) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8114 in repository tutti. See http://git.codelutin.com/tutti.git commit bf6087044082a4c169e427e8353f3052f4a5296f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:46:06 2016 +0100 Ajout de nouvelles requetes pour récupérer toutes les observation individuelles d'un trait (pour la suppression) --- .../src/main/resources/queries-failsafe.hbm.xml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml b/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml index 29c80ba..4d1c4a0 100644 --- a/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml +++ b/tutti-persistence/src/main/resources/queries-failsafe.hbm.xml @@ -511,7 +511,7 @@ <query-param name="fishingOperationId" type="java.lang.Integer"/> </query> - <!-- [DAT-23] Get all fishing operations samples for a given batch --> + <!-- [DAT-23-1] Get all fishing operations samples for a given batch --> <query cacheable="true" name="allFishingOperationSamplesForBatch"> <![CDATA[ SELECT @@ -530,7 +530,7 @@ <query-param name="batchId" type="java.lang.Integer"/> </query> - <!-- [DAT-23-1] Get all fishing operations samples ids for a given batch --> + <!-- [DAT-23-2] Get all fishing operations samples ids for a given batch --> <query cacheable="true" name="allFishingOperationSampleIdsForBatch"> <![CDATA[ SELECT @@ -545,6 +545,22 @@ <query-param name="batchId" type="java.lang.Integer"/> </query> + <!-- [DAT-23-3] Get all fishing operations samples ids --> + <query cacheable="true" name="allFishingOperationSampleIds"> + <![CDATA[ + SELECT + s.id AS id + FROM + SampleImpl s + WHERE + s.fishingOperation.id= :fishingOperationId + AND s.batch IS NOT NULL + ORDER BY + s.id + ]]> + <query-param name="fishingOperationId" type="java.lang.Integer"/> + </query> + <!-- [DAT-24] Get sample measurements --> <query cacheable="true" name="sampleMeasurements"> <![CDATA[ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8114 in repository tutti. See http://git.codelutin.com/tutti.git commit a5abb230dd5e1b3e2b5de99484255308aebcf2dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:46:40 2016 +0100 Meilleur API de suppression des pièces jointes --- .../persistence/service/AttachmentPersistenceService.java | 15 +++++++++++---- .../service/AttachmentPersistenceServiceImpl.java | 13 ++++++++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceService.java index 86e9269..8946fb0 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceService.java @@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.File; import java.util.List; +import java.util.Set; /** * To persist {@link Attachment}. @@ -88,13 +89,19 @@ public interface AttachmentPersistenceService extends TuttiPersistenceServiceImp void deleteAttachment(String attachmentId); /** + * Deletes all attachments of the given object id. + * @param objectType type of attachment + * @param objectId id of object + */ + @Transactional(readOnly = false) + void deleteAllAttachment(ObjectTypeCode objectType, Integer objectId); + + /** * Deletes all attachments of the given object ids. - * - * @param objectType type of attachment + * @param objectType type of attachment * @param objectIds ids of object */ @Transactional(readOnly = false) - void deleteAllAttachment(ObjectTypeCode objectType, - Integer... objectIds); + void deleteAllAttachment(ObjectTypeCode objectType, Set<Integer> objectIds); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java index d7b8693..4a02b0c 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java @@ -47,6 +47,7 @@ import java.io.File; import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.t; @@ -238,11 +239,21 @@ public class AttachmentPersistenceServiceImpl extends AbstractPersistenceService } @Override - public void deleteAllAttachment(ObjectTypeCode objectType, Integer... objectIds) { + public void deleteAllAttachment(ObjectTypeCode objectType, Integer objectId) { + + List<Attachment> attachments = getAllAttachments(objectType, objectId); + attachments.forEach(this::delete); + + } + + @Override + public void deleteAllAttachment(ObjectTypeCode objectType, Set<Integer> objectIds) { + for (Integer objectId : objectIds) { List<Attachment> attachments = getAllAttachments(objectType, objectId); attachments.forEach(this::delete); } + } //------------------------------------------------------------------------// -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8114 in repository tutti. See http://git.codelutin.com/tutti.git commit 57153a37bd7c7f0b07b456f0b87dad5e46edff53 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:47:20 2016 +0100 Suppression des observations individuelles sur un lot ou un trait (See #8114) --- .../FishingOperationPersistenceServiceImpl.java | 4 +- ...dividualObservationBatchPersistenceService.java | 11 ++- ...dualObservationBatchPersistenceServiceImpl.java | 94 +++++++++++++++++----- .../service/util/BatchPersistenceHelper.java | 47 +++++++---- .../service/util/SamplePersistenceHelper.java | 37 ++++----- .../GenericformatImportPersistenceHelper.java | 2 +- 6 files changed, 130 insertions(+), 65 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java index b8da9fd..1f87630 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java @@ -516,9 +516,7 @@ public class FishingOperationPersistenceServiceImpl extends AbstractPersistenceS throw new DataRetrievalFailureException("Could not retrieve fishing operation with id=" + fishingOperationId); } - attachmentPersistenceService.deleteAllAttachment( - ObjectTypeCode.OPERATION, - fishingOperationId); + attachmentPersistenceService.deleteAllAttachment(ObjectTypeCode.OPERATION, fishingOperationId); getCurrentSession().flush(); // delete catch batch diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java index 743a7de..9498897 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceService.java @@ -48,6 +48,13 @@ public interface IndividualObservationBatchPersistenceService extends TuttiPersi Collection<IndividualObservationBatch> createIndividualObservationBatches(Collection<IndividualObservationBatch> individualObservations); @Transactional(readOnly = false) - List<IndividualObservationBatch> saveBatchIndividualObservation(Integer batchId, - List<IndividualObservationBatch> individualObservation); + List<IndividualObservationBatch> saveBatchIndividualObservation(Integer batchId, List<IndividualObservationBatch> individualObservation); + + @Transactional(readOnly = false) + void deleteAllIndividualObservationsForFishingOperation(Integer fishingOperationId); + + @Transactional(readOnly = false) + void deleteAllIndividualObservationsForBatch(Integer speciesBatchId); + + } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java index 88294c5..7a34ffd 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java @@ -43,6 +43,7 @@ import fr.ifremer.adagio.core.dao.referential.pmfm.MatrixImpl; import fr.ifremer.adagio.core.dao.referential.taxon.ReferenceTaxonImpl; import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.TuttiEntities; +import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatchs; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; @@ -113,14 +114,16 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe List<Integer> allFishingOperationIds = fishingOperationPersistenceService.getAllFishingOperationIds(cruiseId); allFishingOperationIds.forEach(fishingOperationId -> { - Iterator<Object[]> list = queryList( - "allFishingOperationSamplesWithBatch", - "fishingOperationId", IntegerType.INSTANCE, fishingOperationId + Iterator<Object[]> list = queryList("allFishingOperationSamplesWithBatch", + "fishingOperationId", IntegerType.INSTANCE, fishingOperationId ); + FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId); + while (list.hasNext()) { IndividualObservationBatch individualObservationBatch = toBean(weightMeasuredCaracteristic, pmfmIdCaracteristic, list.next()); + individualObservationBatch.setFishingOperation(fishingOperation); result.add(individualObservationBatch); } @@ -138,14 +141,16 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe Caracteristic pmfmIdCaracteristic = caracteristicService.getPmfmIdCaracteristic(); List<IndividualObservationBatch> result = new ArrayList<>(); - Iterator<Object[]> list = queryList( - "allFishingOperationSamplesWithBatch", - "fishingOperationId", IntegerType.INSTANCE, fishingOperationId + Iterator<Object[]> list = queryList("allFishingOperationSamplesWithBatch", + "fishingOperationId", IntegerType.INSTANCE, fishingOperationId ); + FishingOperation fishingOperation = fishingOperationPersistenceService.getFishingOperation(fishingOperationId); + while (list.hasNext()) { IndividualObservationBatch individualObservationBatch = toBean(weightMeasuredCaracteristic, pmfmIdCaracteristic, list.next()); + individualObservationBatch.setFishingOperation(fishingOperation); result.add(individualObservationBatch); } @@ -160,9 +165,8 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe Caracteristic weightMeasuredCaracteristic = caracteristicService.getWeightMeasuredCaracteristic(); Caracteristic pmfmIdCaracteristic = caracteristicService.getPmfmIdCaracteristic(); - Iterator<Object[]> list = queryList( - "allFishingOperationSamplesForBatch", - "batchId", IntegerType.INSTANCE, batchId + Iterator<Object[]> list = queryList("allFishingOperationSamplesForBatch", + "batchId", IntegerType.INSTANCE, batchId ); List<IndividualObservationBatch> result = Lists.newArrayList(); @@ -222,6 +226,37 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe } + @Override + public void deleteAllIndividualObservationsForFishingOperation(Integer fishingOperationId) { + + Set<Integer> individualObservationIds = getAllIndividualObservationBatchIds(fishingOperationId); + + if (log.isInfoEnabled()) { + log.info(String.format("[Fishing Operation: %d] Delete %d individual observations.", fishingOperationId, individualObservationIds.size())); + } + + individualObservationIds.forEach(samplePersistenceHelper::deleteSample); + + } + + @Override + public void deleteAllIndividualObservationsForBatch(Integer speciesBatchId) { + + Set<Integer> allSpeciesBatchIds = batchHelper.getBatchIds(speciesBatchId); + + for (Integer aSpeciesBatchId : allSpeciesBatchIds) { + + Set<Integer> individualObservationIds = getAllIndividualObservationBatchIdsForBatch(aSpeciesBatchId); + + if (log.isInfoEnabled()) { + log.info(String.format("[Species batch: %d] Delete %d individual observations.", aSpeciesBatchId, individualObservationIds.size())); + } + individualObservationIds.forEach(samplePersistenceHelper::deleteSample); + + } + + } + // ------------------------------------------------------------------------// // -- Internal methods --// // ------------------------------------------------------------------------// @@ -264,12 +299,10 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe target.setCreationDate(fishingOperation.getFishingStartDateTime()); // Recorder Departement - target.setRecorderDepartment(load(DepartmentImpl.class, - DepartmentId.UNKNOWN_RECORDER_DEPARTMENT.getValue())); + target.setRecorderDepartment(load(DepartmentImpl.class, DepartmentId.UNKNOWN_RECORDER_DEPARTMENT.getValue())); // Recorder Person - target.setRecorderPerson(load(PersonImpl.class, - PersonId.UNKNOWN_RECORDER_PERSON.getValue())); + target.setRecorderPerson(load(PersonImpl.class, PersonId.UNKNOWN_RECORDER_PERSON.getValue())); // Program Program program = fishingOperation.getFishingTrip().getProgram(); @@ -305,11 +338,9 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe if (source.getLengthStepCaracteristic() != null) { Caracteristic caracteristic = caracteristicService.getPmfmIdCaracteristic(); - caracteristics.put(caracteristic, - source.getLengthStepCaracteristic().getId()); + caracteristics.put(caracteristic, source.getLengthStepCaracteristic().getId()); - caracteristics.put(source.getLengthStepCaracteristic(), - source.getSize()); + caracteristics.put(source.getLengthStepCaracteristic(), source.getSize()); } samplePersistenceHelper.setSampleMeasurements(target, caracteristics); @@ -375,13 +406,32 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe } } - protected Set<Integer> getAllIndividualObservationBatchIdssForBatch(Integer batchId) { + protected Set<Integer> getAllIndividualObservationBatchIdsForBatch(Integer batchId) { Preconditions.checkNotNull(batchId); - Iterator<Integer> list = queryListTyped( - "allFishingOperationSampleIdsForBatch", - "batchId", IntegerType.INSTANCE, batchId + Iterator<Integer> list = queryListTyped("allFishingOperationSampleIdsForBatch", + "batchId", IntegerType.INSTANCE, batchId + ); + + Set<Integer> result = new LinkedHashSet<>(); + + while (list.hasNext()) { + + Integer id = list.next(); + result.add(id); + + } + return result; + + } + + protected Set<Integer> getAllIndividualObservationBatchIds(Integer fishingOperationId) { + + Preconditions.checkNotNull(fishingOperationId); + + Iterator<Integer> list = queryListTyped("allFishingOperationSampleIds", + "fishingOperationId", IntegerType.INSTANCE, fishingOperationId ); Set<Integer> result = new LinkedHashSet<>(); @@ -418,7 +468,7 @@ public class IndividualObservationBatchPersistenceServiceImpl extends AbstractPe } // Remember child ids, to remove unchanged item (see at bottom in this method) - Set<Integer> notUpdatedChildIds = getAllIndividualObservationBatchIdssForBatch(speciesBatchId); + Set<Integer> notUpdatedChildIds = getAllIndividualObservationBatchIdsForBatch(speciesBatchId); for (IndividualObservationBatch source : notNullObservations) { diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java index 4848065..ce8b4c4 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/BatchPersistenceHelper.java @@ -183,21 +183,25 @@ public class BatchPersistenceHelper extends AbstractPersistenceService { accidentalBatchService.deleteAccidentalBatchForFishingOperation(fishingOperationId); getCurrentSession().flush(); + // delete all samples + individualObservationBatchPersistenceService.deleteAllIndividualObservationsForFishingOperation(fishingOperationId); + getCurrentSession().flush(); + // SynchronizationStatus on fishingTrip FishingOperation fishingOperation = fishingOperationDao.load(fishingOperationId); synchronizationStatusHelper.setDirty(fishingOperation.getFishingTrip()); // get all catch batch children ids (to delete attachments) - List<Integer> ids = catchBatchDao.getAllChildrenIds(catchBatchId); + Set<Integer> ids = getBatchIds(catchBatchId); + ids.remove(catchBatchId); catchBatchDao.remove(catchBatchId); attachmentPersistenceService.deleteAllAttachment(ObjectTypeCode.CATCH_BATCH, catchBatchId); getCurrentSession().flush(); - attachmentPersistenceService.deleteAllAttachment( - ObjectTypeCode.BATCH, - ids.toArray(new Integer[ids.size()])); + attachmentPersistenceService.deleteAllAttachment(ObjectTypeCode.BATCH, ids); + } public <D extends TuttiEntity> D createSortingBatch(D bean, CatchBatch catchBatch, SortingBatch batch) { @@ -208,24 +212,33 @@ public class BatchPersistenceHelper extends AbstractPersistenceService { return bean; } - public void removeWithChildren(Integer batchId) { - List<Integer> ids = catchBatchDao.getAllChildrenIds(batchId); + public Set<Integer> getBatchIds(Integer batchId) { + Set<Integer> ids = Sets.newHashSet(catchBatchDao.getAllChildrenIds(batchId)); ids.add(batchId); + return ids; + } + + public void removeWithChildren(Integer batchId) { + + individualObservationBatchPersistenceService.deleteAllIndividualObservationsForBatch(batchId); + + Set<Integer> ids = getBatchIds(batchId); + catchBatchDao.removeWithChildren(batchId); - attachmentPersistenceService.deleteAllAttachment( - ObjectTypeCode.BATCH, - ids.toArray(new Integer[ids.size()])); + attachmentPersistenceService.deleteAllAttachment(ObjectTypeCode.BATCH, ids); + } public void removeWithChildren(Integer batchId, CatchBatch parentCatchBatch) { - List<Integer> ids = catchBatchDao.getAllChildrenIds(batchId); - ids.add(batchId); + + individualObservationBatchPersistenceService.deleteAllIndividualObservationsForBatch(batchId); + + Set<Integer> ids = getBatchIds(batchId); + catchBatchDao.removeWithChildren(batchId, parentCatchBatch); - attachmentPersistenceService.deleteAllAttachment( - ObjectTypeCode.BATCH, - ids.toArray(new Integer[ids.size()])); + attachmentPersistenceService.deleteAllAttachment(ObjectTypeCode.BATCH, ids); } public void updateSortingBatch(List<SortingBatch> sortingBatchs, CatchBatch parentCatchBatch) { @@ -617,8 +630,8 @@ public class BatchPersistenceHelper extends AbstractPersistenceService { // If parent and root need to be set if (target.getId() == null - || target.getRootBatch() == null - || (target.getParentBatch() != null && !target.getParentBatch().getId().equals(parentBatch.getId()))) { + || target.getRootBatch() == null + || (target.getParentBatch() != null && !target.getParentBatch().getId().equals(parentBatch.getId()))) { target.setParentBatch(parentBatch); target.setRootBatch(parentBatch.getRootBatch()); @@ -955,7 +968,7 @@ public class BatchPersistenceHelper extends AbstractPersistenceService { Pmfm pmfm = sm.getPmfm(); result = sortingBatch.getIndividualCount() != null && - !sampleCategoryModel.containsCategoryId(pmfm.getId()); + !sampleCategoryModel.containsCategoryId(pmfm.getId()); } return result; } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SamplePersistenceHelper.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SamplePersistenceHelper.java index ad08eac..89152cf 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SamplePersistenceHelper.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SamplePersistenceHelper.java @@ -36,6 +36,8 @@ import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativ import fr.ifremer.tutti.persistence.service.AbstractPersistenceService; import fr.ifremer.tutti.persistence.service.AttachmentPersistenceService; import fr.ifremer.tutti.persistence.service.referential.CaracteristicPersistenceService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.hibernate.type.IntegerType; import org.springframework.dao.DataRetrievalFailureException; import org.springframework.stereotype.Component; @@ -54,6 +56,9 @@ import java.util.Set; @Component("samplePersistenceHelper") public class SamplePersistenceHelper extends AbstractPersistenceService { + /** Logger. */ + private static final Log log = LogFactory.getLog(SamplePersistenceHelper.class); + @Resource(name = "caracteristicPersistenceService") private CaracteristicPersistenceService caracteristicService; @@ -88,14 +93,16 @@ public class SamplePersistenceHelper extends AbstractPersistenceService { public Sample load(Integer id) { Sample sample = sampleDao.load(id); if (sample == null) { - throw new DataRetrievalFailureException( - "Could not retrieve sample id=" + id); + throw new DataRetrievalFailureException("Could not retrieve sample id=" + id); } return sample; } public void deleteSample(Integer sampleId) { + if (log.isDebugEnabled()) { + log.debug("Delete sample: " + sampleId); + } Sample sample = load(sampleId); // Synchronization Status @@ -106,8 +113,7 @@ public class SamplePersistenceHelper extends AbstractPersistenceService { attachmentPersistenceService.deleteAllAttachment(ObjectTypeCode.SAMPLE, sampleId); } - public void setSampleMeasurements(Sample target, - CaracteristicMap caracteristics) { + public void setSampleMeasurements(Sample target, CaracteristicMap caracteristics) { Set<SampleMeasurement> notChangedSampleMeasurements = Sets.newHashSet(); if (target.getSampleMeasurements() != null) { @@ -115,24 +121,18 @@ public class SamplePersistenceHelper extends AbstractPersistenceService { } for (Caracteristic caracteristic : caracteristics.keySet()) { - SampleMeasurement vum = setSampleMeasurement( - target, - caracteristic, - caracteristics.get(caracteristic)); + SampleMeasurement vum = setSampleMeasurement(target, caracteristic, caracteristics.get(caracteristic)); notChangedSampleMeasurements.remove(vum); } - if (target.getSampleMeasurements() != null && - notChangedSampleMeasurements.size() > 0) { + if (target.getSampleMeasurements() != null && notChangedSampleMeasurements.size() > 0) { target.getSampleMeasurements().removeAll(notChangedSampleMeasurements); } } - public void fillSampleMeasurements(CaracteristicMap result, - Integer sampleId) { - Iterator<Object[]> list = queryList( - "sampleMeasurements", - "sampleId", IntegerType.INSTANCE, sampleId); + public void fillSampleMeasurements(CaracteristicMap result, Integer sampleId) { + Iterator<Object[]> list = queryList("sampleMeasurements", + "sampleId", IntegerType.INSTANCE, sampleId); while (list.hasNext()) { int colIndex = 0; Object[] source = list.next(); @@ -149,8 +149,7 @@ public class SamplePersistenceHelper extends AbstractPersistenceService { value = numericalValue; break; case QUALITATIVE: - value = CaracteristicQualitativeValues.getQualitativeValue(caracteristic, - qualitativeValueId); + value = CaracteristicQualitativeValues.getQualitativeValue(caracteristic, qualitativeValueId); break; case TEXT: value = alphanumericalValue; @@ -160,9 +159,7 @@ public class SamplePersistenceHelper extends AbstractPersistenceService { } } - protected SampleMeasurement setSampleMeasurement(Sample sample, - Caracteristic caracteristic, - Serializable value) { + protected SampleMeasurement setSampleMeasurement(Sample sample, Caracteristic caracteristic, Serializable value) { Integer pmfmId = caracteristic.getIdAsInt(); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java index 1c98eca..26feeef 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericformatImportPersistenceHelper.java @@ -149,7 +149,7 @@ public class GenericformatImportPersistenceHelper { if (withCatchBatch) { catchBatch = persistenceService.getCatchBatchFromFishingOperation(operationId); } else { - catchBatch= null; + catchBatch = null; } return catchBatch; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8114 in repository tutti. See http://git.codelutin.com/tutti.git commit c8830308e72af21bc84b1f7497660866fad916f3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Mar 12 07:47:36 2016 +0100 Implements persistence API --- .../tutti/persistence/TuttiPersistenceImpl.java | 17 ++++++++++++++++- .../tutti/persistence/TuttiPersistenceNoDbImpl.java | 18 +++++++++++++++++- .../fr/ifremer/tutti/service/PersistenceService.java | 18 +++++++++++++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java index e9ed068..088d456 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java @@ -898,7 +898,12 @@ public class TuttiPersistenceImpl implements TuttiPersistence { } @Override - public void deleteAllAttachment(ObjectTypeCode objectType, Integer... objectIds) { + public void deleteAllAttachment(ObjectTypeCode objectType, Integer objectId) { + getAttachmentService().deleteAllAttachment(objectType, objectId); + } + + @Override + public void deleteAllAttachment(ObjectTypeCode objectType, Set<Integer> objectIds) { getAttachmentService().deleteAllAttachment(objectType, objectIds); } @@ -1359,6 +1364,16 @@ public class TuttiPersistenceImpl implements TuttiPersistence { return getIndividualObservationBatchService().saveBatchIndividualObservation(batchId, individualObservation); } + @Override + public void deleteAllIndividualObservationsForFishingOperation(Integer fishingOperationId) { + getIndividualObservationBatchService().deleteAllIndividualObservationsForFishingOperation(fishingOperationId); + } + + @Override + public void deleteAllIndividualObservationsForBatch(Integer speciesBatchId) { + getIndividualObservationBatchService().deleteAllIndividualObservationsForBatch(speciesBatchId); + } + //------------------------------------------------------------------------// //-- Internal methods --// //------------------------------------------------------------------------// diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java index 9882103..0c9b52a 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java @@ -58,6 +58,7 @@ import java.io.IOException; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.Callable; /** @@ -878,6 +879,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { throw notImplemented(); } + @Override + public void deleteAllAttachment(ObjectTypeCode objectType, Integer objectId) { + throw notImplemented(); + } + //------------------------------------------------------------------------// //-- IndividualObservation Batch methods --// //------------------------------------------------------------------------// @@ -909,6 +915,16 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override + public void deleteAllIndividualObservationsForFishingOperation(Integer fishingOperationId) { + throw notImplemented(); + } + + @Override + public void deleteAllIndividualObservationsForBatch(Integer speciesBatchId) { + throw notImplemented(); + } + + @Override public void init() { } @@ -922,7 +938,7 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override - public void deleteAllAttachment(ObjectTypeCode objectType, Integer... objectIds) { + public void deleteAllAttachment(ObjectTypeCode objectType, Set<Integer> objectIds) { throw notImplemented(); } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index e10958b..054ae3b 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -93,6 +93,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.concurrent.Callable; import static org.nuiton.i18n.I18n.t; @@ -1107,10 +1108,15 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override - public void deleteAllAttachment(ObjectTypeCode objectType, Integer... objectIds) { + public void deleteAllAttachment(ObjectTypeCode objectType, Set<Integer> objectIds) { driver.deleteAllAttachment(objectType, objectIds); } + @Override + public void deleteAllAttachment(ObjectTypeCode objectType, Integer objectId) { + driver.deleteAllAttachment(objectType, objectId); + } + //------------------------------------------------------------------------// //-- Program methods --// //------------------------------------------------------------------------// @@ -1566,4 +1572,14 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer return driver.saveBatchIndividualObservation(batchId, individualObservation); } + @Override + public void deleteAllIndividualObservationsForFishingOperation(Integer fishingOperationId) { + driver.deleteAllIndividualObservationsForFishingOperation(fishingOperationId); + } + + @Override + public void deleteAllIndividualObservationsForBatch(Integer speciesBatchId) { + driver.deleteAllIndividualObservationsForBatch(speciesBatchId); + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm