Wednesday, October 8, 2008

How to create the Simple Login page in ADF

I am using the employee table in HR schema , where I am using the employee first name as the user name and the employee last name as the password. We will create three jsf pages. On valid user name password user will navigate to success page and on error it will navigate to failure page

Step 1) Create a read only View Object with bind variable with name EmpLoginViewObj. Following is the SQL query:-
SELECT
EMPLOYEES.EMPLOYEE_ID EMPLOYEE_ID,
EMPLOYEES.FIRST_NAME FIRST_NAME,
EMPLOYEES.LAST_NAME LAST_NAME
FROM
EMPLOYEES
WHERE EMPLOYEES.LAST_NAME =:LastName

Create the bind variable with name LastName. Make sue that you are generating the ViewObjImpl class for the above created view object.

Step 2) Add the above created View object in the Application module.

Step 3) Add the following code in the application module's Java Impl class

public void checkLoginCredentials(String ename,String pwd_form)
{
System.out.println(ename + " " + pwd_form);
EmpLoginViewObjImpl vo = (EmpLoginViewObjImpl)getEmpLoginViewObj1();
//set the bind variable value to last name
vo.setNamedWhereClauseParam("LastName",pwd_form);
vo.executeQuery();
int rowCount=vo.getEstimatedRangePageCount();
System.out.println("rowCount="+rowCount);
if(rowCount==0) {
throw new JboException("Password doesn't match");
}
}

Import oracle.jbo.JboException class in the AMImpl class.

Step 4) Expose the above method in the Client Interface of the application module.
Now the method checkLoginCredentials will appear in the data control palette.

Step 5) Create three jspx pages. LoginPage.jspx, WelcomePage.jspx and FaliurePage.jspx

Step 6) Drag and drop the checkLoginCredentials on your LoginPage.jspx page as the parameter->ADF parameter Form.

Step 7) Double click the command button on LoginPgae.jspx and define a new action binding by first defining the managed bean(with Name backing_LoginPage) and action binding method name as loginBtn_action()

Step 8) Add the following code inside your loginBtn_action() method.

public String commandButton_action() ()
{
String returnStr="error";
System.out.println("Inside loginBtn_action");
BindingContainer bindings = getBindings();
OperationBinding operationBinding =
bindings.getOperationBinding("checkLoginCredentails");
Object result = operationBinding.execute();
System.out.println(result);
if (operationBinding.getErrors().isEmpty()) {
returnStr= "success";
}
System.out.println("returnStr= " + returnStr);
return returnStr;
}

Step 8 ) Set the navigation rule as
<navigation-rule>
<from-view-id>/LoginPage.jspx</from-view-id>
<navigation-case>
<from-action>#{backing_LoginPage.commandButton_action}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/WelcomePage.jspx</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{backing_LoginPage.commandButton_action}</from-action>
<from-outcome>error</from-outcome>
<to-view-id>/FaliurePage.jspx</to-view-id>
</navigation-case>
</navigation-rule>


run your login page to check the results.

Monday, October 6, 2008

How to apply the CSS in the ADF Application

ADF applications are provided by three default skins :-
1) oracle 2) simple 3) minimal. thought these skins provide good look and feel but what if you have to add your own skin in your ADF applications......


A skin consists of the following artifacts:
-> A CSS file that defines the actual look of the components
-> A configuration file. In our case it will be "adf-faces-skins.xml" which lists up all skins available for our application (not including Oracle, Minimal, and Simple). This file has to be located in your applications WEB-INF directory
-> An entry in the ADF Faces configuration file - adf-faces-config.xml

Creating a CSS file:

1) Right-click the project that contains the code for the user interface and choose
2) New to open the New Gallery.
3) In the New Gallery, expand the Web Tier node and select HTML.
4) Double-click CSS File.
5) Complete the Create Cascading Style Sheet dialog by giving CSS name.
6) Add various styles according to your requirement in the CSS

Register the CSS file:

1) Right-click your view project and choose New to open the New Gallery.
2) The New Gallery launches. The file launches in the Source editor.
In the Categories tree on the left, select XML. If XML is not displayed, use the
Filter By dropdown list at the top to select All Technologies.
3) In the Items list, select XML Document and click OK.
4) Name the file adf-faces-skins.xml, place it in the /WEB-INF directory, and click OK.
5) Replace the generated code with the code shown in

<?xml version="1.0" encoding="ISO-8859-1"?>
<skins xmlns="http://xmlns.oracle.com/adf/view/faces/skin">
<skin>
<id>id name</id>
<family>family name</family>
<render-kit-id>oracle.adf.desktop</render-kit-id>
<style-sheet-name>path to CSS</style-sheet-name>
</skin>
</skins>


For example



Configure an application to use a skin:

1) Open the adf-faces-config.xml file.
2) Replace the <skin-family&gt value with the family name for the skin you wish to use

Friday, April 25, 2008

ADF Learning 7 - Show Hide button in ADF faces

Read this doc on Scribd: Lesson 7 - Show Hide button in ADF faces

ADF Learning 6 - Dependent List Boxes

Read this doc on Scribd: ADF Learning 6 - Dependent List Boxes

ADF Learning 5 - Search an Employee

Read this doc on Scribd: ADF Learning 5 - Search an Employee

ADF Learning 4 - Create Employee page

Read this doc on Scribd: ADF Learning 4 - Create Employee page