Customize File Type Detection
When you perform populate operation from SCM, files are organized in various types based path, file extension etc. You can customize this behavior by updating project properties in many cases and further customizations can be done by using groovy script a.k.a Match Script override.
If your FlexDeploy version is 5.2.0.1 or lower, please see Customize file type detection, screens explained in this document were added as part of 5.2.0.2.
Match script override is done for specific project type. For example, you can customize how FlexDeploy determines type for EBS project files as shown below.
Access object type details screen by using menu option - Administration - Customize - Object Types.
Search for specific Project Type, in this case EBS. Click on project type name in Project Type column.
Update Match Script (groovy), then click Save.
Here is an example of matching files from /install/sql as Concurrent Program SQL and /install/bin as Script with Execution.
if (!binding.variables.containsKey('FDEBS_APPLICATION_SHORT_NAME')) { throw new Exception('Application Short Name not found. Please Configure FDEBS_APPLICATION_SHORT_NAME property'); } FILE_CONTENT_NEEDED=Boolean.TRUE; CP_SQL_DIR='install/sql'; if (FILE_PATH_PREFIX.contains(CP_SQL_DIR) && FILE_EXTENSION.toUpperCase().equals('SQL')) { return 'CP_SQL'; } SCRIPT_DIR='install/bin'; if (FILE_PATH_PREFIX.contains(SCRIPT_DIR)) { return 'SCRIPT_EXECUTION'; } return null;
Now let's talk about how you write such groovy script. You have access to various details about file and project properties. You can make decision based on available variables about file, then return appropriate Object Type Code, or you can return null in which case FlexDeploy will make determination based on default logic as documented in EBS Object Types Reference.
Match Script Variables
Variable Name | Example using /path1/path2/APXSOBLX_1.rtf |
---|---|
FILE_PATH | /path1/path2/APXSOBLX_1.rtf |
FILE_NAME | APXSOBLX_1 |
FILE_PATH_PREFIX | /path1/path2 |
FILE_EXTENSION | rtf |
PARENT_FOLDER | path2 |
FILE_CONTENT | <content of file as array of Strings> (one element per line) |
Project Properties - Code for each property can be used in script | |
PROJECT_ID | 122703 |
PROJECT_NAME | XXHR |
FOLDER_PATH | / FlexDeploy / EBS |
Return FILE_CONTENT_NEEDED as Boolean.TRUE if file content is necessary to derive attribute defaults or return Boolean.FALSE.
Also, return one of the following object type when you can derive type, otherwise return null and FlexDeploy will determine object type in the usual manner.]
EBS Object Type Codes
Code to be Returned | For Type |
---|---|
OAF_JAVA WORKFLOW_XML OAF_MDS CP_SQL JAVA_SP SQL XDF SQL_LDR JLT AOL FORM REPORT WORKFLOW_DEFINITION LIBRARY PUBLISHER PROG FONT SCRIPT PERL_MODULE MEDIA HTML OTHER WEB_ADI DATA_FIX SETUPS SCRIPT_EXECUTION __IGNORE__ | Oracle Application Framework (OAF) JAVA Workflow XMLs Oracle Application Framework (OAF) MDS Concurrent Program SQLs Java Stored Procedures DB Objects (SQLs) XML Definition Files (XDF) SQL*Loader Java Loader Text (JLT) Application Object Library (AOL) Forms Reports Workflow Definitions Libraries Publisher Files Program Files Font Files Scripts Perl Modules Media Files HTML (Web) Files Other Files Web ADI Data Fixes Functional Setups Script With Execution Ignore the file completely |