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

9.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 DicomAE.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 DicomAE.java Tue Mar 19 12:03:26 2019 UTC

9.2 Comparison summary

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

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

9.4 Active regular expressions

No regular expressions were active.

9.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: Apri l 13, 2006
  6     Site Nam e:  Washin gton OI Fi eld Office , Silver S pring, MD
  7       Developer:     DN S      TITTOC
  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  
  27   package go v.va.med.i maging.exc hange.busi ness.dicom ;
  28  
  29   import gov .va.med.im aging.exch ange.busin ess.Persis tentEntity ;
  30  
  31   import jav a.io.Seria lizable;
  32   import jav a.util.Arr ayList;
  33   import jav a.util.Ite rator;
  34   import jav a.util.Has htable;
  35   import org .apache.lo gging.log4 j.LogManag er;
  36   import org .apache.lo gging.log4 j.Logger;
  37  
  38   /**
  39    * Core Va lue Object  class tha t contains  informati on about a  DICOM App lication E ntity.
  40    * This is  based on  the AE Sec urity Matr ix created  in the Da ta Source.   This is  used to
  41    * determi ne the per missions a nd flags a ssigned to  a specifi c Applicat ion Entity .
  42    * 
  43    * @author  Csaba Tit ton
  44    *
  45    */
  46   public cla ss DicomAE  implement s Persiste ntEntity,  Serializab le
  47   {
  48           pr ivate stat ic final l ong serial VersionUID  = 4088963 8714603108 56L;
  49           //  Fields
  50           pr ivate int  id;
  51           pr ivate Stri ng applica tionName =  null;           // m ax 128 cha r.: Unique  (descript ive) DICOM  Applicati on Name
  52           pr ivate Stri ng remoteA ETitle = n ull;             // m ax  16 cha r.: DICOM  Applicatio n Entity T itle (uniq ue per loc al applica tion insta nce)
  53           pr ivate Stri ng localAE Title = nu ll;
  54           pr ivate Stri ng hostNam e = null;                   // m ax  32 cha r.: the no de this AE  resides o n (needed  for remote  SCPs only )
  55           pr ivate Stri ng port =  null;                                // max   10 char. : Port num ber of AE  (needed fo r remote S CPs only)
  56           pr ivate Stri ng siteNum ber = null ;                         // INS TITUTION f ile IEN of  the site  location w here host  of applica tion resid e
  57           
  58           pr ivate bool ean forceR econciliat ion=false;       
  59           pr ivate Stri ng originI ndex = nul l;
  60           
  61           pr ivate bool ean reject Message =  true;            // t o remote A E on Store  SCP IOD v alidation  (default=t rue)
  62           pr ivate bool ean warnin gMessage =  true;           // t o remote A E on dupli cate/illeg al UID (de fault=true )
  63           pr ivate bool ean valida teIODs = t rue;             // i f true, va lidation w ill be per formed
  64           pr ivate bool ean relaxV alidation  = false;         // i f true, mi nimum vali dation is  enough for  incoming  objects to  pass vali dation
  65           pr ivate bool ean resour ceError =  true;            // t o remote A E on DB, d evice. etc . access e rror (defa ult=true)
  66           pr ivate Arra yList<Serv iceAndRole Pair> serv ices = nul l;
  67           pr ivate Stri ng imaging Service =  null;
  68  
  69           // private St ring enabl ed;                         // m ax   3 cha r.: ('Y',  'N')
  70           pr ivate int  resultCode  = 0;
  71           pr ivate Stri ng resultM essage = n ull;
  72           pr ivate bool ean remote AEValid =  false;
  73           pr ivate Stri ng studyAs sociation  = null;//  max   8 ch ar.: 'PSPA ', 'CSPA',  'UNKOWN'  (for remot e C-STORE  SCUs only)
  74           pr ivate int  studyTimeo utSeconds  = 180;// m ax  5 digi ts
  75  
  76           pr ivate int  dicomNResp onseDelay  = 24*3600; // one day  in second s
  77           pr ivate int  dicomNRetr iesLeft =  3;// this  many as de fault retr ies with S C periodic  command w ake-up del ay
  78  
  79           pr ivate stat ic Logger  logger = L ogManager. getLogger  (DicomAE.c lass);
  80  
  81           pu blic enum  searchMode {REMOTE_AE , APP_NAME , SERVICE_ AND_ROLE};
  82           
  83           pr ivate sear chMode fin dMode = se archMode.R EMOTE_AE;
  84           
  85           /* *
  86            *  Explicit  default co nstructor  that is re quired bec ause of th e Dicom(UR I) constru ctor. 
  87            * /
  88           pu blic Dicom AE()
  89           {
  90                    supe r();
  91           }
  92  
  93           pu blic Dicom AE(String  aeTitle, S tring site Number){
  94                    this .remoteAET itle = aeT itle;
  95                    this .siteNumbe r = siteNu mber;
  96           }
  97  
  98           /* *
  99            *  
  100            *  @return R eturns the  aETitle.
  101            * /
  102           pu blic Strin g getAppli cationName () {
  103                    retu rn applica tionName;
  104           }
  105           /* *
  106            *  @param ti tle The ap pName to s et.
  107            * /
  108           pu blic void  setApplica tionName(S tring appl icationNam e) {
  109                    this .applicati onName = a pplication Name;
  110           }
  111           
  112           /* *
  113            *  
  114            *  @return R eturns the  remoteAET itle.
  115            * /
  116           pu blic Strin g getRemot eAETitle()  {
  117                    retu rn remoteA ETitle;
  118           }
  119           /* *
  120            *  @param ti tle The re moteAETitl e to set.
  121            * /
  122           pu blic void  setRemoteA ETitle(Str ing title)  {
  123                    this .remoteAET itle = tit le;
  124           }
  125           
  126           
  127           /* *
  128            *  
  129            *  @return R eturns the  hostName.
  130            * /
  131           pu blic Strin g getHostN ame() {
  132                    retu rn hostNam e;
  133           }
  134           /* *
  135            *  @param ho stName The  hostName  to set.
  136            * /
  137           pu blic void  setHostNam e(String h ostName) {
  138                    this .hostName  = hostName ;
  139           }
  140           
  141           /* *
  142            *  
  143            *  @return R eturns the  port.
  144            * /
  145           pu blic Strin g getPort( ) {
  146                    retu rn port;
  147           }
  148           /* *
  149            *  @param po rt The por t to set.
  150            * /
  151           pu blic void  setPort(St ring port)  {
  152                    this .port = po rt;
  153           }
  154           
  155           /* *
  156            *  
  157            *  @return R eturns the  studyAsso ciation.
  158            * /
  159           pu blic Strin g getStudy Associatio n() {
  160                    retu rn studyAs sociation;
  161           }
  162           /* *
  163            *  @param st udyAssocia tion The s tudyAssoci ation to s et.
  164            * /
  165           pu blic void  setStudyAs sociation( String stu dyAssociat ion) {
  166                    this .studyAsso ciation =  studyAssoc iation;
  167           }
  168           
  169           /* *
  170            *  
  171            *  @return R eturns the  studyTime outSeconds .
  172            * /
  173           pu blic int g etStudyTim eoutSecond s() {
  174                    retu rn studyTi meoutSecon ds;
  175           }
  176           /* *
  177            *  @param st udyTimeout Seconds Th e studyTim eoutSecond s to set.
  178            * /
  179           pu blic void  setStudyTi meoutSecon ds(int stu dyTimeoutS econds) {
  180                    this .studyTime outSeconds  = studyTi meoutSecon ds;
  181           }
  182                    
  183           /* *
  184            *  @return t he locatio n
  185            * /
  186           pu blic Strin g getSiteN umber() {
  187                    retu rn this.si teNumber;
  188           }
  189           /* *
  190            *  @param lo cation the  location  to set
  191            * /
  192           pu blic void  setSiteNum ber(String  siteNumbe r) {
  193                    this .siteNumbe r = siteNu mber;
  194           }
  195  
  196           /* *
  197            *  @return t he id
  198            * /
  199           pu blic int g etId() {
  200                    retu rn id;
  201           }
  202  
  203           /* *
  204            *  @param id  the id to  set
  205            * /
  206           pu blic void  setId(int  id) {
  207                    this .id = id;
  208           }
  209  
  210           /* *
  211            *  @return t he resultC ode
  212            * /
  213           pu blic int g etResultCo de() {
  214                    retu rn resultC ode;
  215           }
  216  
  217           /* *
  218            *  @param re sultCode t he resultC ode to set
  219            * /
  220           pu blic void  setResultC ode(int re sultCode)  {
  221                    this .resultCod e = result Code;
  222                    if(r esultCode  > -1){
  223                             this.s etRemoteAE Valid(true );
  224                    }
  225                    else {
  226                             this.s etRemoteAE Valid(fals e);
  227                    }
  228           }
  229  
  230           /* *
  231            *  @return t he resultM essage
  232            * /
  233           pu blic Strin g getResul tMessage()  {
  234                    retu rn resultM essage;
  235           }
  236  
  237           /* *
  238            *  @param re sultMessag e the resu ltMessage  to set
  239            * /
  240           pu blic void  setResultM essage(Str ing result Message) {
  241                    this .resultMes sage = res ultMessage ;
  242           }
  243  
  244           /* *
  245            *  @return t he localAE Title
  246            * /
  247           pu blic Strin g getLocal AETitle()  {
  248                    retu rn localAE Title;
  249           }
  250  
  251           /* *
  252            *  @param lo calAETitle  the local AETitle to  set
  253            * /
  254           pu blic void  setLocalAE Title(Stri ng localAE Title) {
  255                    this .localAETi tle = loca lAETitle;
  256           }
  257  
  258           /* *
  259            *  @return t he remoteA EValid
  260            * /
  261           pu blic boole an isRemot eAEValid()  {
  262                    retu rn remoteA EValid;
  263           }
  264  
  265           /* *
  266            *  @param re moteAEVali d the remo teAEValid  to set
  267            * /
  268           pu blic void  setRemoteA EValid(boo lean remot eAEValid)  {
  269                    this .remoteAEV alid = rem oteAEValid ;
  270           }
  271  
  272           /* *
  273            *  @return t he rejectM essage
  274            * /
  275           pu blic boole an isRejec tMessage()  {
  276                    retu rn rejectM essage;
  277           }
  278  
  279           /* *
  280            *  @param re jectMessag e the reje ctMessage  to set
  281            * /
  282           pu blic void  setRejectM essage(boo lean rejec tMessage)  {
  283                    this .rejectMes sage = rej ectMessage ;
  284           }
  285  
  286           /* *
  287            *  @return t he warning Message
  288            * /
  289           pu blic boole an isWarni ngMessage( ) {
  290                    retu rn warning Message;
  291           }
  292  
  293           /* *
  294            *  @param wa rningMessa ge the war ningMessag e to set
  295            * /
  296           pu blic void  setWarning Message(bo olean warn ingMessage ) {
  297                    this .warningMe ssage = wa rningMessa ge;
  298           }
  299  
  300           /* *
  301            *  @return t he validat eIODs
  302            * /
  303           pu blic boole an isValid ateIODs()  {
  304                    retu rn validat eIODs;
  305           }
  306  
  307           /* *
  308            *  @param va lidateIODs  the valid ateIODs to  set
  309            * /
  310           pu blic void  setValidat eIODs(bool ean valida teIODs) {
  311                    this .validateI ODs = vali dateIODs;
  312           }
  313  
  314           /* *
  315            *  @return t he validat eVRs
  316            * /
  317           pu blic boole an isValid ateVRs() {
  318                    retu rn validat eIODs;
  319           }
  320  
  321           /* *
  322            *  @return t he relaxVa lidation
  323            * /
  324           pu blic boole an isRelax Validation () {
  325                    retu rn relaxVa lidation;
  326           }
  327  
  328           /* *
  329            *  @param re laxValidat ion the re laxValidat ion to set
  330            * /
  331           pu blic void  setRelaxVa lidation(b oolean rel axValidati on) {
  332                    this .relaxVali dation = r elaxValida tion;
  333           }        
  334           
  335           pu blic boole an isServi ceAndRoleV alid(Strin g service,  String ro le){
  336                    if(s ervices ==  null || s ervices.is Empty()){
  337                             logger .error(thi s.getClass ().getName ()+": Ther e are no D ICOM Servi ces assign ed to this  AE.");
  338                             return  false;
  339                    }
  340                    Iter ator<Servi ceAndRoleP air> iter  = this.ser vices.iter ator();
  341                    whil e(iter.has Next()){
  342                             Servic eAndRolePa ir pair =  (ServiceAn dRolePair) iter.next( );
  343                             if(pai r.getServi ce().equal sIgnoreCas e(service)  && pair.g etRole().e qualsIgnor eCase(role )){
  344                                      return t rue;
  345                             }
  346                    }
  347                    retu rn false;            
  348           }
  349           
  350           pu blic void  addAEServi ceAndRole( String ser vice, Stri ng role){
  351                    if(t his.servic es == null ){
  352                             this.s ervices =  new ArrayL ist<Servic eAndRolePa ir>();
  353                    }
  354                    this .services. add(new Se rviceAndRo lePair(ser vice, role ));
  355           }
  356  
  357           /* *
  358            *  @return t he imaging Service
  359            * /
  360           pu blic Strin g getImagi ngService( ) {
  361                    retu rn imaging Service;
  362           }
  363  
  364           /* *
  365            *  @param im agingServi ce the ima gingServic e to set
  366            * /
  367           pu blic void  setImaging Service(St ring imagi ngService)  {
  368                    this .imagingSe rvice = im agingServi ce;
  369           }
  370  
  371           /* *
  372            *  @return t he resourc eError
  373            * /
  374           pu blic boole an isResou rceError()  {
  375                    retu rn resourc eError;
  376           }
  377  
  378           /* *
  379            *  @param re sourceErro r the reso urceError  to set
  380            * /
  381           pu blic void  setResourc eError(boo lean resou rceError)  {
  382                    this .resourceE rror = res ourceError ;
  383           }
  384  
  385           pu blic void  setOriginI ndex(Strin g originIn dex) {
  386                    this .originInd ex = origi nIndex;
  387           }
  388  
  389           pu blic Strin g getOrigi nIndex() {
  390                    retu rn originI ndex;
  391           }
  392  
  393           pu blic void  setForceRe conciliati on(boolean  forceReco nciliation ) {
  394                    this .forceReco nciliation  = forceRe conciliati on;
  395           }
  396  
  397           pu blic boole an isForce Reconcilia tion() {
  398                    retu rn forceRe conciliati on;
  399           }
  400  
  401  
  402  
  403           pr ivate clas s ServiceA ndRolePair {
  404                    Stri ng service ;
  405                    Stri ng role;
  406                    
  407                    priv ate Servic eAndRolePa ir(String  service, S tring role ){
  408                             this.s ervice = s ervice;
  409                             this.r ole = role ;
  410                    }
  411                    
  412                    /**
  413                     * @ return the  service
  414                     */
  415                    publ ic String  getService () {
  416                             return  service;
  417                    }
  418                    /**
  419                     * @ return the  role
  420                     */
  421                    publ ic String  getRole()  {
  422                             return  role;
  423                    }                         
  424           }
  425  
  426  
  427           pu blic int g etDicomNRe sponseDela y() {
  428                    retu rn dicomNR esponseDel ay;
  429           }
  430  
  431           pu blic void  setDicomNR esponseDel ay(int dic omNRespons eDelay) {
  432                    this .dicomNRes ponseDelay  = dicomNR esponseDel ay;
  433           }
  434  
  435           pu blic int g etDicomNRe triesLeft( ) {
  436                    retu rn dicomNR etriesLeft ;
  437           }
  438  
  439           pu blic void  setDicomNR etriesLeft (int dicom NRetriesLe ft) {
  440                    this .dicomNRet riesLeft =  dicomNRet riesLeft;
  441           }
  442  
  443           pu blic searc hMode getF indMode()  {
  444                    retu rn findMod e;
  445           }
  446  
  447           pu blic void  setFindMod e(searchMo de findMod e) {
  448                    this .findMode  = findMode ;
  449           }
  450           
  451           pu blic boole an contain sConnectio nData(){
  452                    bool ean contai nsData = t rue;
  453                    
  454                    if(t his.hostNa me == null  || this.h ostName.eq uals(""))
  455                             contai nsData = f alse;
  456                    if(t his.port = = null ||  this.port. equals("") )
  457                             contai nsData = f alse;
  458                    if(t his.remote AETitle ==  null || t his.remote AETitle.eq uals(""))
  459                             contai nsData = f alse;
  460                    if(t his.localA ETitle ==  null || th is.localAE Title.equa ls(""))
  461                             contai nsData = f alse;
  462                    
  463                    
  464                    retu rn contain sData;
  465           }
  466  
  467   }