# DCjdev.cfg: Collects Oracle JDeveloper Information # $Id: DCjdev.cfg,v 1.19 2015/10/28 14:50:05 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/OFM/DCjdev.cfg,v 1.19 2015/10/28 14:50:05 RDA Exp $ # # Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. # # Change history # 20151027 KRA Fix D_DOMAIN_HOME setting validation. ############################################################################### # Collect Oracle JDeveloper setup information ############################################################################### #------------------------------------------------------------------------------ # Module definition #------------------------------------------------------------------------------ col=${B_IN_USE} dsc='Collects Oracle JDeveloper Information' pre=OFM:DCinit req=?B_REQ_IREQ:OFM:DCireq,?B_REQ_WREQ:OFM:DCwreq rpt=B_IN_USE tgt=${I_OHC/C} trg=?B_REQ_IREQ:OFM:DCireq,?B_REQ_WREQ:OFM:DCwreq var=not_used # Flow:in_use,B_IN_USE exe=sdcl { "if ${GRP.INIT.I_OH} "{var ${I_OHC/T} = $itm = last " var $ORACLE_HOME = $itm->get_first('D_ORACLE_HOME') " keep $ORACLE_HOME "} "var ${B_REQ_IREQ/T} = undef "var ${B_REQ_WREQ/T} = undef "var @{AUX.var} = (cond(${PRF.B_TESTS},'in_use','B_IN_USE')) " "macro is_valid_app_root "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified applications root directory does not exist.' " require isAbsolute($dir),\ " 'The specified applications root directory is not an absolute path.' " var ${AUX.nam} = $nam " return true "} " "macro is_valid_home "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified JDeveloper home directory does not exist.' " require isAbsolute($dir),\ " 'The specified JDeveloper home directory is not an absolute path.' " require testDir('d',catDir($dir,'jdev')),\ " 'The specified JDeveloper home directory does not contain some Oracle \ " JDeveloper 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'),\ " '^get_first('T_PRODUCT'),'^(Oracle\s)?JDeveloper') " {if ?testDir('d',catDir($ORACLE_HOME,'jdeveloper')) " var ${AUX.dft} = last " else " var ${AUX.dft} = $ORACLE_HOME " } " elsif ?testDir('d',catDir($ORACLE_HOME,'jdeveloper')) " var ${AUX.dft} = lastDir() " elsif ?$dir = testDir('d',\ " cleanPath([$ORACLE_HOME,upDir(),'jdeveloper',''],true)) " var ${AUX.dft} = $dir "} } [set_home_target] typ=I cls='OH' dft=nvl(findItem('OH','D_ORACLE_HOME',${D_HOME}),\ defineTarget('OH',{D_ORACLE_HOME=>${D_HOME},\ T_ORACLE_HOME=>${D_HOME},\ T_TITLE=>"JDEV Oracle home ${D_HOME}"})) dsc='Target associated with the JDEV Oracle home' nam=I_OHC vis=false [chk_registry] typ=F dft=(catFile(${D_TMP_MH/T} = \ cleanPath([${D_HOME},upDir(),''],true),'domain-registry.xml'),\ catFile(${D_TMP_MH/T} = \ cleanPath([${D_HOME},upDir(),''],true),'registry.xml')) dsc='Check for Middleware environment' nam=- var=set_primary [set_primary] typ=B dft=cond(${PRF/B_OFM_PROFILE},${PRF.B_PRIMARY},true) dsc='Is JDEV the primary module?' nam=B_PRIMARY var=true:set_req_common,D_DOMAIN_HOME,D_APPL_ROOT #------------------------------------------------------------------------------ # Setting definitions for Oracle common home #------------------------------------------------------------------------------ [set_req_common] typ=B dft=false dsc='Does JDEV require Oracle instance request handler execution?' nam=B_REQ_IREQ exe=sdcl { "var $flg = false "if ${I_OHC}->get_first('I_MW_HOME')->get_first('I_COMMON_HOME') "{var ${MOD.IREQ_OFM_JDEV_CH.I_COMMON_HOME:\ " 'Target associated with the Oracle common home'} = last " var ${MOD.IREQ_OFM_JDEV_CH.T_CH_FOCUS:\ " 'Focus areas for common home collection'} = 'Generic' " var $flg = true "} "var ${AUX.dft} = $flg } #------------------------------------------------------------------------------ # Setting definitions for Oracle WebLogic Server #------------------------------------------------------------------------------ [D_DOMAIN_HOME] typ=D dsc='Oracle WebLogic Server domain home' inp='Enter the Oracle WebLogic Server domain home to be used for data \ analysis (For example for UNIX, /user_projects/domains/ \ or /user_projects/domains/)' nam=- ref=is_valid_domain('D_DOMAIN_HOME',last) val=W var=exists:T_SERVERS exe=sdcl { "var ${D_MW_HOME:'Oracle JDeveloper Middleware home directory'} = ${D_TMP_MH} "if ${D_DOMAIN_HOME/M} "{var $dft = undef " if grepFile(catFile(${D_HOME},'jdev','bin','version.properties'),\ " '^VER_FULL=(.*)$','f1') " {var ($ver) = last " if or(isWindows(),isCygwin()) " {if ?testDir('d',catDir(${ENV.APPDATA},'JDeveloper',\ " concat('system',$ver),'DefaultDomain')) " var $dft = last " } " elsif ?testDir('d',catDir(${ENV.HOME},'.jdeveloper',\ " concat('system',$ver),'DefaultDomain')) " var $dft = last " } " if !?$dft " {if ?testFile('f',catFile(${D_MW_HOME},'domain-registry.xml')) " {loop $xml (xmlFind(xmlLoadFile(last),'domain-registry/domain')) " {var $dir = cleanNative([xmlValue($xml,'location'),'']) " if match($dir,concat('\bsystem',verbatim($ver),'\b')) " break $dft = $dir " } " } " } " if ?$dft " var ${AUX.dft} = last "} } #------------------------------------------------------------------------------ # Select the server(s) #------------------------------------------------------------------------------ [T_SERVERS] typ=M bef="Server list for '${T_TMP_NAM}' domain:" def='./WREQ_OFM_JDEV_DOM' dft='*' dsc='Domain server list' itm=[@{T_TMP_ITM}] pck=true val=E exe=sdcl { "var ($dir,@itm) = (${CTX.D_DOMAIN_HOME}) "if expr('>',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 " 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' " var ${CTX.B_REQ_WREQ:\ " 'Does JDEV require Oracle WebLogic request handler collection?'} = true "} } #------------------------------------------------------------------------------ # Setting definitions for applications deployed #------------------------------------------------------------------------------ [D_APPL_ROOT] typ=D dsc='JDeveloper applications root directory' inp='Enter the location of the directory where the applications to analyze \ are located' nam=- ref=is_valid_app_root('D_APPL_ROOT',last) val=W var=exists:T_APPLICATIONS exe=sdcl { "if ${D_APPL_ROOT/M} "{if ${D_DOMAIN_HOME/E} " {if ?testDir('d',cleanPath([${D_DOMAIN_HOME},upDir(),upDir(),'mywork',''],1)) " var ${AUX.dft} = last " } "} } [T_APPLICATIONS] typ=M bef='JDeveloper application list:' dft='*' dsc='JDeveloper application list' itm=[@{T_TMP_ITM}] pck=true val=E exe=sdcl { "var @itm = () "loop $app (findDir(${D_APPL_ROOT},'^\.+$','nv')) " call push(@itm,$app,$app) "var @{T_TMP_ITM/T} = @itm } #------------------------------------------------------------------------------ # Common settings #------------------------------------------------------------------------------ [B_ADFDI] typ=B dft=false dsc='Collect ADF desktop integration health check tool results?' fam=Cygwin,Windows inp='Do you want RDA to collect ADF desktop integration health check tool \ results (Y/N)?' var=true:F_ADFDI [F_ADFDI] typ=F dsc='ADF desktop integration health check tool file location' err='Warning: The specified file does not -yet- exist' fam=Cygwin,Windows inp='Enter the full path of ADF desktop integration health check tool file' val=W