Customize file type detection

This option is only available since 4.6.0.3 patch.

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. You can customize this further by using Groovy script in SCRIPT property of FD_MATCH_SCRIPT_OVERRIDES_EBS.

Here is an example of matching files from /install/sql as Concurrent Program SQL and /install/bin as Script with Execution.

set define off;

INSERT INTO FF.DB_PROPERTIES ( DB_PROPERTIES_ID, DB_PROPERTIES_NAME, DB_PROPERTIES_KEY, SEQUENCE_NUMBER, DESCRIPTION, IS_ACTIVE, IS_REQUIRED, IS_ENCRYPTED, DATA_TYPE, VALIDATION_SCRIPT, VALIDATION_MESSAGE, MIN_VALUE, MAX_VALUE, DISPLAY_ROWS, DISPLAY_COLUMNS, LIST_DATA, CREATED_ON, CREATED_BY, UPDATED_ON, UPDATED_BY, VERSION_NUMBER ) VALUES ( 1000000000000010, 'FD_MATCH_SCRIPT_OVERRIDES_EBS', 'SCRIPT', 0, 'Overriding match script', 'Y', 'Y', 'N', 'String', null, null, null, null, 1, 1, null, sysdate, user, sysdate, user, 1 );

INSERT INTO FF.DB_PROPERTIES_DATA ( DB_PROPERTIES_DATA_ID, DB_PROPERTIES_ID, SEQUENCE_NUMBER, DB_PROPERTIES_VALUE, DESCRIPTION, IS_ACTIVE, CREATED_ON, CREATED_BY, UPDATED_ON, UPDATED_BY, VERSION_NUMBER ) VALUES ( 1000000000000010, 1000000000000010, 0, 'dummy', '', 'Y', sysdate, user, sysdate, user, 1 );

BEGIN
update  FF.DB_PROPERTIES_DATA set DB_PROPERTIES_VALUE = '
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;
' where
DB_PROPERTIES_ID = (SELECT DB_PROPERTIES_ID FROM FF.DB_PROPERTIES WHERE DB_PROPERTIES_NAME='FD_MATCH_SCRIPT_OVERRIDES_EBS' AND DB_PROPERTIES_KEY='SCRIPT')  AND
SEQUENCE_NUMBER = 0;
END;
/

commit;

The following variables are available for use in the Groovy script.

Variable NameExample using /path1/path2/APXSOBLX_1.rtf
FILE_PATH/path1/path2/APXSOBLX_1.rtf
FILE_NAMEAPXSOBLX_1
FILE_PATH_PREFIX/path1/path2
FILE_EXTENSIONrtf
PARENT_FOLDERpath2
Project Properties - Code for each property can be used in script

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.

Code to be ReturnedFor 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

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

Functional Setups

Script With Execution

Ignore the file completely