diff --git a/service/src/main/java/org/mskcc/smile/service/impl/SampleServiceImpl.java b/service/src/main/java/org/mskcc/smile/service/impl/SampleServiceImpl.java index 6159476b..d80e2407 100644 --- a/service/src/main/java/org/mskcc/smile/service/impl/SampleServiceImpl.java +++ b/service/src/main/java/org/mskcc/smile/service/impl/SampleServiceImpl.java @@ -50,13 +50,15 @@ public class SampleServiceImpl implements SmileSampleService { @Transactional(rollbackFor = {Exception.class}) public SmileSample saveSmileSample(SmileSample sample) throws Exception { + // sample to return + SmileSample toReturn; fetchAndLoadPatientDetails(sample); SmileSample existingSample = sampleRepository.findSampleByPrimaryId(sample.getPrimarySampleAlias()); if (existingSample == null) { UUID newSampleId = sampleRepository.save(sample).getSmileSampleId(); sample.setSmileSampleId(newSampleId); - return sample; + toReturn = sample; } else { // populate existing sample details and check if there are actual updates to persist getDetailedSmileSample(existingSample); @@ -88,10 +90,12 @@ public SmileSample saveSmileSample(SmileSample existingSample.getPatient().getSmilePatientId()); existingSample.setPatient(sample.getPatient()); } - sampleRepository.updateRevisableBySampleId(existingSample.getSmileSampleId(), Boolean.TRUE); sampleRepository.save(existingSample); - return existingSample; + toReturn = existingSample; } + // update revisable to true for sample + sampleRepository.updateRevisableBySampleId(toReturn.getSmileSampleId(), Boolean.TRUE); + return toReturn; } /**