PacktLib: Oracle JDeveloper 11gR2 Cookbook

Oracle JDeveloper 11gR2 Cookbook

Credits

Foreword

About the Author

About the Reviewers

www.PacktPub.com

Preface

Prerequisites to Success: ADF Project Setup and Foundations

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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

Introduction

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