Produced by Araxis Merge on 3/25/2019 8:58:01 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
# | Location | File | Last Modified |
---|---|---|---|
1 | C:\AraxisMergeCompare\Pri_un\IMAG_Source\VISA\Java\FederationDataSourceProvider\main\src\java\gov\va\med\imaging\federationdatasource | FederationDataSourceProvider.java | Mon Mar 18 20:39:06 2019 UTC |
2 | C:\AraxisMergeCompare\Pri_re\IMAG_Source\VISA\Java\FederationDataSourceProvider\main\src\java\gov\va\med\imaging\federationdatasource | FederationDataSourceProvider.java | Tue Mar 19 12:03:36 2019 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 3 | 1632 |
Changed | 2 | 4 |
Inserted | 0 | 0 |
Removed | 0 | 0 |
Whitespace | |
---|---|
Character case | Differences in character case are significant |
Line endings | Differences in line endings (CR and LF characters) are ignored |
CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
1 | /** | |
2 | * | |
3 | Package: MAG - Vis tA Imaging | |
4 | WARNING: Per VHA D irective 2 004-038, t his routin e should n ot be modi fied. | |
5 | Date Cre ated: Mar 3, 2008 | |
6 | Site Nam e: Washin gton OI Fi eld Office , Silver S pring, MD | |
7 | Developer: DN S WERFEJ | |
8 | Descript ion: | |
9 | ||
10 | ;; +-------- ---------- ---------- ---------- ---------- ---------- ---------- + | |
11 | ;; Property of the US Government . | |
12 | ;; No permis sion to co py or redi stribute t his softwa re is give n. | |
13 | ;; Use of un released v ersions of this soft ware requi res the us er | |
14 | ;; to execu te a writt en test ag reement wi th the Vis tA Imaging | |
15 | ;; Developm ent Office of the De partment o f Veterans Affairs, | |
16 | ;; telephon e (301) 73 4-0100. | |
17 | ;; | |
18 | ;; The Food and Drug A dministrat ion classi fies this software a s | |
19 | ;; a Class I I medical device. A s such, it may not b e changed | |
20 | ;; in any wa y. Modifi cations to this soft ware may r esult in a n | |
21 | ;; adulterat ed medical device un der 21CFR8 20, the us e of which | |
22 | ;; is consid ered to be a violati on of US F ederal Sta tutes. | |
23 | ;; +-------- ---------- ---------- ---------- ---------- ---------- ---------- + | |
24 | ||
25 | */ | |
26 | package go v.va.med.i maging.fed erationdat asource; | |
27 | ||
28 | import gov .va.med.im aging.data source.Doc umentDataS ourceSpi; | |
29 | import gov .va.med.im aging.data source.Doc umentSetDa taSourceSp i; | |
30 | import gov .va.med.im aging.data source.Ext ernalPacka geDataSour ceSpi; | |
31 | import gov .va.med.im aging.data source.Ext ernalSyste mOperation sDataSourc eSpi; | |
32 | import gov .va.med.im aging.data source.Ima geAccessLo ggingSpi; | |
33 | import gov .va.med.im aging.data source.Ima geAnnotati onDataSour ceSpi; | |
34 | import gov .va.med.im aging.data source.Ima geDataSour ceSpi; | |
35 | import gov .va.med.im aging.data source.Pas sthroughDa taSourceSp i; | |
36 | import gov .va.med.im aging.data source.Pat ientArtifa ctDataSour ceSpi; | |
37 | import gov .va.med.im aging.data source.Pat ientDataSo urceSpi; | |
38 | import gov .va.med.im aging.data source.Pro vider; | |
39 | import gov .va.med.im aging.data source.Pro viderServi ce; | |
40 | import gov .va.med.im aging.data source.Stu dyGraphDat aSourceSpi ; | |
41 | import gov .va.med.im aging.data source.Use rDataSourc eSpi; | |
42 | import gov .va.med.im aging.data source.Vis taRadDataS ourceSpi; | |
43 | import gov .va.med.im aging.data source.Vis taRadImage DataSource Spi; | |
44 | import gov .va.med.im aging.data source.Wor kListDataS ourceSpi; | |
45 | import gov .va.med.im aging.fede ration.pro xy.Federat ionProxyUt ilities; | |
46 | import gov .va.med.im aging.fede rationdata source.con figuration .Federatio nConfigura tion; | |
47 | import gov .va.med.im aging.fede rationdata source.v5. Federation DocumentDa taSourceSe rviceV5; | |
48 | import gov .va.med.im aging.fede rationdata source.v5. Federation DocumentSe tDataSourc eServiceV5 ; | |
49 | import gov .va.med.im aging.fede rationdata source.v5. Federation ExternalPa ckageDataS ourceServi ceV5; | |
50 | import gov .va.med.im aging.fede rationdata source.v5. Federation ExternalSy stemOperat ionDataSou rceService V5; | |
51 | import gov .va.med.im aging.fede rationdata source.v5. Federation ImageAcces sLoggingDa taSourceSe rviceV5; | |
52 | import gov .va.med.im aging.fede rationdata source.v5. Federation ImageAnnot ationDataS ourceServi ceV5; | |
53 | import gov .va.med.im aging.fede rationdata source.v5. Federation ImageDataS ourceServi ceV5; | |
54 | import gov .va.med.im aging.fede rationdata source.v5. Federation Passthroug hDataSourc eServiceV5 ; | |
55 | import gov .va.med.im aging.fede rationdata source.v5. Federation PatientArt ifactDataS ourceServi ceV5; | |
56 | import gov .va.med.im aging.fede rationdata source.v5. Federation PatientDat aSourceSer viceV5; | |
57 | import gov .va.med.im aging.fede rationdata source.v5. Federation StudyGraph DataSource ServiceV5; | |
58 | import gov .va.med.im aging.fede rationdata source.v5. Federation UserDataSo urceServic eV5; | |
59 | import gov .va.med.im aging.fede rationdata source.v5. Federation VistaRadDa taSourceSe rviceV5; | |
60 | import gov .va.med.im aging.fede rationdata source.v5. Federation VistaRadIm ageDataSou rceService V5; | |
61 | import gov .va.med.im aging.fede rationdata source.v6. Federation ExternalPa ckageDataS ourceServi ceV6; | |
62 | import gov .va.med.im aging.fede rationdata source.v6. Federation PatientDat aSourceSer viceV6; | |
63 | import gov .va.med.im aging.fede rationdata source.v6. Federation UserDataSo urceServic eV6; | |
64 | import gov .va.med.im aging.fede rationdata source.v7. Federation ImageAcces sLoggingDa taSourceSe rviceV7; | |
65 | import gov .va.med.im aging.fede rationdata source.v8. Federation DocumentDa taSourceSe rviceV8; | |
66 | import gov .va.med.im aging.fede rationdata source.v8. Federation DocumentSe tDataSourc eServiceV8 ; | |
67 | import gov .va.med.im aging.fede rationdata source.v8. Federation ExternalPa ckageDataS ourceServi ceV8; | |
68 | import gov .va.med.im aging.fede rationdata source.v8. Federation ExternalSy stemOperat ionDataSou rceService V8; | |
69 | import gov .va.med.im aging.fede rationdata source.v8. Federation ImageAcces sLoggingDa taSourceSe rviceV8; | |
70 | import gov .va.med.im aging.fede rationdata source.v8. Federation ImageAnnot ationDataS ourceServi ceV8; | |
71 | import gov .va.med.im aging.fede rationdata source.v8. Federation ImageDataS ourceServi ceV8; | |
72 | import gov .va.med.im aging.fede rationdata source.v8. Federation Passthroug hDataSourc eServiceV8 ; | |
73 | import gov .va.med.im aging.fede rationdata source.v8. Federation PatientArt ifactDataS ourceServi ceV8; | |
74 | import gov .va.med.im aging.fede rationdata source.v8. Federation PatientDat aSourceSer viceV8; | |
75 | import gov .va.med.im aging.fede rationdata source.v8. Federation StudyGraph DataSource ServiceV8; | |
76 | import gov .va.med.im aging.fede rationdata source.v8. Federation UserDataSo urceServic eV8; | |
77 | import gov .va.med.im aging.fede rationdata source.v8. Federation VistaRadDa taSourceSe rviceV8; | |
78 | import gov .va.med.im aging.fede rationdata source.v8. Federation VistaRadIm ageDataSou rceService V8; | |
79 | import gov .va.med.im aging.fede rationdata source.v9. Federation ExternalPa ckageDataS ourceServi ceV9; | |
80 | ||
81 | import jav a.util.Col lections; | |
82 | import jav a.util.Sor tedSet; | |
83 | import jav a.util.Tre eSet; | |
84 | ||
85 | import org .apache.lo gging.log4 j.LogManag er; | |
86 | import org .apache.lo gging.log4 j.Logger; | |
87 | ||
88 | /** | |
89 | * @author DN S WERFEJ | |
90 | * | |
91 | */ | |
92 | public cla ss Federat ionDataSou rceProvide r extends Provider | |
93 | { | |
94 | pr ivate stat ic final S tring PROV IDER_NAME = "Federat ionDataSou rce"; | |
95 | pr ivate stat ic final d ouble PROV IDER_VERSI ON = 1.0d; | |
96 | pr ivate stat ic final S tring PROV IDER_INFO = "Impleme nts: \nStu dyGraphDat aSource, I mageDataSo urce SPI \ n backed b y a Federa tion data store."; | |
97 | ||
98 | pr ivate stat ic final l ong serial VersionUID = 1L; | |
99 | pr ivate fina l static L ogger logg er = LogMa nager.getL ogger(Fede rationData SourceProv ider.class ); | |
100 | pr ivate stat ic Federat ionConfigu ration fed erationCon figuration = null; | |
101 | pr ivate fina l SortedSe t<Provider Service> s ervices; | |
102 | ||
103 | /* * | |
104 | * The publi c "nullary " construc tor that i s used by the Servic eLoader cl ass | |
105 | * to create instances . | |
106 | * / | |
107 | pu blic Feder ationDataS ourceProvi der() | |
108 | { | |
109 | this (PROVIDER_ NAME, PROV IDER_VERSI ON, PROVID ER_INFO); | |
110 | } | |
111 | ||
112 | /* * | |
113 | * A special construct or that is only used for creat ing a conf iguration | |
114 | * file. | |
115 | * | |
116 | * @param ex changeConf iguration | |
117 | * / | |
118 | pr ivate Fede rationData SourceProv ider(Feder ationConfi guration f ederationC onfigurati on) | |
119 | { | |
120 | this (); | |
121 | Fede rationData SourceProv ider.feder ationConfi guration = federatio nConfigura tion; | |
122 | } | |
123 | ||
124 | /* * | |
125 | * @param na me | |
126 | * @param ve rsion | |
127 | * @param in fo | |
128 | * / | |
129 | pr ivate Fede rationData SourceProv ider(Strin g name, do uble versi on, String info) | |
130 | { | |
131 | supe r(name, ve rsion, inf o); | |
132 | ||
133 | serv ices = new TreeSet<P roviderSer vice>(); | |
134 | // v ersion 1 a nd version 2 are no longer ava ilable bec ause they do not han dle the Ba se32 conve rsions pro perly (ver sion 3 han dles this correctly) | |
135 | /* | |
136 | serv ices.add( | |
137 | new Pr ovider.Ser vice( | |
138 | DataSour ceServices .StudyGrap hDataSourc e, | |
139 | Federati onStudyGra phDataSour ceService. SUPPORTED_ PROTOCOL, | |
140 | 1.0F, | |
141 | Federati onStudyGra phDataSour ceService. class) | |
142 | ); | |
143 | serv ices.add( | |
144 | new Pr ovider.Ser vice( | |
145 | DataSour ceServices .StudyGrap hDataSourc e, | |
146 | Federati onStudyGra phDataSour ceServiceV 2.SUPPORTE D_PROTOCOL , | |
147 | 2.0F, | |
148 | Federati onStudyGra phDataSour ceServiceV 2.class) | |
149 | );*/ | |
150 | serv ices.add( | |
151 | new Pr oviderServ ice( | |
152 | this, | |
153 | StudyGra phDataSour ceSpi.clas s, | |
154 | Federati onStudyGra phDataSour ceServiceV 3.SUPPORTE D_PROTOCOL , | |
155 | 3.0F, | |
156 | Federati onStudyGra phDataSour ceServiceV 3.class) | |
157 | ); | |
158 | /* | |
159 | serv ices.add( | |
160 | new Pr ovider.Ser vice( | |
161 | DataSour ceServices .ImageData Source, | |
162 | Federati onImageDat aSourceSer vice.SUPPO RTED_PROTO COL, | |
163 | 1.0F, | |
164 | Federati onImageDat aSourceSer vice.class ) | |
165 | ); | |
166 | serv ices.add( | |
167 | new Pr ovider.Ser vice( | |
168 | DataSour ceServices .ImageData Source, | |
169 | Federati onImageDat aSourceSer viceV2.SUP PORTED_PRO TOCOL, | |
170 | 2.0F, | |
171 | Federati onImageDat aSourceSer viceV2.cla ss) | |
172 | );*/ | |
173 | serv ices.add( | |
174 | new Pr oviderServ ice( | |
175 | this, | |
176 | ImageDat aSourceSpi .class, | |
177 | Abstract Federation ImageDataS ourceServi ce.SUPPORT ED_PROTOCO L, | |
178 | 3.0F, | |
179 | Federati onImageDat aSourceSer viceV3.cla ss) | |
180 | ); | |
181 | /* | |
182 | serv ices.add( | |
183 | new Pr ovider.Ser vice( | |
184 | DataSour ceServices .ImageAcce ssLoggingD ataSource, | |
185 | Federati onImageAcc essLogging DataSource Service.SU PPORTED_PR OTOCOL, | |
186 | 1.0F, | |
187 | Federati onImageAcc essLogging DataSource Service.cl ass) | |
188 | ); | |
189 | serv ices.add( | |
190 | new Pr ovider.Ser vice( | |
191 | DataSour ceServices .ImageAcce ssLoggingD ataSource, | |
192 | Federati onImageAcc essLogging DataSource ServiceV2. SUPPORTED_ PROTOCOL, | |
193 | 2.0F, | |
194 | Federati onImageAcc essLogging DataSource ServiceV2. class) | |
195 | );*/ | |
196 | serv ices.add( | |
197 | new Pr oviderServ ice( | |
198 | this, | |
199 | ImageAcc essLogging Spi.class, | |
200 | Federati onImageAcc essLogging DataSource ServiceV3. SUPPORTED_ PROTOCOL, | |
201 | 3.0F, | |
202 | Federati onImageAcc essLogging DataSource ServiceV3. class) | |
203 | ); | |
204 | /* | |
205 | serv ices.add( | |
206 | new Pr ovider.Ser vice( | |
207 | DataSour ceServices .PatientDa taSource, | |
208 | Federati onPatientD ataSourceS ervice.SUP PORTED_PRO TOCOL, | |
209 | 1.0F, | |
210 | Federati onPatientD ataSourceS ervice.cla ss) | |
211 | ); | |
212 | serv ices.add( | |
213 | new Pr ovider.Ser vice( | |
214 | DataSour ceServices .PatientDa taSource, | |
215 | Federati onPatientD ataSourceS erviceV2.S UPPORTED_P ROTOCOL, | |
216 | 2.0F, | |
217 | Federati onPatientD ataSourceS erviceV2.c lass) | |
218 | );*/ | |
219 | serv ices.add( | |
220 | new Pr oviderServ ice( | |
221 | this, | |
222 | PatientD ataSourceS pi.class, | |
223 | Federati onPatientD ataSourceS erviceV3.S UPPORTED_P ROTOCOL, | |
224 | 3.0F, | |
225 | Federati onPatientD ataSourceS erviceV3.c lass) | |
226 | ); | |
227 | /* | |
228 | // version 2 and 3 of t he Externa lPackageDa taSource f or Federat ion is no longer use d because | |
229 | // it contain s a bug th at will on ly retriev e some of the possib le images associated with a | |
230 | // CPRS ident ifier, to prevent th is bug fro m occuring , these da ta sources are disab led and | |
231 | // version 4 must be us ed | |
232 | serv ices.add( | |
233 | new Pr ovider.Ser vice( | |
234 | DataSour ceServices .ExternalP ackageData Source, | |
235 | Federati onExternal PackageDat aSourceSer viceV2.SUP PORTED_PRO TOCOL, | |
236 | 2.0F, | |
237 | Federati onExternal PackageDat aSourceSer viceV2.cla ss) | |
238 | ); | |
239 | serv ices.add( | |
240 | new Pr ovider.Ser vice( | |
241 | DataSour ceServices .ExternalP ackageData Source, | |
242 | Federati onExternal PackageDat aSourceSer viceV3.SUP PORTED_PRO TOCOL, | |
243 | 3.0F, | |
244 | Federati onExternal PackageDat aSourceSer viceV3.cla ss) | |
245 | );*/ | |
246 | // v ersion 1 o f the Docu ment and D ocumentSet data sour ce for Fed eration ar e disabled because | |
247 | // t hey do not support b ase32 conv ersions pr operly (se e comment above abou t versions 1 and 2) | |
248 | /* | |
249 | serv ices.add( | |
250 | new Pr ovider.Ser vice( | |
251 | DataSour ceServices .DocumentD ataSource, | |
252 | Federati onDocument DataSource Service.SU PPORTED_PR OTOCOL, | |
253 | 1.0F, | |
254 | Federati onDocument DataSource Service.cl ass) | |
255 | ); | |
256 | serv ices.add( | |
257 | new Pr ovider.Ser vice( | |
258 | DataSour ceServices .DocumentS etDataSour ce, | |
259 | Federati onDocument SetDataSou rceService .SUPPORTED _PROTOCOL, | |
260 | 1.0F, | |
261 | Federati onDocument SetDataSou rceService .class) | |
262 | );*/ | |
263 | serv ices.add( | |
264 | new Pr oviderServ ice( | |
265 | this, | |
266 | Document SetDataSou rceSpi.cla ss, | |
267 | Federati onStudyGra phDataSour ceServiceV 3.SUPPORTE D_PROTOCOL , | |
268 | 3.0F, | |
269 | Federati onDocument SetDataSou rceService V3.class) | |
270 | ); | |
271 | serv ices.add( | |
272 | new Prov iderServic e( | |
273 | this, | |
274 | DocumentDa taSourceSp i.class, | |
275 | AbstractFe derationIm ageDataSou rceService .SUPPORTED _PROTOCOL, | |
276 | 3.0F, | |
277 | Federation DocumentDa taSourceSe rviceV3.cl ass) | |
278 | ); | |
279 | serv ices.add( | |
280 | new Pr oviderServ ice( | |
281 | this, | |
282 | VistaRad DataSource Spi.class, | |
283 | Abstract Federation VistaRadDa taSourceSe rvice.SUPP ORTED_PROT OCOL, | |
284 | 3.0F, | |
285 | Federati onVistaRad DataSource ServiceV3. class) | |
286 | ); | |
287 | serv ices.add( | |
288 | new Pr oviderServ ice( | |
289 | this, | |
290 | VistaRad ImageDataS ourceSpi.c lass, | |
291 | Abstract Federation ImageDataS ourceServi ce.SUPPORT ED_PROTOCO L, | |
292 | 3.0F, | |
293 | Federati onVistaRad ImageDataS ourceServi ceV3.class ) | |
294 | ); | |
295 | serv ices.add( | |
296 | new Pr oviderServ ice( | |
297 | this, | |
298 | Passthro ughDataSou rceSpi.cla ss, | |
299 | Abstract Federation Passthroug hDataSourc eService.S UPPORTED_P ROTOCOL, | |
300 | 3.0F, | |
301 | Federati onPassthro ughDataSou rceService V3.class) | |
302 | ); | |
303 | serv ices.add( | |
304 | new Pr oviderServ ice( | |
305 | this, | |
306 | PatientA rtifactDat aSourceSpi .class, | |
307 | Federati onStudyGra phDataSour ceServiceV 3.SUPPORTE D_PROTOCOL , | |
308 | 3.0F, | |
309 | Federati onPatientA rtifactDat aSourceSer viceV3.cla ss) | |
310 | ); | |
311 | ||
312 | // J MW disable REST web services f or now, en able for P atch 104 | |
313 | ///* | |
314 | serv ices.add( | |
315 | new Prov iderServic e( | |
316 | this, | |
317 | DocumentSe tDataSourc eSpi.class , | |
318 | Federation DocumentSe tDataSourc eServiceV4 .SUPPORTED _PROTOCOL, | |
319 | 4.0F, | |
320 | Federation DocumentSe tDataSourc eServiceV4 .class) | |
321 | ); | |
322 | ||
323 | servic es.add( | |
324 | new Prov iderServic e( | |
325 | this, | |
326 | DocumentDa taSourceSp i.class, | |
327 | AbstractFe derationIm ageDataSou rceService .SUPPORTED _PROTOCOL, | |
328 | 4.0F, | |
329 | Federation DocumentDa taSourceSe rviceV4.cl ass) | |
330 | ); | |
331 | serv ices.add( | |
332 | new Prov iderServic e( | |
333 | this, | |
334 | StudyGraph DataSource Spi.class, | |
335 | Federation StudyGraph DataSource ServiceV4. SUPPORTED_ PROTOCOL, | |
336 | 4.0F, | |
337 | Federation StudyGraph DataSource ServiceV4. class) | |
338 | ); | |
339 | ||
340 | serv ices.add( | |
341 | new Prov iderServic e( | |
342 | this, | |
343 | PatientDat aSourceSpi .class, | |
344 | Federation PatientDat aSourceSer viceV4.SUP PORTED_PRO TOCOL, | |
345 | 4.0F, | |
346 | Federation PatientDat aSourceSer viceV4.cla ss) | |
347 | ); | |
348 | ||
349 | serv ices.add( | |
350 | new Prov iderServic e( | |
351 | this, | |
352 | StudyGraph DataSource Spi.class, | |
353 | Federation StudyGraph DataSource ServiceV4. SUPPORTED_ PROTOCOL, | |
354 | 4.0F, | |
355 | Federation StudyGraph DataSource ServiceV4. class) | |
356 | ); | |
357 | ||
358 | serv ices.add( | |
359 | new Prov iderServic e( | |
360 | this, | |
361 | Passthroug hDataSourc eSpi.class , | |
362 | AbstractFe derationPa ssthroughD ataSourceS ervice.SUP PORTED_PRO TOCOL, | |
363 | 4.0F, | |
364 | Federation Passthroug hDataSourc eServiceV4 .class) | |
365 | ); | |
366 | ||
367 | serv ices.add( | |
368 | new Prov iderServic e( | |
369 | this, | |
370 | VistaRadDa taSourceSp i.class, | |
371 | AbstractFe derationVi staRadData SourceServ ice.SUPPOR TED_PROTOC OL, | |
372 | 4.0F, | |
373 | Federation VistaRadDa taSourceSe rviceV4.cl ass) | |
374 | ); | |
375 | ||
376 | serv ices.add( | |
377 | new Prov iderServic e( | |
378 | this, | |
379 | ImageAcces sLoggingSp i.class, | |
380 | Federation ImageAcces sLoggingDa taSourceSe rviceV4.SU PPORTED_PR OTOCOL, | |
381 | 4.0F, | |
382 | Federation ImageAcces sLoggingDa taSourceSe rviceV4.cl ass) | |
383 | ); | |
384 | ||
385 | serv ices.add( | |
386 | new Prov iderServic e( | |
387 | this, | |
388 | ImageDataS ourceSpi.c lass, | |
389 | AbstractFe derationIm ageDataSou rceService .SUPPORTED _PROTOCOL, | |
390 | 4.0F, | |
391 | Federation ImageDataS ourceServi ceV4.class ) | |
392 | ); | |
393 | ||
394 | serv ices.add( | |
395 | new Prov iderServic e( | |
396 | this, | |
397 | ExternalPa ckageDataS ourceSpi.c lass, | |
398 | Federation ExternalPa ckageDataS ourceServi ceV4.SUPPO RTED_PROTO COL, | |
399 | 4.0F, | |
400 | Federation ExternalPa ckageDataS ourceServi ceV4.class ) | |
401 | ); | |
402 | ||
403 | serv ices.add( | |
404 | new Prov iderServic e( | |
405 | this, | |
406 | VistaRadIm ageDataSou rceSpi.cla ss, | |
407 | AbstractFe derationIm ageDataSou rceService .SUPPORTED _PROTOCOL, | |
408 | 4.0F, | |
409 | Federation VistaRadIm ageDataSou rceService V4.class) | |
410 | ); | |
411 | ||
412 | serv ices.add( | |
413 | new Prov iderServic e( | |
414 | this, | |
415 | ExternalSy stemOperat ionsDataSo urceSpi.cl ass, | |
416 | AbstractFe derationEx ternalSyst emOperatio nDataSourc eService.S UPPORTED_P ROTOCOL, | |
417 | 4.0F, | |
418 | Federation ExternalSy stemOperat ionDataSou rceService V4.class) | |
419 | ); | |
420 | serv ices.add( | |
421 | new Pr oviderServ ice( | |
422 | this, | |
423 | PatientA rtifactDat aSourceSpi .class, | |
424 | Federati onPatientA rtifactDat aSourceSer viceV4.SUP PORTED_PRO TOCOL, | |
425 | 4.0F, | |
426 | Federati onPatientA rtifactDat aSourceSer viceV4.cla ss) | |
427 | ); | |
428 | ||
429 | // v ersion 5 s ervices | |
430 | serv ices.add( | |
431 | new Prov iderServic e( | |
432 | this, | |
433 | DocumentDa taSourceSp i.class, | |
434 | Federation DocumentDa taSourceSe rviceV5.SU PPORTED_PR OTOCOL, | |
435 | 5.0F, | |
436 | Federation DocumentDa taSourceSe rviceV5.cl ass) | |
437 | ); | |
438 | serv ices.add( | |
439 | new Prov iderServic e( | |
440 | this, | |
441 | DocumentSe tDataSourc eSpi.class , | |
442 | Federation DocumentSe tDataSourc eServiceV5 .SUPPORTED _PROTOCOL, | |
443 | 5.0F, | |
444 | Federation DocumentSe tDataSourc eServiceV5 .class) | |
445 | ); | |
446 | serv ices.add( | |
447 | new Prov iderServic e( | |
448 | this, | |
449 | ExternalPa ckageDataS ourceSpi.c lass, | |
450 | Federation ExternalPa ckageDataS ourceServi ceV5.SUPPO RTED_PROTO COL, | |
451 | 5.0F, | |
452 | Federation ExternalPa ckageDataS ourceServi ceV5.class ) | |
453 | ); | |
454 | serv ices.add( | |
455 | new Prov iderServic e( | |
456 | this, | |
457 | ImageAcces sLoggingSp i.class, | |
458 | Federation ImageAcces sLoggingDa taSourceSe rviceV5.SU PPORTED_PR OTOCOL, | |
459 | 5.0F, | |
460 | Federation ImageAcces sLoggingDa taSourceSe rviceV5.cl ass) | |
461 | ); | |
462 | serv ices.add( | |
463 | new Prov iderServic e( | |
464 | this, | |
465 | ImageAnnot ationDataS ourceSpi.c lass, | |
466 | Federation ImageAnnot ationDataS ourceServi ceV5.SUPPO RTED_PROTO COL, | |
467 | 5.0F, | |
468 | Federation ImageAnnot ationDataS ourceServi ceV5.class ) | |
469 | ); | |
470 | serv ices.add( | |
471 | new Prov iderServic e( | |
472 | this, | |
473 | ImageDataS ourceSpi.c lass, | |
474 | Federation ImageDataS ourceServi ceV5.SUPPO RTED_PROTO COL, | |
475 | 5.0F, | |
476 | Federation ImageDataS ourceServi ceV5.class ) | |
477 | ); | |
478 | serv ices.add( | |
479 | new Prov iderServic e( | |
480 | this, | |
481 | Passthroug hDataSourc eSpi.class , | |
482 | Federation Passthroug hDataSourc eServiceV5 .SUPPORTED _PROTOCOL, | |
483 | 5.0F, | |
484 | Federation Passthroug hDataSourc eServiceV5 .class) | |
485 | ); | |
486 | serv ices.add( | |
487 | new Prov iderServic e( | |
488 | this, | |
489 | PatientArt ifactDataS ourceSpi.c lass, | |
490 | Federation PatientArt ifactDataS ourceServi ceV5.SUPPO RTED_PROTO COL, | |
491 | 5.0F, | |
492 | Federation PatientArt ifactDataS ourceServi ceV5.class ) | |
493 | ); | |
494 | serv ices.add( | |
495 | new Prov iderServic e( | |
496 | this, | |
497 | PatientDat aSourceSpi .class, | |
498 | Federation PatientDat aSourceSer viceV5.SUP PORTED_PRO TOCOL, | |
499 | 5.0F, | |
500 | Federation PatientDat aSourceSer viceV5.cla ss) | |
501 | ); | |
502 | serv ices.add( | |
503 | new Prov iderServic e( | |
504 | this, | |
505 | StudyGraph DataSource Spi.class, | |
506 | Federation StudyGraph DataSource ServiceV5. SUPPORTED_ PROTOCOL, | |
507 | 5.0F, | |
508 | Federation StudyGraph DataSource ServiceV5. class) | |
509 | ); | |
510 | serv ices.add( | |
511 | new Prov iderServic e( | |
512 | this, | |
513 | UserDataSo urceSpi.cl ass, | |
514 | Federation UserDataSo urceServic eV5.SUPPOR TED_PROTOC OL, | |
515 | 5.0F, | |
516 | Federation UserDataSo urceServic eV5.class) | |
517 | ); | |
518 | serv ices.add( | |
519 | new Prov iderServic e( | |
520 | this, | |
521 | VistaRadDa taSourceSp i.class, | |
522 | Federation VistaRadDa taSourceSe rviceV5.SU PPORTED_PR OTOCOL, | |
523 | 5.0F, | |
524 | Federation VistaRadDa taSourceSe rviceV5.cl ass) | |
525 | ); | |
526 | serv ices.add( | |
527 | new Prov iderServic e( | |
528 | this, | |
529 | VistaRadIm ageDataSou rceSpi.cla ss, | |
530 | Federation VistaRadIm ageDataSou rceService V5.SUPPORT ED_PROTOCO L, | |
531 | 5.0F, | |
532 | Federation VistaRadIm ageDataSou rceService V5.class) | |
533 | ); | |
534 | serv ices.add( | |
535 | new Prov iderServic e( | |
536 | this, | |
537 | ExternalSy stemOperat ionsDataSo urceSpi.cl ass, | |
538 | AbstractFe derationEx ternalSyst emOperatio nDataSourc eService.S UPPORTED_P ROTOCOL, | |
539 | 5.0F, | |
540 | Federation ExternalSy stemOperat ionDataSou rceService V5.class) | |
541 | ); | |
542 | ||
543 | // v ersion 6 s ervices | |
544 | serv ices.add( | |
545 | new Prov iderServic e( | |
546 | this, | |
547 | PatientDat aSourceSpi .class, | |
548 | Federation PatientDat aSourceSer viceV6.SUP PORTED_PRO TOCOL, | |
549 | 6.0F, | |
550 | Federation PatientDat aSourceSer viceV6.cla ss) | |
551 | ); | |
552 | serv ices.add( | |
553 | new Prov iderServic e( | |
554 | this, | |
555 | UserDataSo urceSpi.cl ass, | |
556 | Federation UserDataSo urceServic eV6.SUPPOR TED_PROTOC OL, | |
557 | 6.0F, | |
558 | Federation UserDataSo urceServic eV6.class) | |
559 | ); | |
560 | serv ices.add( | |
561 | new Prov iderServic e( | |
562 | this, | |
563 | ExternalPa ckageDataS ourceSpi.c lass, | |
564 | Federation ExternalPa ckageDataS ourceServi ceV6.SUPPO RTED_PROTO COL, | |
565 | 6.0F, | |
566 | Federation ExternalPa ckageDataS ourceServi ceV6.class ) | |
567 | ); | |
568 | ||
569 | // v ersion 7 s ervices | |
570 | serv ices.add( | |
571 | new Prov iderServic e( | |
572 | this, | |
573 | ImageAcces sLoggingSp i.class, | |
574 | Federation ImageAcces sLoggingDa taSourceSe rviceV7.SU PPORTED_PR OTOCOL, | |
575 | 7.0F, | |
576 | Federation ImageAcces sLoggingDa taSourceSe rviceV7.cl ass) | |
577 | ); | |
578 | ||
579 | // v ersion 8 s ervices | |
580 | // S ince these services use differ ent Http11 Non-Block inbg Proto col, | |
581 | // a ll service s in this version mu st be impl emented | |
582 | serv ices.add( | |
583 | new Prov iderServic e( | |
584 | this, | |
585 | DocumentDa taSourceSp i.class, | |
586 | Federation DocumentDa taSourceSe rviceV8.SU PPORTED_PR OTOCOL, | |
587 | 8.0F, | |
588 | Federation DocumentDa taSourceSe rviceV8.cl ass) | |
589 | ); | |
590 | serv ices.add( | |
591 | new Prov iderServic e( | |
592 | this, | |
593 | DocumentSe tDataSourc eSpi.class , | |
594 | Federation DocumentSe tDataSourc eServiceV8 .SUPPORTED _PROTOCOL, | |
595 | 8.0F, | |
596 | Federation DocumentSe tDataSourc eServiceV8 .class) | |
597 | ); | |
598 | serv ices.add( | |
599 | new Prov iderServic e( | |
600 | this, | |
601 | ImageAnnot ationDataS ourceSpi.c lass, | |
602 | Federation ImageAnnot ationDataS ourceServi ceV8.SUPPO RTED_PROTO COL, | |
603 | 8.0F, | |
604 | Federation ImageAnnot ationDataS ourceServi ceV8.class ) | |
605 | ); | |
606 | serv ices.add( | |
607 | new Prov iderServic e( | |
608 | this, | |
609 | ImageDataS ourceSpi.c lass, | |
610 | Federation ImageDataS ourceServi ceV8.SUPPO RTED_PROTO COL, | |
611 | 8.0F, | |
612 | Federation ImageDataS ourceServi ceV8.class ) | |
613 | ); | |
614 | serv ices.add( | |
615 | new Prov iderServic e( | |
616 | this, | |
617 | Passthroug hDataSourc eSpi.class , | |
618 | Federation Passthroug hDataSourc eServiceV8 .SUPPORTED _PROTOCOL, | |
619 | 8.0F, | |
620 | Federation Passthroug hDataSourc eServiceV8 .class) | |
621 | ); | |
622 | serv ices.add( | |
623 | new Prov iderServic e( | |
624 | this, | |
625 | StudyGraph DataSource Spi.class, | |
626 | Federation StudyGraph DataSource ServiceV8. SUPPORTED_ PROTOCOL, | |
627 | 8.0F, | |
628 | Federation StudyGraph DataSource ServiceV8. class) | |
629 | ); | |
630 | serv ices.add( | |
631 | new Prov iderServic e( | |
632 | this, | |
633 | VistaRadDa taSourceSp i.class, | |
634 | Federation VistaRadDa taSourceSe rviceV8.SU PPORTED_PR OTOCOL, | |
635 | 8.0F, | |
636 | Federation VistaRadDa taSourceSe rviceV8.cl ass) | |
637 | ); | |
638 | serv ices.add( | |
639 | new Prov iderServic e( | |
640 | this, | |
641 | VistaRadIm ageDataSou rceSpi.cla ss, | |
642 | Federation VistaRadIm ageDataSou rceService V8.SUPPORT ED_PROTOCO L, | |
643 | 8.0F, | |
644 | Federation VistaRadIm ageDataSou rceService V8.class) | |
645 | ); | |
646 | serv ices.add( | |
647 | new Prov iderServic e( | |
648 | this, | |
649 | ExternalSy stemOperat ionsDataSo urceSpi.cl ass, | |
650 | AbstractFe derationEx ternalSyst emOperatio nDataSourc eService.S UPPORTED_P ROTOCOL, | |
651 | 8.0F, | |
652 | Federation ExternalSy stemOperat ionDataSou rceService V8.class) | |
653 | ); | |
654 | serv ices.add( | |
655 | new Prov iderServic e( | |
656 | this, | |
657 | PatientDat aSourceSpi .class, | |
658 | Federation PatientDat aSourceSer viceV8.SUP PORTED_PRO TOCOL, | |
659 | 8.0F, | |
660 | Federation PatientDat aSourceSer viceV8.cla ss) | |
661 | ); | |
662 | serv ices.add( | |
663 | new Prov iderServic e( | |
664 | this, | |
665 | UserDataSo urceSpi.cl ass, | |
666 | Federation UserDataSo urceServic eV8.SUPPOR TED_PROTOC OL, | |
667 | 8.0F, | |
668 | Federation UserDataSo urceServic eV8.class) | |
669 | ); | |
670 | serv ices.add( | |
671 | new Prov iderServic e( | |
672 | this, | |
673 | ExternalPa ckageDataS ourceSpi.c lass, | |
674 | Federation ExternalPa ckageDataS ourceServi ceV8.SUPPO RTED_PROTO COL, | |
675 | 8.0F, | |
676 | Federation ExternalPa ckageDataS ourceServi ceV8.class ) | |
677 | ); | |
678 | serv ices.add( | |
679 | new Prov iderServic e( | |
680 | this, | |
681 | ImageAcces sLoggingSp i.class, | |
682 | Federation ImageAcces sLoggingDa taSourceSe rviceV8.SU PPORTED_PR OTOCOL, | |
683 | 8.0F, | |
684 | Federation ImageAcces sLoggingDa taSourceSe rviceV8.cl ass) | |
685 | ); | |
686 | serv ices.add( | |
687 | new Prov iderServic e( | |
688 | this, | |
689 | PatientArt ifactDataS ourceSpi.c lass, | |
690 | Federation PatientArt ifactDataS ourceServi ceV8.SUPPO RTED_PROTO COL, | |
691 | 8.0F, | |
692 | Federation PatientArt ifactDataS ourceServi ceV8.class ) | |
693 | ); | |
694 | serv ices.add( | |
695 | new Prov iderServic e( | |
696 | this, | |
697 | ExternalPa ckageDataS ourceSpi.c lass, | |
698 | Federation ExternalPa ckageDataS ourceServi ceV9.SUPPO RTED_PROTO COL, | |
699 | 9.0F, | |
700 | Federation ExternalPa ckageDataS ourceServi ceV9.class ) | |
701 | ); | |
702 | ||
703 | // l oad the Fe derationCo nfiguratio n if it ex ists | |
704 | sync hronized(F ederationD ataSourceP rovider.cl ass) | |
705 | { | |
706 | try | |
707 | { | |
708 | if(feder ationConfi guration = = null) | |
709 | { | |
710 | federation Configurat ion = (Fed erationCon figuration )loadConfi guration() ; | |
711 | if(federat ionConfigu ration != null) | |
712 | { | |
713 | Fe derationPr oxyUtiliti es.configu reFederati onCertific ate(federa tionConfig uration); | |
714 | } | |
715 | } | |
716 | } | |
717 | catch( ClassCastE xception c cX) | |
718 | { | |
719 | logger.e rror("Unab le to load configura tion becau se the con figuration file is i nvalid.", ccX); | |
720 | } | |
721 | } | |
722 | } | |
723 | ||
724 | /* * | |
725 | * | |
726 | * / | |
727 | @O verride | |
728 | pu blic void storeConfi guration() | |
729 | { | |
730 | storeCon figuration (getFedera tionConfig uration()) ; | |
731 | } | |
732 | ||
733 | /* * | |
734 | * A package level met hod for SP I implemen tation to get the | |
735 | * Configura tion. | |
736 | * | |
737 | * @return | |
738 | * / | |
739 | st atic Feder ationConfi guration g etFederati onConfigur ation() | |
740 | { | |
741 | if(f ederationC onfigurati on == null ) | |
742 | logger .error("Fe derationCo nfiguratio n is null, possibly called bef ore Federa tionDataSo urceProvid er was ins tantiated. "); | |
743 | ||
744 | retu rn federat ionConfigu ration; | |
745 | } | |
746 | ||
747 | @O verride | |
748 | pu blic Sorte dSet<Provi derService > getServi ces() | |
749 | { | |
750 | retu rn Collect ions.unmod ifiableSor tedSet(ser vices); | |
751 | } | |
752 | ||
753 | /* * | |
754 | * Main func tion to cr eate a Fed eration Da ta Source configurat ion file. | |
755 | * The trust store pass word and t he keystor e password must be p rovided, a ll other p arameters are option al. | |
756 | * Required Arguments: | |
757 | * -tru ststorePas sword <tru ststore pa ssword> | |
758 | * -keystor ePassword <keystore password> | |
759 | * | |
760 | * Optional arguments include: | |
761 | * -keystor eUrl <keys tore URL> | |
762 | * -trustst oreUrl <tr uststore U RL> | |
763 | * -federat ionSslProt ocol <Fede ration SSL protocol> | |
764 | * | |
765 | * @param ar gs Argumen ts shown a bove | |
766 | * / | |
767 | pu blic stati c void mai n(String [ ] args) | |
768 | { | |
769 | Syst em.out.pri ntln("Crea ting excha nge dataso urce confi guration f ile"); | |
770 | ||
771 | Stri ng trustst orePasswor d = null; | |
772 | Stri ng keystor ePassword = null; | |
773 | Stri ng trustst oreUrl = n ull; | |
774 | Stri ng keystor eUrl = nul l; | |
775 | Stri ng federat ionSslProt ocol = nul l; | |
776 | int metadataTi meout = 0; | |
777 | bool ean addCom pression = true; | |
778 | for( int i = 0; i < args. length; i+ +) | |
779 | { | |
780 | if("-t ruststoreP assword".e quals(args [i])) | |
781 | { | |
782 | truststo rePassword = args[++ i]; | |
783 | } | |
784 | else i f("-keysto rePassword ".equals(a rgs[i])) | |
785 | { | |
786 | keystore Password = args[++i] ; | |
787 | } | |
788 | else i f("-keysto reUrl".equ als(args[i ])) | |
789 | { | |
790 | keystore Url = args [++i]; | |
791 | } | |
792 | else i f("-trusts toreUrl".e quals(args [i])) | |
793 | { | |
794 | truststo reUrl = ar gs[++i]; | |
795 | } | |
796 | else i f("-federa tionSslPro tocol".equ als(args[i ])) | |
797 | { | |
798 | federati onSslProto col = args [++i]; | |
799 | } | |
800 | else i f("-metada taTimeout" .equalsIgn oreCase(ar gs[i])) | |
801 | { | |
802 | metadata Timeout = Integer.pa rseInt(arg s[++i]); | |
803 | } | |
804 | else i f("-addCom pression". equalsIgno reCase(arg s[i])) | |
805 | { | |
806 | addCompr ession = B oolean.par seBoolean( args[++i]) ; | |
807 | } | |
808 | } | |
809 | Fede rationConf iguration fedConfigu ration = F ederationC onfigurati on.createC onfigurati on(keystor eUrl, | |
810 | keystore Password, truststore Url, trust storePassw ord, feder ationSslPr otocol); | |
811 | if(m etadataTim eout > 0) | |
812 | fedCon figuration .setMetada taTimeoutM s(metadata Timeout); | |
813 | fedC onfigurati on.setAddC ompression ForImageRe quests(add Compressio n); | |
814 | Fede rationData SourceProv ider provi der = new Federation DataSource Provider(f edConfigur ation); | |
815 | prov ider.store Configurat ion(); | |
816 | Syst em.out.pri ntln("Conf iguration file saved to '" + p rovider.ge tConfigura tionFileNa me() + "'. "); | |
817 | } | |
818 | } |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.