In my previous post ADF Namings Conventions – Part I I have focused my attention on:
- Application & Project Namings
- Packages Namings
- Business Components Namings
Today I will start to talk about Model & View Controller Project namings.
For new ADF applications we are requested to set the names for Model and ViewController projects. In what concerns the Model it should following naming:
<PROJECT_NAME> + <MODULE_NAME> + Model
For the package structure it should be configured as follows:
<DOMAIN_NAME> + . + <PROJECT_NAME> + . + <MODULE_NAME> + . + model
As you can see, package structure follows the same structure defined in my previous post plus “model“.
View Controller Namings
In ViewController projects we have a wide range of namings we can follow since we have multiple features we can take advantage of. For that reason we divided it in sub topics. .
The name for the project should be defined as follows:
<PROJECT_NAME> + <MODULE_NAME> + Controller
By using “Controller” prefix we are able to automatically identify projects type and purpose.
Project Default Package Structure
Package structure for View Controller project should be defined as follows:
<DOMAIN_NAME> + . + <PROJECT_NAME> + . + <MODULE_NAME> + . + view
As you can see, package structure follows the same structure defined in my previous post plus “view“.
|Folder Type||Folder Path|
|To contain images||resources/images|
|To contain CSS files||resources/css|
Inside “web.xml” file in ViewController project set the following mappings:
<servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>resources/images/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>resources/css/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>resources/js/*</url-pattern> </servlet-mapping>
Bounded Task Flows, JSFF, JSPX Directories
Reusable bounded task flows can be published in ADF Libraries and consumed by other ADF applications. For this use case is important, and a must, that all bound task flows have a unique name. If this isn’t accomplished ADF has no way to distinguish between task flows with the same name.
Before creating bounded task flows you should set a folder structure under “WEB-INF” folder. After this folder structure is created you can start creating your bounded task flows.
Folder structure should be created according to the following convention:
<DOMAIN_NAME> + <PROJECT_NAME> + <MODULE_NAME> + view + <BUSINESS_AREA>
JSF, JSFF and JSPX files must be saved on the same folder of the task flow.
Page definitions will be automatically generated with same package structure under Application Sources folder. Example: red.mavericks.rmk.my.adf.lib.view.financial or red.mavericks.rmk.my.adf.lib.view.retail
Managed Beans for Task Flows should be created under Application Sources folder with the following package structure:
<DOMAIN_NAME> + <PROJECT_NAME> + <MODULE_NAME> + <BUSINESS_AREA>
We decided to create Managed Beans outside “view” package in order to not have a mixture between page definitions and java classes.
In my next post I will focus my attention on:
- Task flows as well as Templates and some more regarding View Controller Projects
- JAR, WAR, EAR files
Don’t miss my next post 🙂
Post Header photo by Lefteris Heretakis