# DCeppm.cfg: Collects Primavera Enterprise Project Portfolio Management Info # $Id: DCeppm.cfg,v 1.1 2015/07/31 14:42:25 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/PGBU/DCeppm.cfg,v 1.1 2015/07/31 14:42:25 RDA Exp $ # # Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. # # Change history # 20150727 KRA Initial version. ############################################################################### # Collect Primavera Enterprise Project Portfolio Management setup information ############################################################################### #------------------------------------------------------------------------------ # Module definition #------------------------------------------------------------------------------ col=${B_IN_USE} dsc='Collects Primavera Enterprise Project Portfolio Management Information' man='Applies to Primavera Enterprise Project Portfolio Management P6 and later' pre=RDA:DCbegin req=?B_REQ_WREQ:OFM:DCwreq,?B_REQ_WSP:OFM:DCwsp rpt=B_IN_USE trg=?B_REQ_WREQ:OFM:DCwreq,?B_REQ_WSP:OFM:DCwsp use=Xml var=not_used # Flow:in_use,B_IN_USE exe=sdcl { "var @{AUX.var} = (cond(${PRF.B_TESTS},'in_use','B_IN_USE')) " "macro is_valid_home "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified Primavera Enterprise Project Portfolio Management home \ " directory does not exist.' " require isAbsolute($dir),\ " 'The specified Primavera Enterprise Project Portfolio Management home \ " directory is not an absolute path.' " require or(\ " match(getProductName($dir),'Enterprise Project Portfolio Management',true),\ " defined(testFile('f',catFile($dir,'p6',${AS.CMD:'eppmconfig'})))),\ " 'The specified Primavera Enterprise Project Portfolio Management home \ " directory does not contain some Primavera Enterprise Project Portfolio \ " Management installation related-files. Without a valid directory, the \ " collection will be disabled.' " var ${AUX.nam} = $nam " return true "} " "macro is_valid_domain "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified WebLogic Server domain directory does not exist.' " require isAbsolute($dir),\ " 'The specified WebLogic Server domain directory is not an absolute path.' " require grepFile(catFile($dir,'config','config.xml'),\ " '^'Oracle WebLogic Server',\ WSP=>'IBM WebSphere Server'] val=F var=WLS:D_DOMAIN_HOME:\ WSP:require_wsp [require_wsp] typ=B dft=true dsc='Does EPPM require WSP collection?' nam=B_REQ_WSP #------------------------------------------------------------------------------ # Setting definitions for Oracle WebLogic Server #------------------------------------------------------------------------------ [D_DOMAIN_HOME] typ=D dsc='Oracle WebLogic Server domain home' fmt='<',scalar(@dir = splitDir($dir)),1) "{loop $srv (findDir(catDir($dir,'servers'),'^[^\.]+$','n')) " {if ?testDir('d',catDir($dir,'servers',$srv,'logs')) " call push(@itm,$srv,$srv) " } " var ${T_TMP_NAM/T} = $nam = pop(@dir) " var @{T_TMP_ITM/T} = @itm " if ${PRF/N_OFM_LEVEL} " {var $cnt = scalar(@itm) " if or(expr('==',$cnt,2),\ " and(expr('==',$cnt,4),grep(@itm,'^AdminServer','if'))) " {var ${AUX.lvl} = ${PRF/N_OFM_LEVEL} " call unshift(@{AUX.W_NEXT},'server_comment') " } " else " var ${AUX.bef} = "\nServer list for '${T_TMP_NAM}' - domain home \ " (in ${CTX.D_DOMAIN_HOME}):\n\ " Two or more managed servers have been discovered." " } " var ${I_DOMAIN:'Target associated with the domain'} = \ " nvl(findItem('DOM','D_DOMAIN_HOME',getShortPath($dir,true)),\ " defineTarget('DOM',{D_DOMAIN_ROOT=>$top = catNative(@dir,''),\ " T_DOMAIN_NAME=>$nam,\ " T_TITLE=>"Domain ${VAR.nam} (in ${VAR.top})"})) " var ${T_TOP_FOCUS:\ " 'Focus areas for Oracle WebLogic Server Middleware collection'} = \ " 'Generic' " var ${T_DOM_FOCUS:\ " 'Focus areas for Oracle WebLogic Server domain collection'} = \ " 'ExtSnmCfg,MinDomCfg,MinSrvCfg,NodDomCfg,NodDomLog,SrvErr,SrvJvm,\ " WlstOff,WlstOffSum' " var ${CTX.B_REQ_WREQ:\ " 'Does EPPM require Oracle WebLogic request handler collection?'} = true "} } [server_comment] typ=C def='./WREQ_PGBU_EPPM_DOM' dsc='Report RDA has determined the server(s) to collect' inp="\nServer list for '${T_TMP_NAM}' - domain home (in ${CTX.D_DOMAIN_HOME}):\ \nWhen RDA discovers only one managed server and/or an AdminServer, \ server list selection is suppressed.\n\ RDA will target the server(s):\n\ ${T_TMP_SERVERS}" # stopwords AdminServer vis=false exe=sdcl { "var ($cnt,$str) = (0) "loop $srv (@{T_SERVERS}) " var $str = join("\n",$str,sprintf(" %d %s",incr($cnt),$srv)) "var ${T_TMP_SERVERS/T} = $str } #------------------------------------------------------------------------------ # Other settings #------------------------------------------------------------------------------ [B_DB_AUTO] typ=B dft=true dsc='Do you want RDA to get the database connection details automatically?' inp='Do you want RDA to get the database connection details \ automatically (Y/N)?' lvl=6 var=true:T_DB_USER,set_target:\ I_DB [T_DB_USER] typ=T dsc='User to connect to Primavera database' inp='Enter an database user identifier (user name only) to view information \ from the Primavera database' exe=sdcl { "if ${T_DB_USER/M} "{var ($DS,$usr) = () " keep $DS " if ?testFile('r',catFile(${D_HOME},'p6','BREBootStrap.xml')) " {var $obj = xmlLoadFile(last,xmlDisable(xmlParser(),'BCDEPR')) " if xmlFind($obj,'BootStrap/Database') " {var ($drv) = last " var $usr = $drv->find('UserName')->get_data " var $DS = concat($drv->find('Driver')->get_data,'|',\ " $drv->find('URL')->get_data) " } " } " var ${AUX.dft} = $usr "} } [set_target] typ=B dsc='Determine the query target' nam=- exe=sdcl { "var $ttl = 'PGBU.EPPM queries' "if findItem('DQ',{B_DEDICATED=>true,\ " T_TITLE=>$ttl}) " var $db = defineTarget(last,{T_SOURCE=>$DS,\ " T_TYPE=>'JDBC',\ " T_USER=>${T_DB_USER}}) "else " var $db = defineTarget('DQ',{B_DEDICATED=>true,\ " T_SOURCE=>$DS,\ " T_TITLE=>$ttl,\ " T_TYPE=>'JDBC',\ " T_USER=>${T_DB_USER}}) "var ${I_DB:'Database to analyze'} = $db } [I_DB] typ=I cls='DQ' dft=${SET.DB.DB.I_DB} dsc='Database to analyze' exe=sdcl { "var ${RUN.CLASS.DQ.T_TYPE} = 'JDBC' }