74. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/18/2017 5:22:16 PM Eastern 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.

74.1 Files compared

# Location File Last Modified
1 Caregivers-Title_1.zip\docroot\WEB-INF\src\gov\va\caret\security CAction.java Mon Apr 17 14:03:08 2017 UTC
2 Caregivers-Title_1.zip\docroot\WEB-INF\src\gov\va\caret\security CAction.java Tue Apr 18 16:34:22 2017 UTC

74.2 Comparison summary

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

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

74.4 Active regular expressions

No regular expressions were active.

74.5 Comparison detail

  1   package go v.va.caret .security;
  2  
  3   import com .liferay.p ortal.kern el.excepti on.PortalE xception;
  4   import com .liferay.p ortal.kern el.excepti on.SystemE xception;
  5   import com .liferay.p ortal.kern el.util.St ringPool;
  6   import com .liferay.p ortal.kern el.util.We bKeys;
  7   import com .liferay.p ortal.secu rity.permi ssion.Perm issionChec ker;
  8   import com .liferay.p ortal.serv ice.permis sion.Portl etPermissi onUtil;
  9   import com .liferay.p ortal.them e.ThemeDis play;
  10   import com .liferay.p ortal.util .PortalUti l;
  11  
  12   import gov .va.caret. controller .dashboard .config.On lineDashbo ardConfig;
  13   import gov .va.caret. util.Caret StrPool;
  14  
  15   import jav a.util.Arr ays;
  16   import jav a.util.Col lection;
  17  
  18   import jav ax.portlet .PortletRe quest;
  19  
  20   public cla ss CAction  {
  21  
  22           pu blic stati c final St ring VIEW  = "VIEW";
  23           
  24           // Role subty pes------- ---------- ------
  25           pu blic stati c final St ring CARET  = "CareT" ;
  26           pu blic stati c final St ring CARET _ONLINE =  "Caret-Onl ine";
  27  
  28           pu blic stati c final St ring ACTIO N = "actio n.";
  29           pu blic stati c final St ring CARET _PORTLET =  "caret_WA R_caretpor tlet";
  30           
  31           pu blic stati c final St ring SCOPE _DASHBOARD       = "g ov.va.care t.controll er.dashboa rd.config. Dashboard" ;
  32           pu blic stati c final St ring SCOPE _DASHBD_QS   = "gov.v a.caret.vi ew.Generic Report";
  33           pu blic stati c final St ring SCOPE _CALLS           = "g ov.va.care t.model.Ca ll";
  34           pu blic stati c final St ring SCOPE _APPLICATI ONS="gov.v a.caret.mo del.VcgAn" ;
  35           pu blic stati c final St ring SCOPE _VCGS            = "g ov.va.care t.model.Vc g";
  36           pu blic stati c final St ring SCOPE _MESSAGES        = "g ov.va.care t.model.PM Message";
  37           pu blic stati c final St ring SCOPE _UI_EXTRAS       = "g ov.va.care t.view.Ext ras";
  38  
  39  
  40           pu blic enum  CaretCan {
  41                    
  42                    VIEW ,
  43                    IMPE RSONATE_RO LE,
  44                    VIEW _VETERANS,
  45                    VIEW _VENDORS, 
  46                    CREA TE_VENDORS
  47                    //-- ---------- ---------- ---------- ---------- ---------
  48                    
  49                    
  50                    //-- ---------  Dashboards  --------- ---------- -
  51                    CBOP C_FUNCTION (SCOPE_DAS HBOARD),
  52                    CBOP CFM_FUNCTI ON(SCOPE_D ASHBOARD),
  53                    CSC_ FUNCTION(S COPE_DASHB OARD),
  54                    CSL_ FUNCTION(S COPE_DASHB OARD),
  55                    HEAL TH_FUNCTIO N(SCOPE_DA SHBOARD),
  56                    TECH _FUNCTION( SCOPE_DASH BOARD),
  57                     DNS  _FUNCTION( SCOPE_DASH BOARD),
  58                    //-- ---------- ---------- ---------- ---------- ---------
  59                    
  60                    
  61                    //-- ---------  Queues --- ---------- -------
  62                    CBOP C_REVIEW_Q (SCOPE_DAS HBD_QS),
  63                    CBOP C_VENDOR_Q (SCOPE_DAS HBD_QS),
  64                    CBOP C_VERIFY_Q (SCOPE_DAS HBD_QS),
  65                    CBOP C_CONSIDER _Q(SCOPE_D ASHBD_QS),
  66                    CBOP C_LOST_CK_ Q(SCOPE_DA SHBD_QS),
  67                    CBOP C_REJ_PAY_ Q(SCOPE_DA SHBD_QS),
  68                    CBOP C_DUPL_PAY _Q(SCOPE_D ASHBD_QS),
  69                    CBOP C_SUPERVIS OR_Q(SCOPE _DASHBD_QS ),
  70                    CBOP C_CHAMPVA_ Q(SCOPE_DA SHBD_QS),
  71                    CBOP C_MY_CSC_Q (SCOPE_DAS HBD_QS),
  72                    CBOP C_PRIM_HEA LTH_INS_Q( SCOPE_DASH BD_QS),
  73                    CBOP C_TIER_MOD _Q(SCOPE_D ASHBD_QS),
  74                    CBOP C_PRIM_REI NST_Q(SCOP E_DASHBD_Q S),
  75                    
  76                    VISN _CSC_WAIVE R_Q(SCOPE_ DASHBD_QS) ,
  77                    //-- ---------- ---------- ---------- ---------- ---------
  78                    
  79                    
  80                    //-- ---------  UI Specifi c features  --------- ---------- -
  81                    IDEN TITY_MATCH ING(SCOPE_ UI_EXTRAS) ,
  82                    STIP END_CALCUL ATOR(SCOPE _UI_EXTRAS ),
  83                    CSL_ FAMILY_REL ATIONSHIPS (SCOPE_UI_ EXTRAS),
  84                    LOD_ QA(SCOPE_U I_EXTRAS),
  85                    VIEW _BLS_RATES (SCOPE_UI_ EXTRAS),
  86                    //-- ---------- ---------- ---------- ---------- ---------
  87                    
  88                    //-- ---------  TODO ----- ---------- -----
  89   //               VIEW _PAYMENTS,
  90   //               CREA TE_AD_HOC_ PAYMENTS,
  91   //               STOP _PAYMENTS,
  92   //               FINA NCE_PAYMEN TS,
  93                    //-- ---------- ---------- ---------- ---------- ---------
  94                    
  95                    //-- ---------  Calls and  Referrals  ---------- ----------
  96                    VIEW _CALLS(SCO PE_CALLS),
  97                    CREA TE_CALLS(S COPE_CALLS ),
  98                    DISP OSITION_CA LLS(SCOPE_ CALLS),
  99                    ASSO CIATE_CALL S(SCOPE_CA LLS),
  100                    CREA TE_CALL_TY PE(SCOPE_C ALLS),
  101                    CREA TE_CESP(SC OPE_CALLS) ,
  102                    CREA TE_SOC(SCO PE_CALLS),
  103                    VIEW _REFERRAL( SCOPE_CALL S),
  104                    CREA TE_REFERRA L(SCOPE_CA LLS),
  105                    ASSO CIATE_REFE RRAL(SCOPE _CALLS),
  106                    REFE RRAL_ATTAC HMENT(SCOP E_CALLS),
  107                    //-- ---------- ---------- ---------- ---------- ---------
  108                    
  109                    //-- ---------  Messages - ---------- ---------
  110                    READ _MESSAGES( SCOPE_MESS AGES),
  111                    CREA TE_MESSAGE S(SCOPE_ME SSAGES),
  112                    REPL Y_MESSAGES (SCOPE_MES SAGES),
  113                    INTE RNAL_MESSA GE(SCOPE_M ESSAGES),
  114                    //-- ---------- ---------- ---------- ---------- ---------
  115                    
  116                    //-- ---------  Applicatio ns ------- ---------- ---
  117                    CREA TE_APPLICA TIONS(SCOP E_APPLICAT IONS),
  118                    PROC ESS_APPLIC ATIONS(SCO PE_APPLICA TIONS),
  119                    ASSO CIATE_APPL ICATIONS(S COPE_APPLI CATIONS),
  120                    //-- ---------- ---------- ---------- ---------- ---------
  121                    
  122                    //-- ---------  VCGs ----- ---------- -----
  123                    CREA TE_VCG(SCO PE_VCGS),
  124                    MANA GE_VCG(SCO PE_VCGS),
  125                    DISP OSITION_VC G(SCOPE_VC GS),
  126                    UPDA TE_TIER_LE VEL(SCOPE_ VCGS),
  127                    UPDA TE_ACTIVE_ VCG_ICN(SC OPE_VCGS),
  128                    UPDA TE_ACTIVE_ VCG_ADDRES S(SCOPE_VC GS),
  129                    UPDA TE_ACTIVE_ VCG_INSURA NCE(SCOPE_ VCGS),
  130                    UPDA TE_ACTIVE_ VCG_FACILI TY(SCOPE_V CGS),
  131                    UPDA TE_ACTIVE_ VCG_VETERA N_LNAME(SC OPE_VCGS),
  132                    UPDA TE_ACTIVE_ VCG_VETERA N_FNAME(SC OPE_VCGS),
  133                    UPDA TE_ACTIVE_ VCG_PRIMAR Y_LNAME(SC OPE_VCGS),
  134                    UPDA TE_ACTIVE_ VCG_PRIMAR Y_FNAME(SC OPE_VCGS),
  135                    UPDA TE_ACTIVE_ VCG_CG_LNA ME(SCOPE_V CGS),
  136                    UPDA TE_ACTIVE_ VCG_CG_FNA ME(SCOPE_V CGS),
  137                    UPDA TE_ACTIVE_ VCG_MNAME( SCOPE_VCGS ),
  138                    UPDA TE_ACTIVE_ VCG_GENDER (SCOPE_VCG S),
  139                    UPDA TE_ACTIVE_ VCG_BDAY(S COPE_VCGS) ,
  140                    UPDA TE_ACTIVE_ VCG_SSN(SC OPE_VCGS),
  141                    SET_ GENERAL_CG (SCOPE_VCG S),
  142                    CREA TE_CSC_WAI VER(SCOPE_ VCGS),
  143                     CREATE_ DNS  _WAIVER(SC OPE_VCGS),
  144                    TRAC K_ASSESSME NT(SCOPE_V CGS),
  145                    VIEW _DELETED_D OCS(SCOPE_ VCGS);
  146                    //-- ---------- ---------- ---------- ---------- ---------
  147  
  148                    
  149  
  150                    
  151                    Stri ng scopeNa me;
  152                    Care tCan(){ 
  153                             scopeN ame = CARE T_PORTLET;
  154                    }
  155                    Care tCan(Strin g scope){
  156                             scopeN ame = scop e;
  157                    }
  158                    
  159                    publ ic Collect ion<CaretC an> getCbo pcQues (){
  160                             return  Arrays.as List( new  CaretCan[]  { CaretCa n.CBOPC_RE VIEW_Q,
  161                                               CaretCan.C BOPC_VENDO R_Q,
  162                                               CaretCan.C BOPC_VERIF Y_Q,
  163                                               CaretCan.C BOPC_CONSI DER_Q,
  164                                               CaretCan.C BOPC_LOST_ CK_Q,
  165                                               CaretCan.C BOPC_REJ_P AY_Q,
  166                                               CaretCan.C BOPC_DUPL_ PAY_Q,
  167                                               CaretCan.C BOPC_SUPER VISOR_Q,
  168                                               CaretCan.C BOPC_PRIM_ REINST_Q,
  169                                               CaretCan.C BOPC_MY_CS C_Q,
  170                                               CaretCan.C BOPC_PRIM_ HEALTH_INS _Q,
  171                                               CaretCan.C BOPC_TIER_ MOD_Q,
  172                                               CaretCan.C BOPC_CHAMP VA_Q } );
  173                    }
  174                    
  175                    publ ic String  toString() {
  176                             return  ACTION +  this.name( );
  177                    }
  178           }
  179           
  180           
  181           pu blic enum  OnlineCan  {
  182                    VETE RAN_FUNCTI ON,
  183                    CARE GIVER_FUNC TION,
  184  
  185                    CREA TE_APPLICA TIONS,
  186                    DOWN LOAD_APPLI CATION_PDF ,
  187                    
  188                    VIEW _STIPEND,
  189                    UPLO AD_POA,
  190                    
  191                    SEAR CH_MVI,
  192                    CREA TE_MESSAGE S,
  193                    REPL Y_MESSAGES
  194           }
  195           
  196           pu blic stati c boolean  canDoOnlin e ( Portle tRequest r equest, St ring canDo  ) {
  197                    bool ean ret =  false;
  198                    try  {
  199                             ThemeD isplay the meDisplay  = ( (Theme Display) r equest.get Attribute( WebKeys.TH EME_DISPLA Y) );
  200                             ret =  PortletPer missionUti l.contains (  themeDi splay.getP ermissionC hecker(),  themeDispl ay.getLayo ut(), 
  201                                               PortalUtil .getPortle tId( reque st ), 
  202                                               canDo );
  203                             
  204                    } ca tch (Porta lException  e) {
  205                    } ca tch (Syste mException  e) {
  206                    }
  207   //               _log .info( can Do.name()  + StringPo ol.COLON +  ret );
  208                    retu rn ret;
  209           }
  210           pu blic stati c ThemeDis play getTh emeDisplay  ( Portlet Request re quest ){
  211                    retu rn (ThemeD isplay) re quest.getA ttribute(W ebKeys.THE ME_DISPLAY );
  212           }
  213           pu blic stati c Permissi onChecker  getPermiss ionChecker  ( Portlet Request re quest ){
  214                    retu rn getThem eDisplay(r equest).ge tPermissio nChecker() ;
  215           }
  216           
  217           pu blic stati c boolean  canDoCaret  ( Portlet Request re quest, Car etCan canD o ) {
  218                    retu rn getPerm issionChec ker(reques t).hasPerm ission( ge tThemeDisp lay(reques t).getScop eGroupId() , canDo.sc opeName, S tringPool. AT, canDo. name());
  219           }
  220  
  221           pu blic stati c boolean  canDoCaret  ( Portlet Request re quest, Str ing canDo  ) {
  222                    retu rn canDoCa ret(reques t, CaretCa n.valueOf( canDo) );
  223   //               _log .info( can Do.name()  + StringPo ol.COLON +  ret );
  224           }
  225           
  226           pu blic stati c boolean  canDoCaret  ( Portlet Request re quest, Car etCan canD o, Long gr oupId ) {
  227                    //Po rtalUtil.g ets
  228                    retu rn getPerm issionChec ker(reques t).hasPerm ission(gro upId, canD o.scopeNam e, StringP ool.AT, ca nDo.name() );
  229           }
  230   //      
  231   //      pu blic stati c Map<Stri ng, Boolea n> getMap  ( PortletR equest req uest ) {
  232   //               Map< String, Bo olean> map  = new Car etMap<Stri ng, Boolea n>(false);
  233   //               for  ( CAction. CaretCan c anDo : CAc tion.Caret Can.values () ){
  234   //                        try {
  235   //                                 boolean  ret = Port letPermiss ionUtil.co ntains( 
  236   //                                                  (  (ThemeDisp lay) reque st.getAttr ibute(WebK eys.THEME_ DISPLAY) ) .getPermis sionChecke r(),
  237   //                                                  Po rtalUtil.g etPortletI d( request  ),
  238   //                                                  ca nDo.name()  );
  239   ////                               _log.inf o( canDo.n ame() + St ringPool.C OLON + ret  );
  240   //                                 map.put( canDo.name (), ret);
  241   //                        } catc h (PortalE xception e ) {
  242   //                        } catc h (SystemE xception e ) {
  243   //                        }
  244   //               }
  245   //               retu rn map;
  246   //      }
  247  
  248  
  249           pu blic stati c boolean  isOmniAdmi n(PortletR equest req uest) {
  250                    retu rn ( (Them eDisplay)  request.ge tAttribute (WebKeys.T HEME_DISPL AY) ).getP ermissionC hecker().i sOmniadmin ();
  251           }
  252           
  253           pu blic stati c boolean  canImperso nate(Portl etRequest  request) {
  254                    retu rn canDoCa ret(reques t, CaretCa n.IMPERSON ATE_ROLE.n ame() );
  255           }
  256  
  257           pu blic stati c OnlineDa shboardCon fig loadOn lineRoleId  ( Portlet Request re quest ){
  258                    retu rn setOnli neRoleCont ext( reque st, null ) ;
  259           }
  260           
  261           pu blic stati c OnlineDa shboardCon fig setOnl ineRoleCon text ( Por tletReques t request,  OnlineDas hboardConf ig useRole  ){
  262                    if (  useRole = = null ){
  263                             Online DashboardC onfig onli neDashboar dConfig = 
  264                                               ( OnlineDa shboardCon fig ) requ est.getPor tletSessio n().getAtt ribute( Ca retStrPool .ONLINE_DA SHBOARD_CO NFIG );
  265                             if ( o nlineDashb oardConfig  == null ) {
  266                                      for ( On lineDashbo ardConfig  onlineDash Config : O nlineDashb oardConfig .values()  ){
  267                                               if ( canDo Online( re quest, onl ineDashCon fig.name()  ) ){
  268                                                       re quest.getP ortletSess ion().setA ttribute(  CaretStrPo ol.ONLINE_ DASHBOARD_ CONFIG, on lineDashCo nfig);
  269                                                       re turn onlin eDashConfi g;
  270                                               }
  271                                      }
  272                                      return n ull;
  273                             }
  274                             return  onlineDas hboardConf ig;
  275                    } el se {
  276                             if (   canDoOnlin e( request , useRole. name() ) ) {
  277                                      request. getPortlet Session(). setAttribu te( CaretS trPool.ONL INE_DASHBO ARD_CONFIG , useRole) ;
  278                                      return u seRole;
  279                             }
  280                             return  null;
  281                    }
  282           }
  283           
  284   }