The following topics introduce the new and changed features of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) and other significant changes, which are described in this guide. This document in previous JDeveloper releases had been titled Fusion Developer's Guide for Oracle Application Development Framework.
Oracle Fusion Middleware Release 12c (12.2.1.2.0) of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) includes the following new and changed development features, which are described in this guide.
ADF Business Components
A new set of ADF Business Components framework base classes implements common methods for programmatic view object and programmatic entity objects. These framework classes provide hook points to interact with the view row during various lifecycle phases without requiring knowledge of the lifecycle. For more information, see Working Programmatically with Custom Data Sources and the Framework Base Class ProgrammaticViewObjectImpl and Working Programmatically with Custom Data Sources and the Framework Base Class ProgrammaticEntityImpl.
You can debug Groovy expressions using the debugger. For more information, see Debugging Groovy Expressions in Business Components.
ADF REST
Support for declaring a default ADF REST framework version for REST resources allows service clients to utilize new features and enhancements at runtime, such as the advanced query capabilities offered in version 2 of the ADF REST runtime framework. By declaring a default framework version to process requests, REST application developers may opt into the features introduced by a specific ADF REST framework when they are ready. The default ADF REST framework version is defined by the application in the adf-config.xml
file. In JDeveloper release 12.2.1.2.0, framework versions 1, 2, and 3 exist. For more information, see Versioning the ADF REST Runtime Framework.
Service clients of the ADF REST application may need to pass a specific ADF REST framework version to execute requests using a particular ADF REST runtime. For more information, see Working with ADF REST Framework Versions.
For Release 12c (12.2.1.2.0), this document has been updated in several ways. Following are the sections that have been added or changed.
Part II Building Your Business Services
Revised sections to explain the ADF runtime restriction that requires application developers to use a single SQL flavor to initialize an ADF Business Components project for all ADF applications that need to run on the same managed server. See sections How to Initialize the Data Model Project With a Database Connection and What You May Need to Know About Application Server or Database Independence.
Revised a section to clarify how to use the annotation @AllowUntrustedScriptAccess
to allow ADF Groovy scripts to invoke custom Java APIs from an ADF Business Components implementation class. See the section What You May Need to Know About Untrusted Groovy Expressions.
Revised a section to clarify that view objects with no entity usage definition cannot be changed at a later date to support updating data and must always remain read-only. See section About View Objects.
Revised a section to clarify the role of Show Operator hint settings when used to expose view criteria operators in a query search component, where the list of operators may be limited according to the mode of the query search component. See section How to Set User Interface Hints on View Criteria to Support Search Forms.
Added a section to describe the existing versions of the ADF REST framework and the benefit that each may provide to ADF REST service clients when declared in the ADF REST application. See sections What You May Need to Know About Versioning the ADF REST Runtime Framework.
Added a section to describe how to use the design time to hide ADF REST resources from the runtime catalog describe. See section How to Hide a Resource from the Catalog Describe.
Added a section to describe how to use the design time to support case insensitive GET method query requests on ADF REST resources. See section What You May Need to Know About Case Sensitivity in Resource Collection Query Operations.
Added a section to describe the existing versions of the ADF REST framework and the benefit that each may provide to ADF REST service clients when declared in the ADF REST application. See section What You May Need to Know About Versioning the ADF REST Runtime Framework.
Added a section to describe the advanced query capabilities, also known as rowmatch expression syntax, introduced by version 2 of the ADF REST framework. See section What You May Need to Know About the Advanced Query Syntax in ADF REST Framework Version 2.
Part III Using the ADF Model Layer
Revised a section to describe GET requests that use advanced query capabilities to retrieve ADF REST resource. This query capability, introduced by version 2 of the ADF REST framework, supports rowmatch expressions. See section Filtering a Resource Collection with a Query Parameter.
Revised a section to describe GET requests that retrieve nested child resources using the a payload structure that returns the child resource items as a resource collection, instead of as an array of resource items. This capability, introduced in version 3 of the ADF REST framework, supports pagination of nested child resources. See section Fetching Nested Child Resources and Querying With Filtering Attributes (Partial GET).
Revised a section to describe the changes to the query parameter syntax on GET requests introduced in ADF REST framework version 2 (or later). See section Get Method Operations.
Revised a section to describe the operators used within the query parameter syntax on GET requests and the valid ADF REST data types supported for each operator. See section Get Method Operations.
Revised a section to describe the custom header REST-Framework-Version
that allows service clients to specify a particular version of the ADF REST framework to use at runtime to process the request. The ADF REST framework version passed in the version header overrides the default framework declaration defined by the application in the adf-config.xml
file . In JDeveloper release 12.2.1.2.0, framework versions 1, 2, and 3 exist. See section ADF REST HTTP Headers Support.
Part V Creating a Databound Web User Interface
Revised a section to clarify the role of the predefined operators specified in the view criteria backing query search components. See section How to Set Search Form Properties on the View Criteria.
Revised a section to describe what the user sees when they change the mode of the query component from advanced to basic for both predefined and implicit view criteria. See section What Happens at Runtime: Search Forms.
Part VI Completing Your Application
Revised sections to clarify that a remote event might result in an exception if dispatchMode attribute is not set to remote value. See section How to Publish Contextual Events and What Happens at Runtime: Contextual Events.
Revised a section to clarify that under normal circumstances with optimistic locking, RowInconsistentException
is thrown when inconsistent data is detected while locking a row during the commit operation. However, ADF can also raise RowInconsistentException
outside of the commit operation, such as during application module activation, even though the framework is configured for optimistic lock. See section How to Confirm That Fusion Web Applications Use Optimistic Locking.