PacktLib: Oracle JDeveloper 11gR2 Cookbook

Oracle JDeveloper 11gR2 Cookbook



About the Author

About the Reviewers


Prerequisites to Success: ADF Project Setup and Foundations


Installation of JDeveloper on Linux

Breaking up the application in multiple workspaces

Setting up BC base classes

Setting up logging

Using a custom exception class

Using ADFUtils/JSFUtils

Using page templates

Using a generic backing bean actions framework

Dealing with Basics: Entity Objects


Using a custom property to populate a sequence attribute

Overriding doDML() to populate an attribute with a gapless sequence

Creating and applying property sets

Using getPostedAttribute() to determine the posted attribute's value

Overriding remove() to delete associated children entities

Overriding remove() to delete a parent entity in an association

Using a method validator based on a view object accessor

Using Groovy expressions to resolve validation error message tokens

Using doDML() to enforce a detail record for a new master record

A Different Point of View: View Object Techniques


Iterating a view object using a secondary rowset iterator

Setting default values for view row attributes

Controlling the updatability of view object attributes programmatically

Setting the Queryable property of a view object attribute programmatically

Using a transient attribute to indicate a new view object row

Conditionally inserting new rows at the end of the rowset

Using findAndSetCurrentRowByKey() to set the view object currency

Restoring the current row after a transaction rollback

Dynamically changing the WHERE clause of the view object query

Removing a row from a rowset without deleting it from the database

Important Contributors: List of Values, Bind Variables, View Criteria


Setting up multiple LOVs using a switcher attribute

Setting up cascading LOVs

Creating static LOVs

Overriding bindParametersForCollection() to set a view object bind variable

Creating view criteria programmatically

Clearing the values of bind variables associated with the view criteria

Searching case insensitively using view criteria

Putting them all together: Application Modules


Creating and using generic extension interfaces

Exposing a custom method as a web service

Accessing a service interface method from another application module

A passivation/activation framework for custom session-specific data

Displaying application module pool statistics

Using a shared application module for static lookup data

Using a custom database transaction

Go with the Flow: Task Flows


Using an application module function to initialize a page

Using a task flow initializer to initialize a task flow

Calling a task flow as a URL programmatically

Retrieving the task flow definition programmatically using MetadataService

Creating a train

Face Value: ADF Faces, JSF Pages, and User Interface Components


Using an af:query component to construct a search page

Using an af:pop-up component to edit a table row

Using an af:tree component

Using an af:selectManyShuttle component

Using an af:carousel component

Using an af:poll component to periodically refresh a table

Using page templates for pop-up reuse

Exporting data to a client file

Backing not Baking: Bean Recipes


Determining whether the current transaction has pending changes

Using a custom af:table selection listener

Using a custom af:query listener to allow execution of a custom application module operation

Using a custom af:query operation listener to clear both the query criteria and results

Using a session scope bean to preserve session-wide information

Using an af:popup during long running tasks

Using an af:popup to handle pending changes

Using an af:iterator to add pagination support to a collection

Handling Security, Session Timeouts, Exceptions, and Errors


Enabling ADF security

Using a custom login page

Accessing the application's security information

Using OPSS to retrieve the authenticated user's profile from the identity store

Detecting and handling session timeouts

Using a custom error handler to customize how exceptions are reported to the ViewController

Customizing the error message details

Overriding attribute validation exceptions

Deploying ADF Applications


Configuring and using the Standalone WebLogic Server

Deploying on the Standalone WebLogic Server

Using ojdeploy to automate the build process

Using Hudson as a continuous integration framework

Refactoring, Debugging, Profiling, and Testing


Synchronizing business components with database changes

Refactoring ADF components

Configuring and using remote debugging

Logging Groovy expressions

Dynamically configuring logging in WebLogic Server

Performing log analysis

Using CPU profiler for an application running on a standalone WebLogic server

Configuring and using JUnit for unit testing

Optimizing, Fine-tuning, and Monitoring


Using Update Batching for entity objects

Limiting the rows fetched by a view object

Limiting large view object query result sets

Limiting large view object query result sets by using required view criteria

Using a work manager for processing of long running tasks

Monitoring the application using JRockit Mission Control