What's New in This Guide for Release 12c (12.2.1.4.0)
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.
New and Changed Features for Release 12c (12.2.1.4.0)
Oracle Fusion Middleware Release 12c (12.2.1.4.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 REST Framework Runtime and Design Time
-
New runtime support for REST resources is provided with the addition of four new ADF REST framework versions. By declaring a default framework version to process requests, the REST application developer may opt into the features introduced by a specific ADF REST framework. The default ADF REST framework version is defined by the application in the
adf-config.xml
file. In JDeveloper release 12.2.1.4.0, framework versions 4, 5, 6, and 7 were added to existing versions 1 through 3.- Versions 4 and later enables exception details to appear in the response when the ADF REST request is made for either
application/vnd.oracle.adf.error+json
orapplication/json
media types. See Obtaining an Exception Payload Error Response. -
Versions 5 and later supports filtering resources by using a row match finder to access nested LOV resources, for example:
/rest/v1/Cities?finder=ByState;name='California'
. Starting with this version, row context LOV URLs are no longer returned in the payload or in the describe. Only LOV resource URLs that point to top-level resources are described and included in payloads. See Retrieving LOV-Enabled Attribute Values with Framework Version 5 and Later. -
Versions 6 and later makes it easier to differentiate between resource fields and item context information, such as links and headers. A new element
@context
is introduced in this version and all the information for an item is moved under@context
. Version 6 also supports obtaining warning details in the response. See Fetching a Resource with Grouped Context Information and Obtaining Warning Messages in the Payload Response. -
Version 7 (latest version in release 12.2.1.4.0) supports top-level LOVs, and removes row-level LOV resource descriptions in the ADF REST describe and removes LOV links from the resource item payload links section. Earlier framework versions support LOV in a context of a row in the REST resource. See What You May Need to Know About Versioning the ADF REST Framework.
- Versions 4 and later enables exception details to appear in the response when the ADF REST request is made for either
-
A variety of new ways to limit the ADF REST resource catalog describe are available. The catalog describe can now be obtained by retrieving only minimal details (a minimal describe), or by retrieving based on resource visibility—private, public, or both (as specified on the resource at design time), or by retrieving parent resources and optionally excluding or including nested, child resources. See Retrieving the ADF REST Catalog Describe.
-
A variety of new ways to describe ADF REST resources are available. The resource describe can now be obtained by retrieving two or more named resources, by using parameters
filters
orpartialDescription
to limit the resource describe, and by retrieving resources based on ETag values as assigned by the web server to identify specific versions of a resource. See Retrieving the ADF REST Resource Describe. -
The ADF REST resource describe now identifies whether or not an attribute is mandatory using the property
“mandatory”
. The“mandatory”
property in the resource describe is based on the view object attribute metadata specified at design time. See What You May Need to Know About Mandatory Attributes in the ADF REST Resource. -
A new Upsert mode on a POST method lets you merge payload content to either update resource items that exist, or if not, create the resource items. See Updating or Creating Resource Items (Upsert).
-
The use of special characters in the query parameter string of an ADF REST GET request is supported by the use of single quotes (in framework version 2 and later) to define literal values. See GET Method Operations.
-
Case-sensitive sorting of resource items of type String is now supported by the
orderBy
query string parameter of an ADF REST GET request. By default, theorderBy
clause sorts the records with uppercase letters first and then lower case letters. To achieve case-insensitive sorting, theorderBy
clause can be combined withupper(attrName)
orlower(attrName)
. See Sorting a Resource Collection. -
The ADF REST framework now supports configuration options for
Cache-Control
. You can specify these additional configuration options in the REST resource source editor. When defined on the resource, theCache-Control
header will be added in the payload of the ADF REST response. See What You May Need to Know About the Cache-Control Header. -
The JDeveloper wizard Create Business Components from Tables combines generating the various business components together with creating ADF REST resources in a single end to end process. This wizard helps you to create ADF REST resources quickly and easily. See How to Create ADF REST Resources Using the Create Business Components from Tables Wizard.
-
Attribute hints defined in the JDeveloper overview editor for view objects can now optionally appear as attribute properties in the REST resource describe. See What You May Need to Know About ADF REST Attribute Hints.
-
-
ADF Business Components
-
The ADF application now supports custom script expression classes to define a class that can be used by other script classes. A script class file allows you to maintain common Groovy script expressions that can be called from within any business component class. See How to Create a Script Expression Class File.
-
The ADF application now allows the user to turn on/off data security of a View Object by setting a flag
EOSecurityOverride
. This is a metadata level setting on theviewdef.xml
of the View Object. See What You May Need to Know About Overriding Security for Entity Objects.
-
- ADF Task Flows
- The ADF application now supports EL expressions set on the optional task flow binding property
processRegionForRefresh
to determine if the associated ADF region should participate in a refresh operation. By default, the ADF region participates in refresh operations. See How to Configure the Refresh of an ADF Region.
- The ADF application now supports EL expressions set on the optional task flow binding property
- ADF Web User Interface
-
The ADF application now supports creating an
af:inputSearch
LOV component to fetch list data from a REST URL on LOV-enabled attributes defined as typeinputSearch
. See How to Provide af:inputSearch LOV Component the REST URL.
-
Other Significant Changes in this Document for Release 12c (12.2.1.4.0)
For Release 12c (12.2.1.4.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
-
Removed sections related to creating custom methods for ADF REST resources. This is no longer supported in release 12.2.1.4.0.
-
Removed sections that described obsolete use cases for bind variables. The generation of bind variables on custom view object classes is no longer an option in the Select Java Options dialog that you open from the Java page of the view object overview editor in JDeveloper. The recommended way to allow UI fields to update bind parameter values is through view criteria.
Part III Using the Model Layer
-
Revised the ADF REST batch requests section to remove the resource version in the payload sample that also shows the resource version in the POST URL to clarify that only the POST URL must provide a resource version. See Making Batch Requests.
-
Revised the ADF REST headers section to update the list of available headers for REST requests and responses. See ADF REST HTTP Headers Support.
-
Removed sections related to executing custom methods for ADF REST resources. This feature is no longer supported in release 12.2.1.4.0.
Part IV Creating ADF Task Flows
-
Revised the ADF skins style properties section to remove the deprecated
web.xml
context parameteroracle.adf.view.rich.remote.PRODUCER_STYLESHEET_DEBUG_LEVEL
. See What You May Need to Know About ADF Skins and Remote Regions. -
Revised the ADF Region refresh sections as follows:
- Revised sections to clarify that ifNeeded is recommended over a RefreshCondition expression when choosing an option to determine region refresh behavior. See step 3 of How to Configure the Refresh of an ADF Region and see also What You May Need to Know About Configuring an ADF Region to Refresh.
-
Added a section to clarify the behavior of ADF regions in a page refresh. To avoid refreshing the regions that are not visible in the active view tree, set the
oracle.adfinternal.controller.regionPruning
parameter value totrue
. See What You May Need to Know About Refreshing an ADF Region.
Part VI Completing Your Application
-
Revised the passivating transient view objects section to note that to enable a transient view object to passivate or activate correctly, requires a non-null key attribute value. See What You May Need to Know About Passivating Transient View Objects.
Part VII Appendices
-
Revised the topic on
EntityImpl
methods to note that downcasting the return value of anEntityImpl.getStructureDef()
method invocation toEntityCache
is not supported. To obtain the instance ofEntityCache
invoke an existinggetEntityCache()
method on theEntityImpl
object. See Methods You Typically Call on EntityImpl.