Saturday, July 31, 2010

Select Once Choice inside ADF Query Referencing Parent table

Here By this sample I am explaining the way of using ADF SelectOneChoice inside Af:Query component as a reference to parents table. In that application I am using Employees as a child table and Departments as a parent table. I have used HR schema to create this sample application.

Create a Generic Application with the name of SocInADFQueryControlApp.


Create a project as with name ViewController. Select the ADF Faces for Project Technologies.

Enter the default package name for ViewController project.



Click on finish button. It will create a project in your application with the specified name.

Now Create a model project go to à new àGeneral àProjects àGeneric Project.

Click on Ok button.

Enter the name Model for model project. Select ADF Business Components from project technologies.

I have create ViewController and Model project using the Generic project, Because of better understanding why these are called ViewController and which technology supported by both the project. There is also a shortcut way to create ViewController and Model project either using the ADF Fusion Web Application or using Project creation wizard for ViewController and Model project.

Now let’s create Business component for Model project. Select Model Project click on New à Business Tier à ADF Business Component à Business Components from Table.
Create a connection to oracle database.

Select the Employees and Departments table.

Create the updateable view if required else skip it and create Read-Only view object.

Provide App Module name as SampleAppModule.

Skip Business Components Diagram as it is not required.

Click on the finish button.

Once you have clicked the finish button it will create Entity Object, View Object, Association, View Links and App Module.

Create a webpage. Select the ViewController project; go to à new à Web Tire àJSF à JSF Page.


Enter the page name as main.jspx; I have created this page using the Oracle Three Column Template. You can select whatever template you want or can select blank page.

Select the Employees View, go to à Attributes àSelect the DepartmentId Column.


Click on + icon and DepartmentView1 as a reference.
Click on + icon and DepartmentView1 as a reference.
Select the list Attribute DepartmentId.

Go to UI Hints Select the DepartmentName that will appear in the combo box, to make the component combo box select the Default List Type Choice List.

Now select the query and the view criteria.

Click on ok button.

Select the criteria from Employees View Object drag drop it to page. Select the Query à Adf Query panel with Table.

Enable Row Selection, Filtering and sorting.

Surround table with panel collection and select style Class as AFStretchWidth.

Change the result component id to panel collection id.

Once you deploy and run application screen look like:



Sunday, July 25, 2010

JDeveloper Extension for Generating Hibernate Units.


I am working on the JDeveloper Extension project to make hibernate development work a little bit easier. I have creating Extension for JDeveloper that will create following file:
  • Entity Class (Which will be serialized to the database).
  • DTO Class (which will interact with the user)
  • Manager Class (This class will contain all the operation that can we performed on entity)
  • HBM File (This file will contain the all the mapping from java object to the table fields in the data base)
  • Hibernate Configuration file (This will contain mapping of all generated HBM file).
  • Database Configuration file (Contain all the Database details on which these files are generated.)
These all file will be created on the table selected from database
These are the steps to generate all these files:
Welcome Screen:





This is the connection screen in that screen you can define new Connection or can use exiting Connection. To select existing connection remove check for create new connection.



You can also save the connection details for the future use by selecting the save connection check box.
A Combo box will appear at place of input text for connection, you can select the existing Connections from the Combo box.




Click on the text connection button if success full connection established with database then next button will appear. Click on the next button. It will bring new screen which will have list of schema available to the connected database. Select the appropriate schema. Below the schema
Combo box there is a filter for table name you can find your table there or just can click on fetch button it will display the entire table list in the available Units:




Select the table on which you want to generate the hibernate units. Add table to the select units list by clicking on the shuttle button.



Once you click on the next button it will bring the new screen which will have database column to the java fields. On this screen you can select the Key fields, select the data type for java class fields.




Once you finished with the mapping just click on the validate mapping this will validated all mapping and enable the next button.
On this screen it will ask for the unit you want to generate from this extension.



On this screen it will ask for:
Folder Location: This is the location where you want to keep all generated unit.
Default Package: This is the package structure inside the folder location where all file will be placed.
Default File Name: This the default file name for all units create by default it will filled with the table you selected if you want to change the File name you can change here.


Once you click on Generate file button all file will be generate on specified location.
Click to finished button to complete the wizard.

Please find the first release of extension on HibernateUnitGenerator let me know if anything is incorrect in that