Produced by Araxis Merge on 3/25/2019 8:58:00 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\CoreValueObjects\main\src\java\gov\va\med\imaging\exchange\business\dicom | DicomServerConfiguration.java | Mon Mar 18 20:39:14 2019 UTC |
2 | C:\AraxisMergeCompare\Pri_re\IMAG_Source\VISA\Java\CoreValueObjects\main\src\java\gov\va\med\imaging\exchange\business\dicom | DicomServerConfiguration.java | Tue Mar 19 15:00:16 2019 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 3 | 1654 |
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: May 11, 2009 | |
6 | Site Nam e: Washin gton OI Fi eld Office , Silver S pring, MD | |
7 | Developer: DNS louthj | |
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.exc hange.busi ness.dicom ; | |
27 | ||
28 | import gov .va.med.Ro utingToken ; | |
29 | import gov .va.med.Ro utingToken Impl; | |
30 | import gov .va.med.ex ceptions.R outingToke nFormatExc eption; | |
31 | import gov .va.med.im aging.Stri ngUtil; | |
32 | import gov .va.med.im aging.exch ange.busin ess.dicom. exceptions .DicomExce ption; | |
33 | import gov .va.med.im aging.faca de.configu ration.Abs tractBaseF acadeConfi guration; | |
34 | import gov .va.med.im aging.faca de.configu ration.Enc ryptedConf igurationP ropertyStr ing; | |
35 | import gov .va.med.im aging.faca de.configu ration.Fac adeConfigu rationFact ory; | |
36 | import gov .va.med.im aging.faca de.configu ration.Hid denBoolean Configurat ionField; | |
37 | import gov .va.med.im aging.faca de.configu ration.Hid denConfigu rationFiel d; | |
38 | import gov .va.med.im aging.faca de.configu ration.Hid denStringC onfigurati onField; | |
39 | import gov .va.med.im aging.faca de.configu ration.exc eptions.Ca nnotLoadCo nfiguratio nException ; | |
40 | ||
41 | import jav a.io.File; | |
42 | import jav a.net.Inet Address; | |
43 | import jav a.util.Arr ayList; | |
44 | import jav a.util.Has hMap; | |
45 | import jav a.util.Lis t; | |
46 | ||
47 | import gov .va.med.im aging.Stri ngUtil; | |
48 | import org .apache.lo gging.log4 j.LogManag er; | |
49 | import org .apache.lo gging.log4 j.Logger; | |
50 | ||
51 | public cla ss DicomSe rverConfig uration | |
52 | extends Ab stractBase FacadeConf iguration | |
53 | { | |
54 | fi nal static Logger lo gger = Log Manager.ge tLogger(Di comServerC onfigurati on.class); | |
55 | ||
56 | // These cou ld be made new param eters for P116 -- se e main met hod; Note: new param eters requ ire VixIns taller (GU I) change too | |
57 | pr ivate fina l static S tring theV AImplement ationClass UID = "1.2 .840.11375 4.2.1.3.0" ; // This value is a ssigned by ISO organ izations | |
58 | pr ivate fina l static S tring theV AImplement ationVersi onName = " VA_DICOM V 3.0"; // T his value assigned b y VistA Im aging | |
59 | pr ivate fina l static i nt theDico mListenerP ort = 6009 0; // port for non S tore SCP l istener (l ike Q/R SC P) | |
60 | pr ivate fina l static i nt thePDUT imeout = 3 00; | |
61 | pr ivate fina l static i nt theMove QueueCapac ity = 16; | |
62 | pr ivate fina l static S tring theQ ueryLimit = "500"; | |
63 | ||
64 | @H iddenConfi gurationFi eld | |
65 | pr ivate List <Instrumen tConfig> i nstruments = new Arr ayList<Ins trumentCon fig>(); | |
66 | ||
67 | @H iddenConfi gurationFi eld | |
68 | pr ivate List <ModalityC onfig> mod alities = new ArrayL ist<Modali tyConfig>( ); | |
69 | ||
70 | @H iddenConfi gurationFi eld | |
71 | pr ivate DGWE mailInfo d gwEmailInf o = new DG WEmailInfo ("", "", " ", "", nul l,""); | |
72 | ||
73 | @H iddenConfi gurationFi eld | |
74 | pr ivate List <UIDAction Config> ui dActions = new Array List<UIDAc tionConfig >(); | |
75 | ||
76 | @H iddenConfi gurationFi eld | |
77 | pr ivate Hash Map<String , Instrume ntConfig> instrument ByPort = n ew HashMap <String, I nstrumentC onfig>(); | |
78 | ||
79 | @H iddenConfi gurationFi eld | |
80 | pr ivate Hash Map<String , UIDActio nConfig> o ldSOPClass es = new H ashMap<Str ing, UIDAc tionConfig >(); | |
81 | ||
82 | @H iddenConfi gurationFi eld | |
83 | pr ivate Hash Map<String , UIDActio nConfig> n ewSOPClass es = new H ashMap<Str ing, UIDAc tionConfig >(); | |
84 | ||
85 | @H iddenConfi gurationFi eld | |
86 | pr ivate Hash Map<String , UIDActio nConfig> u nknownSOPC lasses = n ew HashMap <String, U IDActionCo nfig>(); | |
87 | ||
88 | // Note: Even tually, th is object is passed to XMLEnco der to cre ate and sa ve a XML e ncoded con figuration file | |
89 | // that represent s this obj ect. Foun d issue wi th XMLEnco der. The XMLEncoder does not pass boole an propert ies | |
90 | // assi gned to a default va lue before the confi g file cre ation. If you want to make su re your ne w property | |
91 | // appe ars in the config fi le, test i t with the main(). | |
92 | privat e String s iteId; | |
93 | privat e Encrypte dConfigura tionProper tyString a ccessCode; | |
94 | privat e Encrypte dConfigura tionProper tyString v erifyCode; | |
95 | pr ivate bool ean dicomE nabled = f alse; | |
96 | pr ivate bool ean archiv eEnabled = false; | |
97 | pr ivate bool ean iconPr ocessingEn abled = fa lse; | |
98 | privat e String d icomCorrec tFolder; // {"vixca che"} or "c:/temp/" + "DCorre ct"; | |
99 | privat e String d icomDebugF older; // {"vixca che"} or "c:/temp/" + "DDebug "; | |
100 | privat e String c annedIconF older; // {"vixco nfig"}/Ima ges ; | |
101 | pr ivate bool ean dicomD ebugDumpEn abled = tr ue; // mak e sure its auto off in x minut es if on!! | |
102 | pr ivate Inte ger dicomD ebugDumpMi nutes; // number of minutes af ter which debug enab led must b e auto shu toff | |
103 | pr ivate Long dicomDebu gDumpStart Millies; / / Millies stamp when system st arted | |
104 | ||
105 | @H iddenConfi gurationFi eld | |
106 | privat e volatile String ho stName; | |
107 | ||
108 | @H iddenStrin gConfigura tionField | |
109 | privat e String f akeHostNam e; | |
110 | privat e int move QueueCapac ity = theM oveQueueCa pacity; | |
111 | privat e ArrayLis t<String> removedEle ments; | |
112 | privat e ArrayLis t<String> addedQuery Elements; | |
113 | privat e String q ueryLimit = theQuery Limit; | |
114 | privat e String l egacyGatew ayAddress; | |
115 | privat e int lega cyGatewayP ort; | |
116 | pr ivate Hash Map<String , VistaCre dentials> aeTitleToV istaCreden tialsMap; | |
117 | ||
118 | @H iddenConfi gurationFi eld | |
119 | pr ivate bool ean dicomS tarted = f alse; | |
120 | ||
121 | @H iddenBoole anConfigur ationField | |
122 | pr ivate bool ean ignore SopSwitch = false; / / for test ing purpos es only: i f true sen ds all SOP s to new D B! (defaul t False) | |
123 | ||
124 | @H iddenBoole anConfigur ationField | |
125 | pr ivate bool ean loadFa lseStats = false; | |
126 | pr ivate bool ean format PatientIDw ithDashes = true; | |
127 | pr ivate bool ean moveSu bOperation sEnabled = true; | |
128 | pr ivate Stri ng impleme ntationCla ssUID; | |
129 | pr ivate Stri ng impleme ntationVer sionName; | |
130 | pr ivate bool ean authen ticateAETi tles = tru e; | |
131 | pr ivate Stri ng applica tionName; | |
132 | pr ivate int pduTimeout ; | |
133 | pr ivate int dicomListe nerPort; | |
134 | ||
135 | pr ivate Impo rterPurgeD elays impo rterPurgeD elays = ne w Importer PurgeDelay s(); | |
136 | ||
137 | pr ivate Obje ct readRes olve() | |
138 | { | |
139 | inst ruments = new ArrayL ist<Instru mentConfig >(); | |
140 | moda lities = n ew ArrayLi st<Modalit yConfig>() ; | |
141 | dgwE mailInfo = new DGWEm ailInfo("" , "", "", "", null," "); | |
142 | uidA ctions = n ew ArrayLi st<UIDActi onConfig>( ); | |
143 | inst rumentByPo rt = new H ashMap<Str ing, Instr umentConfi g>(); | |
144 | oldS OPClasses = new Hash Map<String , UIDActio nConfig>() ; | |
145 | newS OPClasses = new Hash Map<String , UIDActio nConfig>() ; | |
146 | unkn ownSOPClas ses = new HashMap<St ring, UIDA ctionConfi g>(); | |
147 | ||
148 | if ( importerPu rgeDelays= =null) | |
149 | { | |
150 | import erPurgeDel ays = new ImporterPu rgeDelays( ); | |
151 | } | |
152 | ||
153 | return t his; | |
154 | } | |
155 | ||
156 | @O verride | |
157 | pu blic Abstr actBaseFac adeConfigu ration loa dDefaultCo nfiguratio n() | |
158 | { | |
159 | this .dicomEnab led = fals e; | |
160 | this .archiveEn abled = fa lse; | |
161 | this .iconProce ssingEnabl ed = false ; | |
162 | this .dicomDebu gDumpEnabl ed = false ; | |
163 | this .dicomDebu gDumpMinut es = 30; | |
164 | this .dicomDebu gDumpStart Millies = System.cur rentTimeMi llis(); // set in se rverLifecy cleEvent o f DicomLi fecycleLis tener | |
165 | this.fak eHostName = null; | |
166 | this.rem ovedElemen ts = null; | |
167 | this.add edQueryEle ments = nu ll; | |
168 | this.dic omStarted = false; | |
169 | this .ignoreSop Switch = f alse; | |
170 | this .loadFalse Stats = fa lse; | |
171 | this .formatPat ientIDwith Dashes = f alse; | |
172 | this .moveSubOp erationsEn abled = fa lse; | |
173 | this .implement ationClass UID = theV AImplement ationClass UID; | |
174 | this .implement ationVersi onName = t heVAImplem entationVe rsionName; | |
175 | this .dicomList enerPort = theDicomL istenerPor t; | |
176 | this .pduTimeou t = thePDU Timeout; | |
177 | this .applicati onName = " HDIG"; | |
178 | this .importerP urgeDelays = new Imp orterPurge Delays(); | |
179 | ||
180 | retu rn this; | |
181 | } | |
182 | ||
183 | pu blic stati c synchron ized Dicom ServerConf iguration getConfigu ration() | |
184 | { | |
185 | try | |
186 | { | |
187 | return FacadeCon figuration Factory.ge tConfigura tionFactor y().getCon figuration ( | |
188 | DicomServe rConfigura tion.class ); | |
189 | } | |
190 | catc h(CannotLo adConfigur ationExcep tion clcX) | |
191 | { | |
192 | // no need to lo g, already logged | |
193 | return null; | |
194 | } | |
195 | } | |
196 | ||
197 | pu blic stati c Boolean isConfigur ationExist () | |
198 | { | |
199 | Stri ng dir = g etConfigur ationDirec tory(); | |
200 | File dicomConf igFile = n ew File(St ringUtil.c leanString (dir + "/" + DicomSe rverConfig uration.cl ass.getNam e())); | |
201 | retu rn dicomCo nfigFile.e xists(); | |
202 | } | |
203 | ||
204 | ||
205 | pr ivate stat ic String getConfigu rationDire ctory() | |
206 | { | |
207 | Stri ng configu rationDire ctoryName = System.g etenv("vix config"); | |
208 | if(c onfigurati onDirector yName == n ull) | |
209 | config urationDir ectoryName = System. getPropert y("user.ho me"); | |
210 | if(c onfigurati onDirector yName == n ull) | |
211 | config urationDir ectoryName = "/"; | |
212 | ||
213 | retu rn configu rationDire ctoryName; | |
214 | } | |
215 | ||
216 | pu blic stati c void mai n(String[] args) { | |
217 | // Run this from ...\T omcat 6.0\ lib\ folde r: | |
218 | // java -cp ./*; CoreV alueObject s-0.1.jar gov.va.med .imaging.e xchange.bu siness.dic om.DicomSe rverConfig uration | |
219 | // “<sit eID>” "loc alhost" "6 0100" "<ac cessCode>" "<verifyC ode>" “DLE =true” “AE =true” “IP E=true” | |
220 | // input exa mple: "660 " "localho st" "60100 " "boating 1" "boatin g1." "DLE= true" "AE= false" "IP E=true" | |
221 | if (args.len gth != 8) | |
222 | { | |
223 | printUsa ge(); | |
224 | return; | |
225 | } | |
226 | Di comServerC onfigurati on config = getConfi guration() ; | |
227 | co nfig.setSi teId(args[ 0]); | |
228 | co nfig.setLe gacyGatewa yAddress(a rgs[1]); | |
229 | co nfig.setLe gacyGatewa yPort(Inte ger.parseI nt(args[2] )); | |
230 | co nfig.setAc cessCode(n ew Encrypt edConfigur ationPrope rtyString( args[3])); | |
231 | co nfig.setVe rifyCode(n ew Encrypt edConfigur ationPrope rtyString( args[4])); | |
232 | St ring path= System.ge tenv("vixc ache"); // <x: /vixcache> | |
233 | if (path.len gth() < 4) | |
234 | path = "c:/tem p/"; | |
235 | if (!(path.e ndsWith("/ ") || path .endsWith( "\\"))) | |
236 | path += "/"; | |
237 | co nfig.setDi comCorrect Folder(pat h + "DCorr ect"); | |
238 | co nfig.setDi comDebugFo lder(path + "DDebug" ); | |
239 | co nfig.setDi comDebugDu mpEnabled( false); | |
240 | ch eckAndMake Dirs(confi g.getDicom CorrectFol der()); | |
241 | ch eckAndMake Dirs(confi g.getDicom DebugFolde r()); | |
242 | ||
243 | St ring canne dIconPath= System.ge tenv("vixc onfig"); // <x: /vixconfig /> | |
244 | if (cannedIc onPath.len gth() < 4) | |
245 | path = "c:/vix config/"; | |
246 | if (!(canned IconPath.e ndsWith("/ ") || cann edIconPath .endsWith( "\\"))) | |
247 | cann edIconPath += "/"; | |
248 | ca nnedIconPa th += "Ima ges/"; | |
249 | co nfig.setCa nnedIconFo lder(canne dIconPath) ; | |
250 | ||
251 | conf ig.setDico mEnabled(! args[5].co ntains("DL E=false")) ; | |
252 | conf ig.setArch iveEnabled (!args[6]. contains(" AE=false") ); | |
253 | conf ig.setIcon Processing Enabled(!a rgs[7].con tains("IPE =false")); | |
254 | // T hese could be made n ew paramet ers for P1 16, Note: new parame ters requi re VixInst aller (GUI ) change | |
255 | conf ig.setImpl ementation ClassUID(t heVAImplem entationCl assUID); | |
256 | conf ig.setImpl ementation VersionNam e(theVAImp lementatio nVersionNa me); | |
257 | conf ig.setDico mListenerP ort(theDic omListener Port); | |
258 | conf ig.setForm atPatientI DwithDashe s(false); | |
259 | conf ig.setMove SubOperati onsEnabled (true); | |
260 | ||
261 | // Store the configura tion | |
262 | co nfig.store Configurat ion(); | |
263 | } | |
264 | ||
265 | privat e static v oid checkA ndMakeDirs (String fo lderPath) | |
266 | { | |
267 | File folder = new File(f olderPath) ; | |
268 | if ( !folder.ex ists()) | |
269 | { | |
270 | folder .mkdirs(); | |
271 | } | |
272 | ||
273 | } | |
274 | privat e static v oid printU sage() { | |
275 | Sy stem.out.p rintln("Th is program requires eight argu ments:"); | |
276 | Sy stem.out.p rintln(" * The site ID"); | |
277 | Sy stem.out.p rintln(" * The lega cy gateway address") ; | |
278 | Sy stem.out.p rintln(" * The lega cy gateway port"); | |
279 | Sy stem.out.p rintln(" * The acce ss code fo r the gate way servic e account" ); | |
280 | Sy stem.out.p rintln(" * The veri fy code fo r the gate way servic e account" ); | |
281 | Sy stem.out.p rintln(" * DICOM Li stener Ena bled setti ng ('DLE=t rue')"); | |
282 | Sy stem.out.p rintln(" * Archival Enabled s etting ('A E=true')") ; | |
283 | Sy stem.out.p rintln(" * Icon Pro cessing En abled sett ing ('IPE= true')"); | |
284 | ||
285 | } | |
286 | ||
287 | pu blic boole an isDicom Started() | |
288 | { | |
289 | retu rn dicomSt arted; | |
290 | } | |
291 | ||
292 | pu blic void setDicomSt arted(bool ean dicomS tarted) | |
293 | { | |
294 | this .dicomStar ted = dico mStarted; | |
295 | } | |
296 | ||
297 | pu blic Strin g getSiteI d() | |
298 | { | |
299 | retu rn siteId; | |
300 | } | |
301 | ||
302 | pu blic void setSiteId( String sit eId) | |
303 | { | |
304 | this .siteId = siteId; | |
305 | } | |
306 | ||
307 | pu blic Encry ptedConfig urationPro pertyStrin g getAcces sCode() | |
308 | { | |
309 | retu rn accessC ode; | |
310 | } | |
311 | ||
312 | pu blic void setAccessC ode(Encryp tedConfigu rationProp ertyString accessCod e) | |
313 | { | |
314 | this .accessCod e = access Code; | |
315 | } | |
316 | ||
317 | pu blic Encry ptedConfig urationPro pertyStrin g getVerif yCode() | |
318 | { | |
319 | retu rn verifyC ode; | |
320 | } | |
321 | ||
322 | pu blic void setVerifyC ode(Encryp tedConfigu rationProp ertyString verifyCod e) | |
323 | { | |
324 | this .verifyCod e = verify Code; | |
325 | } | |
326 | ||
327 | ||
328 | pu blic boole an isDicom Enabled() { | |
329 | retu rn this.di comEnabled ; | |
330 | } | |
331 | pu blic void setDicomEn abled(bool ean dicomE nabled) | |
332 | { | |
333 | this .dicomEnab led = dico mEnabled; | |
334 | } | |
335 | ||
336 | /* * | |
337 | * Get Fake hostname v alue from applicatio n.properti es file. | |
338 | * | |
339 | * @return r epresents a hostname to a diff erent mach ine that i s known by the VistA HIS. Thi s | |
340 | * is create d for a te sting envi ronment on ly. | |
341 | * / | |
342 | public String ge tFakeHostN ame(){ | |
343 | re turn this. fakeHostNa me; | |
344 | } | |
345 | pu blic void setFakeHos tName(Stri ng fakeHos tName) | |
346 | { | |
347 | this .fakeHostN ame = fake HostName; | |
348 | } | |
349 | ||
350 | pu blic Strin g getHostN ame() | |
351 | { | |
352 | if ( hostName = = null) | |
353 | { | |
354 | if (ge tFakeHostN ame() != n ull && !ge tFakeHostN ame().equa ls("")) | |
355 | { | |
356 | hostName = getFake HostName() ; | |
357 | } | |
358 | else | |
359 | { | |
360 | try | |
361 | { | |
362 | InetAddres s localMac hine = Ine tAddress.g etLocalHos t(); | |
363 | hostName = localMach ine.getHos tName(); | |
364 | } | |
365 | catch(ja va.net.Unk nownHostEx ception uh e) | |
366 | { | |
367 | logger.err or("Couldn 't retriev e host nam e: ", uhe) ; | |
368 | } | |
369 | } | |
370 | } | |
371 | ||
372 | retu rn (hostNa me + "").t rim(); | |
373 | } | |
374 | ||
375 | /* * | |
376 | * Get the M oveQueueCa pacity val ue from ap plication. properties file. Th e C-Move p rocess | |
377 | * uses a Pr oducer/Con sumer patt ern. Ther e is a Que ue between the produ cer and co nsumer. | |
378 | * Changing this value changes t he size of the Queue . This op tional val ue can aff ect the | |
379 | * performan ce the app lication. | |
380 | * | |
381 | * @return r epresents a configur ed value f or the Mov eQueueCapa city. If this value is not se t, | |
382 | * there is a default value in t he code. | |
383 | * | |
384 | * / | |
385 | pu blic int g etMoveQueu eCapacity( ) { | |
386 | retu rn this.mo veQueueCap acity; | |
387 | } | |
388 | pu blic void setMoveQue ueCapacity (int moveQ ueueCapaci ty) | |
389 | { | |
390 | this .moveQueue Capacity = moveQueue Capacity; | |
391 | } | |
392 | ||
393 | /* * | |
394 | * @return t he removeE lements | |
395 | * / | |
396 | pu blic Array List<Strin g> getRemo vedElement s() { | |
397 | retu rn this.re movedEleme nts; | |
398 | } | |
399 | pu blic void setRemoved Elements(A rrayList<S tring> rem oveElement s) | |
400 | { | |
401 | this .removedEl ements = r emoveEleme nts; | |
402 | } | |
403 | ||
404 | /* * | |
405 | * @return t he added q uery eleme nts | |
406 | * / | |
407 | pu blic Array List<Strin g> getAdde dQueryElem ents(){ | |
408 | retu rn this.ad dedQueryEl ements; | |
409 | } | |
410 | pu blic void setAddedQu eryElement s(ArrayLis t<String> addQueryEl ements) | |
411 | { | |
412 | this .addedQuer yElements = addQuery Elements; | |
413 | } | |
414 | ||
415 | pu blic Dicom ServerConf iguration( ) | |
416 | { | |
417 | aeTi tleToVista Credential sMap = new HashMap<S tring, Vis taCredenti als>(); | |
418 | } | |
419 | ||
420 | pu blic Strin g getLegac yGatewayAd dress() | |
421 | { | |
422 | retu rn legacyG atewayAddr ess; | |
423 | } | |
424 | ||
425 | pu blic void setLegacyG atewayAddr ess(String legacyGat ewayAddres s) | |
426 | { | |
427 | this .legacyGat ewayAddres s = legacy GatewayAdd ress; | |
428 | } | |
429 | ||
430 | pu blic int g etLegacyGa tewayPort( ) | |
431 | { | |
432 | retu rn legacyG atewayPort ; | |
433 | } | |
434 | ||
435 | pu blic void setLegacyG atewayPort (int legac yGatewayPo rt) | |
436 | { | |
437 | this .legacyGat ewayPort = legacyGat ewayPort; | |
438 | } | |
439 | ||
440 | pu blic List< Instrument Config> ge tInstrumen ts() | |
441 | { | |
442 | retu rn instrum ents; | |
443 | } | |
444 | ||
445 | pu blic void setInstrum ents(List< Instrument Config> in struments) | |
446 | { | |
447 | this .instrumen ts = instr uments; | |
448 | ||
449 | // C lear any p revious da ta, then b uild our l ookup of i nstrument nicknames by port he re | |
450 | inst rumentByPo rt.clear() ; | |
451 | ||
452 | for (Instrumen tConfig in strument : instrumen ts) | |
453 | { | |
454 | instru mentByPort .put(Strin g.valueOf( instrument .getPort() ), instrum ent); | |
455 | } | |
456 | } | |
457 | ||
458 | pu blic Instr umentConfi g getInstr umentByPor t(int port ) | |
459 | { | |
460 | retu rn instrum entByPort. get(String .valueOf(p ort)); | |
461 | } | |
462 | ||
463 | pu blic List< ModalityCo nfig> getM odalities( ) | |
464 | { | |
465 | retu rn modalit ies; | |
466 | } | |
467 | ||
468 | pu blic void setModalit ies(List<M odalityCon fig> modal ities) | |
469 | { | |
470 | this .modalitie s = modali ties; | |
471 | } | |
472 | pu blic DGWEm ailInfo ge tDgwEmailI nfo() | |
473 | { | |
474 | retu rn dgwEmai lInfo; | |
475 | } | |
476 | ||
477 | pu blic void setDgwEmai lInfo(DGWE mailInfo d gwEI) | |
478 | { | |
479 | this .dgwEmailI nfo = dgwE I; | |
480 | } | |
481 | ||
482 | pu blic boole an isCurre ntStorageS OPClass(St ring sopCl assUid) th rows Dicom Exception | |
483 | { | |
484 | retu rn oldSOPC lasses.con tainsKey(s opClassUid ); | |
485 | } | |
486 | ||
487 | pu blic boole an isNewSt orageSOPCl ass(String sopClassU id) throws DicomExce ption | |
488 | { | |
489 | retu rn newSOPC lasses.con tainsKey(s opClassUid ); | |
490 | } | |
491 | ||
492 | pu blic boole an isUnkno wnStorageS OPClass(St ring sopCl assUid) th rows Dicom Exception | |
493 | { | |
494 | retu rn unknown SOPClasses .containsK ey(sopClas sUid); | |
495 | } | |
496 | ||
497 | pu blic void setUidActi ons(List<U IDActionCo nfig> uidA ctions) | |
498 | { | |
499 | this .uidAction s = uidAct ions; | |
500 | ||
501 | // C lear any p revious da ta, then b uild our l ookup of o ld and new SOP class es here | |
502 | oldS OPClasses. clear(); | |
503 | newS OPClasses. clear(); | |
504 | unkn ownSOPClas ses.clear( ); | |
505 | ||
506 | for (UIDAction Config act ion : uidA ctions) | |
507 | { | |
508 | String actionUid = action. getUid(); | |
509 | String actionCod e = action .getAction Code(); | |
510 | ||
511 | if ("1 ".equals(a ctionCode) ) | |
512 | { | |
513 | this.old SOPClasses .put(actio nUid, acti on); | |
514 | } | |
515 | else i f ("2".equ als(action Code)) | |
516 | { | |
517 | this.new SOPClasses .put(actio nUid, acti on); | |
518 | } | |
519 | else / / "3" | |
520 | { | |
521 | this.unk nownSOPCla sses.put(a ctionUid, action); | |
522 | } | |
523 | String aComment = action.g etActionCo mment(); | |
524 | if (aC omment==nu ll || (aCo mment.leng th()==0)) { | |
525 | action.s etActionCo mment("Unk nown"); | |
526 | action.s etIconFile name("mags ensitive.J PG"); // n eutral for all -- ju st in lack of real g eneric ico n! | |
527 | } else { | |
528 | String[] acomfield s = String Util.split (aComment, StringUti l.STICK); | |
529 | action.s etActionCo mment(acom fields[0]) ; | |
530 | if (acom fields.len gth>1) { | |
531 | action.set IconFilena me(acomfie lds[1]); | |
532 | } else | |
533 | action.set IconFilena me("create Icon"); | |
534 | } | |
535 | } | |
536 | } | |
537 | pu blic UIDAc tionConfig getSopUID ActionConf iguration (String so pClassUID) { | |
538 | ||
539 | for (UIDAction Config act ion : uidA ctions) | |
540 | { | |
541 | if (so pClassUID. equals(act ion.getUid ())) { | |
542 | return a ction; | |
543 | } | |
544 | } | |
545 | retu rn null; | |
546 | } | |
547 | ||
548 | pu blic Strin g getDicom CorrectFol der() { | |
549 | retu rn dicomCo rrectFolde r; | |
550 | } | |
551 | ||
552 | pu blic void setDicomCo rrectFolde r(String d icomCorrec tFolder) { | |
553 | this .dicomCorr ectFolder = dicomCor rectFolder ; | |
554 | } | |
555 | ||
556 | pu blic Strin g getDicom DebugFolde r() { | |
557 | retu rn dicomDe bugFolder; | |
558 | } | |
559 | ||
560 | pu blic void setDicomDe bugFolder( String dic omDebugFol der) { | |
561 | this .dicomDebu gFolder = dicomDebug Folder; | |
562 | } | |
563 | ||
564 | pu blic boole an isDicom DebugDumpE nabled() { | |
565 | retu rn dicomDe bugDumpEna bled; | |
566 | } | |
567 | ||
568 | pu blic void setDicomDe bugDumpEna bled(boole an dicomDe bugDumpEna bled) { | |
569 | this .dicomDebu gDumpEnabl ed = dicom DebugDumpE nabled; | |
570 | } | |
571 | ||
572 | pu blic boole an isArchi veEnabled( ) { | |
573 | retu rn archive Enabled; | |
574 | } | |
575 | ||
576 | pu blic void setArchive Enabled(bo olean arch iveEnabled ) { | |
577 | this .archiveEn abled = ar chiveEnabl ed; | |
578 | } | |
579 | ||
580 | pu blic boole an isIconP rocessingE nabled() { | |
581 | retu rn iconPro cessingEna bled; | |
582 | } | |
583 | ||
584 | pu blic void setIconPro cessingEna bled(boole an iconPro cessingEna bled) { | |
585 | this .iconProce ssingEnabl ed = iconP rocessingE nabled; | |
586 | } | |
587 | ||
588 | pu blic Strin g getCanne dIconFolde r() { | |
589 | retu rn cannedI conFolder; | |
590 | } | |
591 | ||
592 | pu blic void setCannedI conFolder( String can nedIconFol der) { | |
593 | this .cannedIco nFolder = cannedIcon Folder; | |
594 | } | |
595 | ||
596 | pu blic Routi ngToken ge tRoutingTo ken() { | |
597 | Rout ingToken r outingToke n = null; | |
598 | try | |
599 | { | |
600 | routin gToken = R outingToke nImpl.crea teVARadiol ogySite(Di comServerC onfigurati on.getConf iguration( ).getSiteI d()); | |
601 | } | |
602 | catc h (Routing TokenForma tException e) | |
603 | { | |
604 | // TOD O Auto-gen erated cat ch block | |
605 | e.prin tStackTrac e(); | |
606 | } | |
607 | retu rn routing Token; | |
608 | } | |
609 | ||
610 | pu blic Integ er isDicom DebugDumpM inutes() { | |
611 | retu rn dicomDe bugDumpMin utes; | |
612 | } | |
613 | ||
614 | pu blic void setDicomDe bugDumpMin utes(Integ er dicomDe bugDumpMin utes) { | |
615 | this .dicomDebu gDumpMinut es = dicom DebugDumpM inutes; | |
616 | } | |
617 | ||
618 | pu blic Long getDicomDe bugDumpSta rtMillies( ) { | |
619 | retu rn dicomDe bugDumpSta rtMillies; | |
620 | } | |
621 | ||
622 | pu blic void setDicomDe bugDumpSta rtMillies( Long dicom DebugDumpS tartMillie s) { | |
623 | this .dicomDebu gDumpStart Millies = dicomDebug DumpStartM illies; | |
624 | } | |
625 | ||
626 | pu blic Integ er getDico mDebugDump Minutes() { | |
627 | retu rn dicomDe bugDumpMin utes; | |
628 | } | |
629 | ||
630 | pu blic boole an isIgnor eSopSwitch () { | |
631 | retu rn ignoreS opSwitch; | |
632 | } | |
633 | pu blic void setIgnoreS opSwitch(B oolean iSS witch) { | |
634 | this .ignoreSop Switch=iSS witch; | |
635 | } | |
636 | ||
637 | /* * | |
638 | * @return t he loadFal seStats | |
639 | * / | |
640 | pu blic boole an isLoadF alseStats( ) { | |
641 | retu rn loadFal seStats; | |
642 | } | |
643 | ||
644 | /* * | |
645 | * @param lo adFalseSta ts the loa dFalseStat s to set | |
646 | * / | |
647 | pu blic void setLoadFal seStats(bo olean load FalseStats ) { | |
648 | this .loadFalse Stats = lo adFalseSta ts; | |
649 | } | |
650 | ||
651 | /* * | |
652 | * @return t he formatS SNwithDash es | |
653 | * / | |
654 | pu blic boole an isForma tPatientID withDashes () { | |
655 | retu rn formatP atientIDwi thDashes; | |
656 | } | |
657 | ||
658 | /* * | |
659 | * @param fo rmatSSNwit hDashes th e formatSS NwithDashe s to set | |
660 | * / | |
661 | pu blic void setFormatP atientIDwi thDashes(b oolean for matPatient IDwithDash es) { | |
662 | this .formatPat ientIDwith Dashes = f ormatPatie ntIDwithDa shes; | |
663 | } | |
664 | ||
665 | /* * | |
666 | * @return t he impleme ntationCla ssUID | |
667 | * / | |
668 | pu blic Strin g getImple mentationC lassUID() { | |
669 | retu rn impleme ntationCla ssUID; | |
670 | } | |
671 | ||
672 | /* * | |
673 | * @param im plementati onClassUID the imple mentationC lassUID to set | |
674 | * / | |
675 | pu blic void setImpleme ntationCla ssUID(Stri ng impleme ntationCla ssUID) { | |
676 | this .implement ationClass UID = impl ementation ClassUID; | |
677 | } | |
678 | ||
679 | /* * | |
680 | * @return t he impleme ntationVer sionName | |
681 | * / | |
682 | pu blic Strin g getImple mentationV ersionName () { | |
683 | retu rn impleme ntationVer sionName; | |
684 | } | |
685 | ||
686 | /* * | |
687 | * @param im plementati onVersionN ame the im plementati onVersionN ame to set | |
688 | * / | |
689 | pu blic void setImpleme ntationVer sionName(S tring impl ementation VersionNam e) { | |
690 | this .implement ationVersi onName = i mplementat ionVersion Name; | |
691 | } | |
692 | ||
693 | /* * | |
694 | * @return t he pduTime out | |
695 | * / | |
696 | pu blic int g etPduTimeo ut() { | |
697 | retu rn pduTime out; | |
698 | } | |
699 | ||
700 | /* * | |
701 | * @param pd uTimeout t he pduTime out to set | |
702 | * / | |
703 | pu blic void setPduTime out(int pd uTimeout) { | |
704 | this .pduTimeou t = pduTim eout; | |
705 | } | |
706 | ||
707 | /* * | |
708 | * @return t he applica tionName | |
709 | * / | |
710 | pu blic Strin g getAppli cationName () { | |
711 | retu rn applica tionName; | |
712 | } | |
713 | ||
714 | /* * | |
715 | * @param ap plicationN ame the ap plicationN ame to set | |
716 | * / | |
717 | pu blic void setApplica tionName(S tring appl icationNam e) { | |
718 | this .applicati onName = a pplication Name; | |
719 | } | |
720 | ||
721 | /* * | |
722 | * @return t he authent icateAETit les | |
723 | * / | |
724 | pu blic boole an isAuthe nticateAET itles() { | |
725 | retu rn authent icateAETit les; | |
726 | } | |
727 | ||
728 | /* * | |
729 | * @param au thenticate AETitles t he authent icateAETit les to set | |
730 | * / | |
731 | pu blic void setAuthent icateAETit les(boolea n authenti cateAETitl es) { | |
732 | this .authentic ateAETitle s = authen ticateAETi tles; | |
733 | } | |
734 | ||
735 | /* * | |
736 | * @return t he dicomLi stenerPort | |
737 | * / | |
738 | pu blic int g etDicomLis tenerPort( ) { | |
739 | retu rn dicomLi stenerPort ; | |
740 | } | |
741 | ||
742 | /* * | |
743 | * @param di comListene rPort the dicomListe nerPort to set | |
744 | * / | |
745 | pu blic void setDicomLi stenerPort (int dicom ListenerPo rt) { | |
746 | this .dicomList enerPort = dicomList enerPort; | |
747 | } | |
748 | ||
749 | /* * | |
750 | * @return t he queryLi mit | |
751 | * / | |
752 | pu blic Strin g getQuery Limit() { | |
753 | retu rn queryLi mit; | |
754 | } | |
755 | ||
756 | /* * | |
757 | * @param qu eryLimit t he queryLi mit to set | |
758 | * / | |
759 | pu blic void setQueryLi mit(String queryLimi t) { | |
760 | this .queryLimi t = queryL imit; | |
761 | } | |
762 | ||
763 | /* * | |
764 | * @return t he moveSub Operations Enabled | |
765 | * / | |
766 | pu blic boole an isMoveS ubOperatio nsEnabled( ) { | |
767 | retu rn moveSub Operations Enabled; | |
768 | } | |
769 | ||
770 | /* * | |
771 | * @param mo veSubOpera tionsEnabl ed the mov eSubOperat ionsEnable d to set | |
772 | * / | |
773 | pu blic void setMoveSub Operations Enabled(bo olean move SubOperati onsEnabled ) { | |
774 | this .moveSubOp erationsEn abled = mo veSubOpera tionsEnabl ed; | |
775 | } | |
776 | ||
777 | /* * | |
778 | * | |
779 | * @return r epresents the identi fier of th e HDIG. T he identif ier is bas ed on the hostname o nly and co ntains | |
780 | * a _hdig e xtension. The hostn ame is fil tered from the FQDN if necessa ry. This is used wh en it is n ecessary | |
781 | * to avoid confusion with the L egacy DICO M Gateway that is ru nning on t he same ma chine. | |
782 | * An examp le would b e DNS imgtest_hd ig. | |
783 | * / | |
784 | pu blic Strin g getHDIGS pecificHos tIdentifie r(){ | |
785 | Stri ng[] fqdn = StringUt il.split(t his.hostNa me, String Util.PERIO D); | |
786 | Stri ng hdigHos t = fqdn[0 ]; | |
787 | if(h digHost != null){ | |
788 | hdigHo st = hdigH ost.trim() ; | |
789 | hdigHo st = hdigH ost.concat ("_hdig"); | |
790 | } | |
791 | retu rn hdigHos t; | |
792 | } | |
793 | ||
794 | ||
795 | pu blic Strin g getAcces sCodeStrin g() | |
796 | { | |
797 | Stri ng accessC odeString = ""; | |
798 | if ( getAccessC ode() != n ull) | |
799 | { | |
800 | access CodeString = getAcce ssCode().t oString() + ""; | |
801 | } | |
802 | ||
803 | retu rn accessC odeString; | |
804 | } | |
805 | ||
806 | pu blic Strin g getVerif yCodeStrin g() | |
807 | { | |
808 | Stri ng verifyC odeString = ""; | |
809 | if ( getVerifyC ode() != n ull) | |
810 | { | |
811 | verify CodeString = getVeri fyCode().t oString() + ""; | |
812 | } | |
813 | ||
814 | retu rn verifyC odeString; | |
815 | } | |
816 | ||
817 | pu blic void setImporte rPurgeDela ys(Importe rPurgeDela ys importe rPurgeDela ys) { | |
818 | this .importerP urgeDelays = importe rPurgeDela ys; | |
819 | } | |
820 | ||
821 | pu blic Impor terPurgeDe lays getIm porterPurg eDelays() { | |
822 | retu rn importe rPurgeDela ys; | |
823 | } | |
824 | ||
825 | pu blic void setHostNam e(String h ostName) { | |
826 | this .hostName = hostName ; | |
827 | } | |
828 | ||
829 | } |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.