10. EPMO Open Source Coordination Office Redaction File Detail Report

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.

10.1 Files compared

# 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

10.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 3 1654
Changed 2 4
Inserted 0 0
Removed 0 0

10.3 Comparison options

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

10.4 Active regular expressions

No regular expressions were active.

10.5 Comparison detail

  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
  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 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   }