Understanding the Oracle DDL template structure
The default Oracle DDL template is stored in <program installation folder>\ data\DB_engineering\Oracle_template folder. The template consists of many macros - velocity functions. Each macro is dedicated for a particular object generation.
This example shows the velocity macro for the Oracle VIEW object generation:
#macro ( generateView $data )
#set ( $QUERY_RESTICTION = "query restriction")
#set ( $force = false)
#set ( $force = $oracleHelper.getBooleanValueFromDefaultProfile($data,$VIEW_STEREOTYPE, $FORCE_TAG ) )
#set ( $sqlrestriction = false)
#set ( $sqlrestriction = $ oracleHelper.getFirstPropertyValueFromProfile($data,$VIEW_STEREOTYPE, $QUERY_RESTICTION ) )
#set ( $sql = false)
#set ( $sql = $ oracleHelper.getFirstPropertyValueFromProfile($data,$VIEW_STEREOTYPE, $QUERY_TAG ))
#set ( $columns = false)
#set ( $columns = $ oracleHelper.getViewColumnList( $data ) )
#if ($columns)
#set ( $columns = " ($columns)" )
#else
#set ( $columns = $nospace )
#end
#writeDocumentation ( $data $nospace )
#writeLine( "$ oracleHelper.getCreate($data)
#if ( $oracleHelper.getPropertiesListFromDefaultProfile($data, $VIEW_STEREOTYPE,$FORCE_TAG).size()>0 )
#if( $force ) FORCE
#else NO FORCE
#end
#end
VIEW $oracleHelper.getQualifiedName( $data )$columns AS" $nospace)
#if ( $sql )
#writeLine( $sql $tab )
#end
#writeText( ${sqlrestriction} ${space}${nospace})${semicolon}
#end
A model element with the stereotype “view” is passed to a macro function, and then all element information is retrieved by the $oracleHelper utility class. The Oracle View stereotype has 3 properties. These tagged values store information about the force, query restriction, and query statements.
Method $oracleHelper.getFirstPropertyValueFromProfile( $data,$VIEW_STEREOTYPE, $QUE- RY_RESTICTION) gets query restriction statement from element $data.