comparison OrthancServer/OrthancRestApi/OrthancRestModalities.cpp @ 776:be87dd517416

rename
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 30 Apr 2014 17:53:01 +0200
parents 3bd0589af992
children d466b3606aca
comparison
equal deleted inserted replaced
774:4e3593c3511d 776:be87dd517416
73 { 73 {
74 return; 74 return;
75 } 75 }
76 76
77 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 77 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
78 ReusableDicomUserConnection::Connection connection(context.GetReusableDicomUserConnection(), remote); 78 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), remote);
79 79
80 DicomFindAnswers answers; 80 DicomFindAnswers answers;
81 connection.GetConnection().FindPatient(answers, m); 81 locker.GetConnection().FindPatient(answers, m);
82 82
83 Json::Value result; 83 Json::Value result;
84 answers.ToJson(result); 84 answers.ToJson(result);
85 call.GetOutput().AnswerJson(result); 85 call.GetOutput().AnswerJson(result);
86 } 86 }
101 { 101 {
102 return; 102 return;
103 } 103 }
104 104
105 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 105 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
106 ReusableDicomUserConnection::Connection connection(context.GetReusableDicomUserConnection(), remote); 106 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), remote);
107 107
108 DicomFindAnswers answers; 108 DicomFindAnswers answers;
109 connection.GetConnection().FindStudy(answers, m); 109 locker.GetConnection().FindStudy(answers, m);
110 110
111 Json::Value result; 111 Json::Value result;
112 answers.ToJson(result); 112 answers.ToJson(result);
113 call.GetOutput().AnswerJson(result); 113 call.GetOutput().AnswerJson(result);
114 } 114 }
130 { 130 {
131 return; 131 return;
132 } 132 }
133 133
134 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 134 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
135 ReusableDicomUserConnection::Connection connection(context.GetReusableDicomUserConnection(), remote); 135 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), remote);
136 136
137 DicomFindAnswers answers; 137 DicomFindAnswers answers;
138 connection.GetConnection().FindSeries(answers, m); 138 locker.GetConnection().FindSeries(answers, m);
139 139
140 Json::Value result; 140 Json::Value result;
141 answers.ToJson(result); 141 answers.ToJson(result);
142 call.GetOutput().AnswerJson(result); 142 call.GetOutput().AnswerJson(result);
143 } 143 }
160 { 160 {
161 return; 161 return;
162 } 162 }
163 163
164 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 164 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
165 ReusableDicomUserConnection::Connection connection(context.GetReusableDicomUserConnection(), remote); 165 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), remote);
166 166
167 DicomFindAnswers answers; 167 DicomFindAnswers answers;
168 connection.GetConnection().FindInstance(answers, m); 168 locker.GetConnection().FindInstance(answers, m);
169 169
170 Json::Value result; 170 Json::Value result;
171 answers.ToJson(result); 171 answers.ToJson(result);
172 call.GetOutput().AnswerJson(result); 172 call.GetOutput().AnswerJson(result);
173 } 173 }
182 { 182 {
183 return; 183 return;
184 } 184 }
185 185
186 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", "")); 186 RemoteModalityParameters remote = GetModalityUsingSymbolicName(call.GetUriComponent("id", ""));
187 ReusableDicomUserConnection::Connection connection(context.GetReusableDicomUserConnection(), remote); 187 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), remote);
188 188
189 DicomFindAnswers patients; 189 DicomFindAnswers patients;
190 connection.GetConnection().FindPatient(patients, m); 190 locker.GetConnection().FindPatient(patients, m);
191 191
192 // Loop over the found patients 192 // Loop over the found patients
193 Json::Value result = Json::arrayValue; 193 Json::Value result = Json::arrayValue;
194 for (size_t i = 0; i < patients.GetSize(); i++) 194 for (size_t i = 0; i < patients.GetSize(); i++)
195 { 195 {
202 return; 202 return;
203 } 203 }
204 m.CopyTagIfExists(patients.GetAnswer(i), DICOM_TAG_PATIENT_ID); 204 m.CopyTagIfExists(patients.GetAnswer(i), DICOM_TAG_PATIENT_ID);
205 205
206 DicomFindAnswers studies; 206 DicomFindAnswers studies;
207 connection.GetConnection().FindStudy(studies, m); 207 locker.GetConnection().FindStudy(studies, m);
208 208
209 patient["Studies"] = Json::arrayValue; 209 patient["Studies"] = Json::arrayValue;
210 210
211 // Loop over the found studies 211 // Loop over the found studies
212 for (size_t j = 0; j < studies.GetSize(); j++) 212 for (size_t j = 0; j < studies.GetSize(); j++)
221 } 221 }
222 m.CopyTagIfExists(studies.GetAnswer(j), DICOM_TAG_PATIENT_ID); 222 m.CopyTagIfExists(studies.GetAnswer(j), DICOM_TAG_PATIENT_ID);
223 m.CopyTagIfExists(studies.GetAnswer(j), DICOM_TAG_STUDY_INSTANCE_UID); 223 m.CopyTagIfExists(studies.GetAnswer(j), DICOM_TAG_STUDY_INSTANCE_UID);
224 224
225 DicomFindAnswers series; 225 DicomFindAnswers series;
226 connection.GetConnection().FindSeries(series, m); 226 locker.GetConnection().FindSeries(series, m);
227 227
228 // Loop over the found series 228 // Loop over the found series
229 study["Series"] = Json::arrayValue; 229 study["Series"] = Json::arrayValue;
230 for (size_t k = 0; k < series.GetSize(); k++) 230 for (size_t k = 0; k < series.GetSize(); k++)
231 { 231 {
317 { 317 {
318 return; 318 return;
319 } 319 }
320 320
321 RemoteModalityParameters p = GetModalityUsingSymbolicName(remote); 321 RemoteModalityParameters p = GetModalityUsingSymbolicName(remote);
322 ReusableDicomUserConnection::Connection connection(context.GetReusableDicomUserConnection(), p); 322 ReusableDicomUserConnection::Locker locker(context.GetReusableDicomUserConnection(), p);
323 323
324 for (std::list<std::string>::const_iterator 324 for (std::list<std::string>::const_iterator
325 it = instances.begin(); it != instances.end(); ++it) 325 it = instances.begin(); it != instances.end(); ++it)
326 { 326 {
327 LOG(INFO) << "Sending resource " << *it << " to modality \"" << remote << "\""; 327 LOG(INFO) << "Sending resource " << *it << " to modality \"" << remote << "\"";
328 328
329 std::string dicom; 329 std::string dicom;
330 context.ReadFile(dicom, *it, FileContentType_Dicom); 330 context.ReadFile(dicom, *it, FileContentType_Dicom);
331 connection.GetConnection().Store(dicom); 331 locker.GetConnection().Store(dicom);
332 } 332 }
333 333
334 call.GetOutput().AnswerBuffer("{}", "application/json"); 334 call.GetOutput().AnswerBuffer("{}", "application/json");
335 } 335 }
336 336