115. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 3/25/2019 8:58:07 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.

115.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\IMAG_Source\VISA\Java\VistaImagingDataSourceProvider\main\src\java\gov\va\med\imaging\vistaimagingdatasource VistaImagingDataSourceProvider.java Mon Mar 18 20:39:07 2019 UTC
2 C:\AraxisMergeCompare\Pri_re\IMAG_Source\VISA\Java\VistaImagingDataSourceProvider\main\src\java\gov\va\med\imaging\vistaimagingdatasource VistaImagingDataSourceProvider.java Tue Mar 19 12:04:22 2019 UTC

115.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 1234
Changed 1 2
Inserted 0 0
Removed 0 0

115.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

115.4 Active regular expressions

No regular expressions were active.

115.5 Comparison detail

  1   /**
  2    * 
  3    */
  4   package go v.va.med.i maging.vis taimagingd atasource;
  5  
  6   import gov .va.med.im aging.data source.Dic omApplicat ionEntityD ataSourceS pi;
  7   import gov .va.med.im aging.data source.Dic omDataSour ceSpi;
  8   import gov .va.med.im aging.data source.Dic omImporter DataSource Spi;
  9   import gov .va.med.im aging.data source.Dic omQueryRet rieveDataS ourceSpi;
  10   import gov .va.med.im aging.data source.Dic omStorageD ataSourceS pi;
  11   import gov .va.med.im aging.data source.Doc umentDataS ourceSpi;
  12   import gov .va.med.im aging.data source.Doc umentSetDa taSourceSp i;
  13   import gov .va.med.im aging.data source.Dur ableQueueD ataSourceS pi;
  14   import gov .va.med.im aging.data source.Eve ntLoggingD ataSourceS pi;
  15   import gov .va.med.im aging.data source.Ext ernalPacka geDataSour ceSpi;
  16   import gov .va.med.im aging.data source.Ima geAccessLo ggingSpi;
  17   import gov .va.med.im aging.data source.Ima geDataSour ceSpi;
  18   import gov .va.med.im aging.data source.Pas sthroughDa taSourceSp i;
  19   import gov .va.med.im aging.data source.Pat ientArtifa ctDataSour ceSpi;
  20   import gov .va.med.im aging.data source.Pat ientDataSo urceSpi;
  21   import gov .va.med.im aging.data source.Pro vider;
  22   import gov .va.med.im aging.data source.Pro viderServi ce;
  23   import gov .va.med.im aging.data source.Rou tingOverri deSpi;
  24   import gov .va.med.im aging.data source.Ser viceRegist rationData SourceSpi;
  25   import gov .va.med.im aging.data source.Sit eDataSourc eSpi;
  26   import gov .va.med.im aging.data source.Sto rageDataSo urceSpi;
  27   import gov .va.med.im aging.data source.Stu dyGraphDat aSourceSpi ;
  28   import gov .va.med.im aging.data source.Use rAuthentic ationSpi;
  29   import gov .va.med.im aging.data source.Use rAuthoriza tionDataSo urceSpi;
  30   import gov .va.med.im aging.data source.Use rDataSourc eSpi;
  31   import gov .va.med.im aging.data source.Vei nsDataSour ceSpi;
  32   import gov .va.med.im aging.data source.Vis taRadDataS ourceSpi;
  33   import gov .va.med.im aging.data source.Vis taRadImage DataSource Spi;
  34   import gov .va.med.im aging.data source.Wor kListDataS ourceSpi;
  35   import gov .va.med.im aging.vist aimagingda tasource.c onfigurati on.VistaIm agingConfi guration;
  36   import gov .va.med.im aging.vist aimagingda tasource.d icom.impor ter.VistaI magingDico mImporterD ataSourceS ervice;
  37   import gov .va.med.im aging.vist aimagingda tasource.d icom.stora ge.VistaIm agingDicom Applicatio nEntityDat aSourceSer vice;
  38   import gov .va.med.im aging.vist aimagingda tasource.d icom.stora ge.VistaIm agingDicom QueryRetri eveDataSou rceService ;
  39   import gov .va.med.im aging.vist aimagingda tasource.d icom.stora ge.VistaIm agingDicom StorageDat aSourceSer vice;
  40   import gov .va.med.im aging.vist aimagingda tasource.s torage.Vis taImagingS torageData SourceServ ice;
  41   import gov .va.med.im aging.vist aimagingda tasource.w orklist.Vi staImaging WorkListDa taSourceSe rvice;
  42  
  43   import jav a.util.Col lections;
  44   import jav a.util.Sor tedSet;
  45   import jav a.util.Tre eSet;
  46  
  47   import org .apache.lo gging.log4 j.LogManag er;
  48   import org .apache.lo gging.log4 j.Logger;
  49  
  50   /**
  51    * @author   DN S      BECKEC
  52    * 
  53    */
  54   public cla ss VistaIm agingDataS ourceProvi der 
  55   extends Pr ovider
  56   {
  57           pr ivate stat ic final S tring PROV IDER_NAME  = "VistaIm agingDataS ource";
  58           pr ivate stat ic final d ouble PROV IDER_VERSI ON = 1.0d;
  59           pr ivate stat ic final S tring PROV IDER_INFO 
  60                    "Imp lements: \ n" + 
  61                    "Stu dyGraphDat aSource, I mageDataSo urce, and  ImageAcces sLoggingDa taSource S PI \n" + 
  62                    "bac ked by a V istA data  store.";
  63  
  64           pr ivate stat ic final l ong serial VersionUID  = 1L;
  65           
  66           pr ivate stat ic VistaIm agingConfi guration v istaConfig uration =  null;
  67           pr ivate fina l static L ogger logg er = LogMa nager.getL ogger(Vist aImagingDa taSourcePr ovider.cla ss);
  68           
  69           pr ivate fina l SortedSe t<Provider Service> s ervices;
  70  
  71           /* *
  72            *  The publi c "nullary " construc tor that i s used by  the Servic eLoader cl ass
  73            *  to create  instances .
  74            * /
  75           pu blic Vista ImagingDat aSourcePro vider()
  76           {
  77                    this (PROVIDER_ NAME, PROV IDER_VERSI ON, PROVID ER_INFO);
  78           }
  79           
  80           /* *
  81            *  A special  construct or that is  only used  for creat ing a conf iguration
  82            *  file.
  83            *  
  84            *  @param vi staConfigu ration
  85            * /
  86           pu blic Vista ImagingDat aSourcePro vider(Vist aImagingCo nfiguratio n vistaCon figuration )
  87           {
  88                    this ();
  89                    Vist aImagingDa taSourcePr ovider.vis taConfigur ation = vi staConfigu ration;
  90           }
  91  
  92           /* *
  93            *  @param na me
  94            *  @param ve rsion
  95            *  @param in fo
  96            * /
  97           pr ivate Vist aImagingDa taSourcePr ovider(Str ing name,  double ver sion, Stri ng info)
  98           {
  99                    supe r(name, ve rsion, inf o);
  100  
  101                    serv ices = new  TreeSet<P roviderSer vice>();
  102                    serv ices.add(
  103                             new Pr oviderServ ice(
  104                                      this, 
  105                                      StudyGra phDataSour ceSpi.clas s, 
  106                                      VistaIma gingStudyG raphDataSo urceServic e.SUPPORTE D_PROTOCOL
  107                                      1.0F, 
  108                                      VistaIma gingStudyG raphDataSo urceServic e.class)
  109                    );
  110                    serv ices.add(
  111                             new Pr oviderServ ice(
  112                                      this, 
  113                                      ImageDat aSourceSpi .class,
  114                                      VistaIma geDataSour ceService. SUPPORTED_ PROTOCOL,
  115                                      1.0F,
  116                                      VistaIma geDataSour ceService. class)
  117                    );
  118                    serv ices.add(
  119                             new Pr oviderServ ice(
  120                                      this, 
  121                                      ImageDat aSourceSpi .class,
  122                                      VistaIma geDataSour ceServiceV 0.SUPPORTE D_PROTOCOL ,
  123                                      0.9F,
  124                                      VistaIma geDataSour ceServiceV 0.class)
  125                    );
  126                    /*
  127                     //  JMW 10/5/2 010 disabl e this ver sion since  it will o nly be fun ctional wi th P119 (t o support  deleted im ages)
  128                    serv ices.add(
  129                                      new Prov ider.Servi ce(
  130                                      this, 
  131                                               DataSource Services.I mageDataSo urce,
  132                                               VistaImage DataSource ServiceV2. SUPPORTED_ PROTOCOL,
  133                                               2.0F,
  134                                               VistaImage DataSource ServiceV2. class)
  135                             );*/
  136                    serv ices.add(
  137                             new Pr oviderServ ice(
  138                                      this, 
  139                                      ImageAcc essLogging Spi.class,
  140                                      VistaIma gingImageA ccessLoggi ngDataSour ceService. SUPPORTED_ PROTOCOL,
  141                                      1.0F,
  142                                      VistaIma gingImageA ccessLoggi ngDataSour ceService. class)
  143                    );
  144                    serv ices.add(
  145                             new Pr oviderServ ice(
  146                                      this, 
  147                                      StudyGra phDataSour ceSpi.clas s,
  148                                      VistaIma gingStudyG raphDataSo urceServic eV0.SUPPOR TED_PROTOC OL,
  149                                      0.9F,
  150                                      VistaIma gingStudyG raphDataSo urceServic eV0.class)
  151                    );
  152                    serv ices.add(
  153                                      new Prov iderServic e(
  154                                               this, 
  155                                               StudyGraph DataSource Spi.class,
  156                                               VistaImagi ngStudyGra phDataSour ceService. SUPPORTED_ PROTOCOL,
  157                                               2.0F,
  158                                               VistaImagi ngStudyGra phDataSour ceServiceV 1.class)
  159                             );
  160                    serv ices.add(
  161                                      new Prov iderServic e(
  162                                               this, 
  163                                               StudyGraph DataSource Spi.class,
  164                                               VistaImagi ngStudyGra phDataSour ceServiceV 2.SUPPORTE D_PROTOCOL ,
  165                                               3.0F,
  166                                               VistaImagi ngStudyGra phDataSour ceServiceV 2.class)
  167                             );
  168                    serv ices.add(
  169                                      new Prov iderServic e(
  170                                               this, 
  171                                               StudyGraph DataSource Spi.class,
  172                                               VistaImagi ngStudyGra phDataSour ceServiceV 3.SUPPORTE D_PROTOCOL ,
  173                                               4.0F,
  174                                               VistaImagi ngStudyGra phDataSour ceServiceV 3.class)
  175                             );
  176                    serv ices.add(
  177                             new Pr oviderServ ice(
  178                                      this, 
  179                                      PatientD ataSourceS pi.class,
  180                                      VistaIma gingPatien tDataSourc eService.S UPPORTED_P ROTOCOL,
  181                                      1.0F,
  182                                      VistaIma gingPatien tDataSourc eService.c lass)
  183                    );
  184                    serv ices.add(
  185                             new Pr oviderServ ice(
  186                                      this, 
  187                                      DicomDat aSourceSpi .class,
  188                                      VistaIma gingDicomD ataSourceS ervice.SUP PORTED_PRO TOCOL,
  189                                      1.0F,
  190                                      VistaIma gingDicomD ataSourceS ervice.cla ss)
  191                             );
  192                    serv ices.add(
  193                             new Pr oviderServ ice(
  194                                      this, 
  195                                      DicomDat aSourceSpi .class,
  196                                      (byte)1,  
  197                                      VistaIma gingDicomD ataSourceS ervice.cla ss)
  198                             );
  199  
  200                    serv ices.add(
  201                                      new Prov iderServic e(
  202                                               this, 
  203                                               DicomAppli cationEnti tyDataSour ceSpi.clas s,
  204                                               VistaImagi ngDicomApp licationEn tityDataSo urceServic e.SUPPORTE D_PROTOCOL ,
  205                                               1.0F,
  206                                               VistaImagi ngDicomApp licationEn tityDataSo urceServic e.class)
  207                                      );
  208                    serv ices.add(
  209                             new Pr oviderServ ice(
  210                                      this, 
  211                                      DicomApp licationEn tityDataSo urceSpi.cl ass,
  212                                      (byte)1,  
  213                                      VistaIma gingDicomA pplication EntityData SourceServ ice.class)
  214                             );
  215                    serv ices.add(
  216                                      new Prov iderServic e(
  217                                               this, 
  218                                               DicomQuery RetrieveDa taSourceSp i.class,
  219                                               VistaImagi ngDicomQue ryRetrieve DataSource Service.SU PPORTED_PR OTOCOL,
  220                                               1.0F,
  221                                               VistaImagi ngDicomQue ryRetrieve DataSource Service.cl ass)
  222                                      );
  223                    
  224                    serv ices.add(
  225                             new Pr oviderServ ice(
  226                                      this, 
  227                                      DicomQue ryRetrieve DataSource Spi.class,
  228                                      (byte)1,  
  229                                      VistaIma gingDicomQ ueryRetrie veDataSour ceService. class)
  230                             );
  231  
  232                    serv ices.add(
  233                                      new Prov iderServic e(
  234                                               this, 
  235                                               DicomStora geDataSour ceSpi.clas s,
  236                                               VistaImagi ngDicomSto rageDataSo urceServic e.SUPPORTE D_PROTOCOL ,
  237                                               1.0F,
  238                                               VistaImagi ngDicomSto rageDataSo urceServic e.class)
  239                                      );
  240                    
  241                    serv ices.add(
  242                             new Pr oviderServ ice(
  243                                      this, 
  244                                      DicomSto rageDataSo urceSpi.cl ass,
  245                                      (byte)1,  
  246                                      VistaIma gingDicomS torageData SourceServ ice.class)
  247                             );
  248                                      
  249                    serv ices.add(
  250                                      new Prov iderServic e(
  251                                               this, 
  252                                               DicomImpor terDataSou rceSpi.cla ss,
  253                                               VistaImagi ngDicomImp orterDataS ourceServi ce.SUPPORT ED_PROTOCO L,
  254                                               1.0F,
  255                                               VistaImagi ngDicomImp orterDataS ourceServi ce.class)
  256                                      );
  257                    serv ices.add(
  258                             new Pr oviderServ ice(
  259                                      this, 
  260                                      DicomImp orterDataS ourceSpi.c lass,
  261                                      (byte)1,  
  262                                      VistaIma gingDicomI mporterDat aSourceSer vice.class )
  263                             );
  264  
  265                    serv ices.add(
  266                                      new Prov iderServic e(
  267                                               this, 
  268                                               WorkListDa taSourceSp i.class,
  269                                               VistaImagi ngWorkList DataSource Service.SU PPORTED_PR OTOCOL,
  270                                               1.0F,
  271                                               VistaImagi ngWorkList DataSource Service.cl ass)
  272                                      );
  273  
  274                    serv ices.add(
  275                                      new Prov iderServic e(
  276                                               this, 
  277                                               StorageDat aSourceSpi .class,
  278                                               VistaImagi ngStorageD ataSourceS ervice.SUP PORTED_PRO TOCOL,
  279                                               1.0F,
  280                                               VistaImagi ngStorageD ataSourceS ervice.cla ss)
  281                                      );
  282                                      
  283                    serv ices.add(
  284                                      new Prov iderServic e(
  285                                               this, 
  286                                               DurableQue ueDataSour ceSpi.clas s,
  287                                               VistaImagi ngDurableQ ueueDataSo urceServic e.SUPPORTE D_PROTOCOL ,
  288                                               1.0F,
  289                                               VistaImagi ngDurableQ ueueDataSo urceServic e.class)
  290                                      );
  291                                      
  292                    serv ices.add(
  293                                      new Prov iderServic e(
  294                                               this, 
  295                                               ServiceReg istrationD ataSourceS pi.class,
  296                                               VistaImagi ngServiceR egistratio nDataSourc eService.S UPPORTED_P ROTOCOL,
  297                                               1.0F,
  298                                               VistaImagi ngServiceR egistratio nDataSourc eService.c lass)
  299                                      );
  300                                      
  301                    serv ices.add(
  302                                      new Prov iderServic e(
  303                                               this, 
  304                                               VeinsDataS ourceSpi.c lass,
  305                                               VistaImagi ngVeinsDat aSourceSer vice.SUPPO RTED_PROTO COL,
  306                                               1.0F,
  307                                               VistaImagi ngVeinsDat aSourceSer vice.class )
  308                                      );
  309                                      
  310                    /*
  311                     //  no longer  supported  by Patch 1 04
  312                    serv ices.add(
  313                             new Pr oviderServ ice(
  314                                      this, 
  315                                      VistaRad DataSource Spi.class,
  316                                      Abstract BaseVistaI magingVist aRadServic e.SUPPORTE D_PROTOCOL ,
  317                                      0.9F,
  318                                      VistaIma gingVistaR adDataSour ceServiceV 0.class)
  319                             );
  320                             */
  321                    
  322                    serv ices.add(
  323                             new Pr oviderServ ice(
  324                                      this, 
  325                                      VistaRad DataSource Spi.class,
  326                                      VistaIma gingVistaR adDataSour ceService. SUPPORTED_ PROTOCOL,
  327                                      1.0F,
  328                                      VistaIma gingVistaR adDataSour ceService. class)
  329                             );
  330                    /*
  331                     //  no longer  supported  by Patch 1 04
  332                    serv ices.add(
  333                             new Pr oviderServ ice(
  334                                      this, 
  335                                      VistaRad ImageDataS ourceSpi.c lass,
  336                                      Abstract BaseVistaR adImageDat aSourceSer vice.SUPPO RTED_PROTO COL,
  337                                      0.9F,
  338                                      VistaIma gingVistaR adImageDat aSourceSer viceV0.cla ss)
  339                             );
  340                    */
  341                    serv ices.add(
  342                             new Pr oviderServ ice(
  343                                      this, 
  344                                      VistaRad ImageDataS ourceSpi.c lass,
  345                                      Abstract BaseVistaR adImageDat aSourceSer vice.SUPPO RTED_PROTO COL,
  346                                      1.0F,
  347                                      VistaIma gingVistaR adImageDat aSourceSer viceV1.cla ss)
  348                    );
  349                    serv ices.add(
  350                             new Pr oviderServ ice(
  351                                      this, 
  352                                      VistaRad ImageDataS ourceSpi.c lass,
  353                                      VistaIma gingVistaR adImageDat aSourceSer viceV2.SUP PORTED_PRO TOCOL,
  354                                      2.0F,
  355                                      VistaIma gingVistaR adImageDat aSourceSer viceV2.cla ss)
  356                    );
  357                    serv ices.add(
  358                             new Pr oviderServ ice(
  359                                      this, 
  360                                      VistaRad ImageDataS ourceSpi.c lass,
  361                                      VistaIma gingVistaR adImageDat aSourceSer viceV3.SUP PORTED_PRO TOCOL,
  362                                      3.0F,
  363                                      VistaIma gingVistaR adImageDat aSourceSer viceV3.cla ss)
  364                    );
  365                    
  366                    serv ices.add(
  367                             new Pr oviderServ ice(
  368                                      this, 
  369                                      External PackageDat aSourceSpi .class,
  370                                      Abstract BaseVistaI magingExte rnalPackag eDataSourc eService.S UPPORTED_P ROTOCOL,
  371                                      0.9F,
  372                                      VistaIma gingExtern alPackageD ataSourceS erviceV0.c lass)
  373                             );
  374                    
  375                    serv ices.add(
  376                             new Pr oviderServ ice(
  377                                      this, 
  378                                      External PackageDat aSourceSpi .class,
  379                                      Abstract BaseVistaI magingExte rnalPackag eDataSourc eService.S UPPORTED_P ROTOCOL,
  380                                      1.0F,
  381                                      VistaIma gingExtern alPackageD ataSourceS ervice.cla ss)
  382                             );
  383                    serv ices.add(
  384                             new Pr oviderServ ice(
  385                                      this, 
  386                                      External PackageDat aSourceSpi .class,
  387                                      Abstract BaseVistaI magingExte rnalPackag eDataSourc eService.S UPPORTED_P ROTOCOL,
  388                                      2.0F,
  389                                      VistaIma gingExtern alPackageD ataSourceS erviceV2.c lass)
  390                             );                        
  391                    serv ices.add(
  392                             new Pr oviderServ ice(
  393                                      this, 
  394                                      External PackageDat aSourceSpi .class,
  395                                      Abstract BaseVistaI magingExte rnalPackag eDataSourc eService.S UPPORTED_P ROTOCOL,
  396                                      3.0F,
  397                                      VistaIma gingExtern alPackageD ataSourceS erviceV3.c lass)
  398                             );                        
  399                    serv ices.add(
  400                             new Pr oviderServ ice(
  401                                      this, 
  402                                      External PackageDat aSourceSpi .class,
  403                                      Abstract BaseVistaI magingExte rnalPackag eDataSourc eService.S UPPORTED_P ROTOCOL,
  404                                      4.0F,
  405                                      VistaIma gingExtern alPackageD ataSourceS erviceV4.c lass)
  406                             );                        
  407                    serv ices.add(
  408                             new Pr oviderServ ice(
  409                                      this, 
  410                                      External PackageDat aSourceSpi .class,
  411                                      Abstract BaseVistaI magingExte rnalPackag eDataSourc eService.S UPPORTED_P ROTOCOL,
  412                                      5.0F,
  413                                      VistaIma gingExtern alPackageD ataSourceS erviceV5.c lass)
  414                             );                        
  415                    serv ices.add(
  416                             new Pr oviderServ ice(
  417                                      this, 
  418                                      External PackageDat aSourceSpi .class,
  419                                      Abstract BaseVistaI magingExte rnalPackag eDataSourc eService.S UPPORTED_P ROTOCOL,
  420                                      6.0F,
  421                                      VistaIma gingExtern alPackageD ataSourceS erviceV6.c lass)
  422                             );                        
  423  
  424                    // d ocument se t and docu ment binar y data sou rce servic es
  425                    serv ices.add(
  426                             new Pr oviderServ ice(
  427                                      this, 
  428                                      Document SetDataSou rceSpi.cla ss,
  429                                      VistaIma gingStudyG raphDataSo urceServic e.SUPPORTE D_PROTOCOL ,
  430                                      1.0F,
  431                                      VistaIma gingDocume ntSetDataS ourceServi ce.class)
  432                             );
  433                    serv ices.add(
  434                             new Pr oviderServ ice(
  435                                      this, 
  436                                      Document DataSource Spi.class,
  437                                      VistaIma geDataSour ceService. SUPPORTED_ PROTOCOL,
  438                                      1.0F,
  439                                      VistaIma gingDocume ntDataSour ceService. class)
  440                             );
  441                    serv ices.add(
  442                             new Pr oviderServ ice(
  443                                      this, 
  444                                      Passthro ughDataSou rceSpi.cla ss,
  445                                      VistaIma gingPassth roughDataS ourceServi ce.SUPPORT ED_PROTOCO L,
  446                                      1.0F,
  447                                      VistaIma gingPassth roughDataS ourceServi ce.class)
  448                             );
  449                    serv ices.add(
  450                             new Pr oviderServ ice(
  451                                      this, 
  452                                      UserAuth orizationD ataSourceS pi.class,
  453                                      VistaIma gingUserAu thorizatio nDataSourc eService.S UPPORTED_P ROTOCOL,
  454                                      1.0F,
  455                                      VistaIma gingUserAu thorizatio nDataSourc eService.c lass)
  456                             );
  457                    serv ices.add(
  458                                      new Prov iderServic e(
  459                                               this,
  460                                               PatientArt ifactDataS ourceSpi.c lass,
  461                                               VistaImagi ngStudyGra phDataSour ceService. SUPPORTED_ PROTOCOL,
  462                                               4.0F,
  463                                               VistaImagi ngPatientA rtifactDat aSourceSer viceV4.cla ss)
  464                                      );
  465                    serv ices.add(
  466                                      new Prov iderServic e(
  467                                               this,
  468                                               PatientArt ifactDataS ourceSpi.c lass,
  469                                               VistaImagi ngStudyGra phDataSour ceService. SUPPORTED_ PROTOCOL,
  470                                               3.0F,
  471                                               VistaImagi ngPatientA rtifactDat aSourceSer viceV3.cla ss)
  472                                      );
  473                    serv ices.add(
  474                             new Pr oviderServ ice(
  475                                      this,
  476                                      PatientA rtifactDat aSourceSpi .class,
  477                                      VistaIma gingStudyG raphDataSo urceServic e.SUPPORTE D_PROTOCOL ,
  478                                      2.0F,
  479                                      VistaIma gingPatien tArtifactD ataSourceS erviceV2.c lass)
  480                             );
  481                    serv ices.add(
  482                             new Pr oviderServ ice(
  483                                      this,
  484                                      PatientA rtifactDat aSourceSpi .class,
  485                                      VistaIma gingStudyG raphDataSo urceServic e.SUPPORTE D_PROTOCOL ,
  486                                      1.0F,
  487                                      VistaIma gingPatien tArtifactD ataSourceS erviceV1.c lass)
  488                             );
  489                    serv ices.add(
  490                                      new Prov iderServic e(
  491                                               this, 
  492                                               EventLoggi ngDataSour ceSpi.clas s,
  493                                               VistaImagi ngEventLog gingDataSo urceServic e.SUPPORTE D_PROTOCOL ,
  494                                               1.0F,
  495                                               VistaImagi ngEventLog gingDataSo urceServic e.class)
  496                                      );
  497                    serv ices.add(
  498                                      new Prov iderServic e(
  499                                               this,
  500                                               UserDataSo urceSpi.cl ass,
  501                                               VistaImagi ngUserData SourceServ ice.SUPPOR TED_PROTOC OL,
  502                                               1.0F,
  503                                               VistaImagi ngUserData SourceServ ice.class)
  504                                      );               
  505                    serv ices.add(
  506                                      new Prov iderServic e(
  507                                               this,
  508                                               VistaRadDa taSourceSp i.class,
  509                                               VistaImagi ngVistaRad DataSource ServiceV2. SUPPORTED_ PROTOCOL,
  510                                               2.0F,
  511                                               VistaImagi ngVistaRad DataSource ServiceV2. class)
  512                                      );
  513                    serv ices.add(
  514                                      new Prov iderServic e(
  515                                               this,
  516                                               VistaRadDa taSourceSp i.class,
  517                                               VistaImagi ngVistaRad DataSource ServiceV3. SUPPORTED_ PROTOCOL,
  518                                               3.0F,
  519                                               VistaImagi ngVistaRad DataSource ServiceV3. class)
  520                                      );
  521                    serv ices.add(
  522                                      new Prov iderServic e(
  523                                               this,
  524                                               SiteDataSo urceSpi.cl ass,
  525                                               VistaImagi ngSiteData SourceServ ice.SUPPOR TED_PROTOC OL,
  526                                               1.0F,
  527                                               VistaImagi ngSiteData SourceServ ice.class)
  528                                      );
  529                    serv ices.add(
  530                                      new Prov iderServic e(
  531                                               this,
  532                                               UserDataSo urceSpi.cl ass,
  533                                               VistaImagi ngUserData SourceServ iceV2.SUPP ORTED_PROT OCOL,
  534                                               2.0F,
  535                                               VistaImagi ngUserData SourceServ iceV2.clas s)
  536                                      );
  537                    serv ices.add(
  538                                      new Prov iderServic e(
  539                                               this, 
  540                                               PatientDat aSourceSpi .class,
  541                                               VistaImagi ngPatientD ataSourceS erviceV2.S UPPORTED_P ROTOCOL,
  542                                               2.0F,
  543                                               VistaImagi ngPatientD ataSourceS erviceV2.c lass)
  544                             );
  545                    serv ices.add(
  546                             new Pr oviderServ ice(
  547                                      this, 
  548                                      UserAuth entication Spi.class,
  549                                      VistaIma gingUserAu thenticati onDataSour ceService. SUPPORTED_ PROTOCOL,
  550                                      1.0F,
  551                                      VistaIma gingUserAu thenticati onDataSour ceService. class)
  552                             );
  553                    
  554                             
  555                    // V istaDelega teRedirect or is a "l ocal" serv ice, it ha s no proto col
  556                    // o r protocol  version a nd is inst antiated w ith the nu ll-arg
  557                    // c onstructor
  558                    serv ices.add(
  559                             new Pr oviderServ ice(
  560                                      this, 
  561                                      RoutingO verrideSpi .class,
  562                                      (byte)1,  
  563                                      VistaIma gingDelega teRedirect or.class)
  564                             );
  565                    
  566                    // l oad the Ex changeConf iguration  if it exis ts
  567                    sync hronized(V istaImagin gDataSourc eProvider. class)
  568                {
  569                             try
  570                             {
  571                                      if(vista Configurat ion == nul l)
  572                                               vistaConfi guration =  (VistaIma gingConfig uration)lo adConfigur ation();
  573                             }
  574                             catch( ClassCastE xception c cX)
  575                             {
  576                                      logger.e rror("Unab le to load  configura tion becau se the con figuration  file is i nvalid.",  ccX);
  577                             }
  578                }
  579           }
  580           
  581           /* *
  582            *  
  583            * /
  584           @O verride
  585           pu blic void  storeConfi guration()
  586       {
  587                storeCon figuration (getVistaC onfigurati on());
  588       }
  589           
  590           /* *
  591            *  A package  level met hod for SP I implemen tation to  get the
  592            *  Configura tion.
  593            *  
  594            *  @return
  595            * /
  596           st atic Vista ImagingCon figuration  getVistaC onfigurati on()
  597           {
  598                    if(v istaConfig uration ==  null)
  599                             logger .error("Vi staConfigu ration is  null, poss ibly calle d before V istaDataSo urceProvid er was ins tantiated. ");
  600                    
  601                    retu rn vistaCo nfiguratio n;
  602           }
  603  
  604           @O verride
  605           pu blic Sorte dSet<Provi derService > getServi ces()
  606           {
  607                    retu rn Collect ions.unmod ifiableSor tedSet(ser vices);
  608           }
  609           
  610           pu blic stati c void mai n(String [ ] args)
  611           {
  612                    Syst em.out.pri ntln("Crea ting vista  datasourc e configur ation file ");              
  613                    Vist aImagingCo nfiguratio n vistaCon figuration  = VistaIm agingConfi guration.c reateDefau ltConfigur ation();           
  614                    Vist aImagingDa taSourcePr ovider pro vider = ne w VistaIma gingDataSo urceProvid er(vistaCo nfiguratio n);
  615                    prov ider.store Configurat ion();
  616                    Syst em.out.pri ntln("Conf iguration  file saved  to '" + p rovider.ge tConfigura tionFileNa me() + "'. ");
  617           }
  618   }