Mercurial > hg > orthanc
diff OrthancServer/ServerIndex.cpp @ 2898:e5e3253a1164
DicomInstanceToStore::GetHasher()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 18 Oct 2018 11:44:17 +0200 |
parents | c277e0421200 |
children | 4767d36679ed |
line wrap: on
line diff
--- a/OrthancServer/ServerIndex.cpp Thu Oct 18 10:53:22 2018 +0200 +++ b/OrthancServer/ServerIndex.cpp Thu Oct 18 11:44:17 2018 +0200 @@ -621,8 +621,6 @@ instanceMetadata.clear(); - DicomInstanceHasher hasher(instanceToStore.GetSummary()); - try { Transaction t(*this); @@ -631,14 +629,14 @@ { ResourceType type; int64_t tmp; - if (db_.LookupResource(tmp, type, hasher.HashInstance())) + if (db_.LookupResource(tmp, type, instanceToStore.GetHasher().HashInstance())) { assert(type == ResourceType_Instance); if (overwrite_) { // Overwrite the old instance - LOG(INFO) << "Overwriting instance: " << hasher.HashInstance(); + LOG(INFO) << "Overwriting instance: " << instanceToStore.GetHasher().HashInstance(); db_.DeleteResource(tmp); } else @@ -658,10 +656,10 @@ instanceSize += it->GetCompressedSize(); } - Recycle(instanceSize, hasher.HashPatient()); + Recycle(instanceSize, instanceToStore.GetHasher().HashPatient()); // Create the instance - int64_t instance = CreateResource(hasher.HashInstance(), ResourceType_Instance); + int64_t instance = CreateResource(instanceToStore.GetHasher().HashInstance(), ResourceType_Instance); ServerToolbox::StoreMainDicomTags(db_, instance, ResourceType_Instance, dicomSummary); // Detect up to which level the patient/study/series/instance @@ -674,26 +672,26 @@ { ResourceType dummy; - if (db_.LookupResource(series, dummy, hasher.HashSeries())) + if (db_.LookupResource(series, dummy, instanceToStore.GetHasher().HashSeries())) { assert(dummy == ResourceType_Series); // The patient, the study and the series already exist - bool ok = (db_.LookupResource(patient, dummy, hasher.HashPatient()) && - db_.LookupResource(study, dummy, hasher.HashStudy())); + bool ok = (db_.LookupResource(patient, dummy, instanceToStore.GetHasher().HashPatient()) && + db_.LookupResource(study, dummy, instanceToStore.GetHasher().HashStudy())); assert(ok); } - else if (db_.LookupResource(study, dummy, hasher.HashStudy())) + else if (db_.LookupResource(study, dummy, instanceToStore.GetHasher().HashStudy())) { assert(dummy == ResourceType_Study); // New series: The patient and the study already exist isNewSeries = true; - bool ok = db_.LookupResource(patient, dummy, hasher.HashPatient()); + bool ok = db_.LookupResource(patient, dummy, instanceToStore.GetHasher().HashPatient()); assert(ok); } - else if (db_.LookupResource(patient, dummy, hasher.HashPatient())) + else if (db_.LookupResource(patient, dummy, instanceToStore.GetHasher().HashPatient())) { assert(dummy == ResourceType_Patient); @@ -713,21 +711,21 @@ // Create the series if needed if (isNewSeries) { - series = CreateResource(hasher.HashSeries(), ResourceType_Series); + series = CreateResource(instanceToStore.GetHasher().HashSeries(), ResourceType_Series); ServerToolbox::StoreMainDicomTags(db_, series, ResourceType_Series, dicomSummary); } // Create the study if needed if (isNewStudy) { - study = CreateResource(hasher.HashStudy(), ResourceType_Study); + study = CreateResource(instanceToStore.GetHasher().HashStudy(), ResourceType_Study); ServerToolbox::StoreMainDicomTags(db_, study, ResourceType_Study, dicomSummary); } // Create the patient if needed if (isNewPatient) { - patient = CreateResource(hasher.HashPatient(), ResourceType_Patient); + patient = CreateResource(instanceToStore.GetHasher().HashPatient(), ResourceType_Patient); ServerToolbox::StoreMainDicomTags(db_, patient, ResourceType_Patient, dicomSummary); } @@ -853,13 +851,13 @@ SeriesStatus seriesStatus = GetSeriesStatus(series); if (seriesStatus == SeriesStatus_Complete) { - LogChange(series, ChangeType_CompletedSeries, ResourceType_Series, hasher.HashSeries()); + LogChange(series, ChangeType_CompletedSeries, ResourceType_Series, instanceToStore.GetHasher().HashSeries()); } // Mark the parent resources of this instance as unstable - MarkAsUnstable(series, ResourceType_Series, hasher.HashSeries()); - MarkAsUnstable(study, ResourceType_Study, hasher.HashStudy()); - MarkAsUnstable(patient, ResourceType_Patient, hasher.HashPatient()); + MarkAsUnstable(series, ResourceType_Series, instanceToStore.GetHasher().HashSeries()); + MarkAsUnstable(study, ResourceType_Study, instanceToStore.GetHasher().HashStudy()); + MarkAsUnstable(patient, ResourceType_Patient, instanceToStore.GetHasher().HashPatient()); t.Commit(instanceSize);