Interview Questions and Answer: Webcenter and ADF

By | March 24, 2013 | 2 Comment

1. What is policy store and identity store in OID?

Identity Store is used to store information about users and groups while the Policy Store is used to store information about security policies.

2. What is the difference between databindings.cpx and datacontrol.dcx?

The DataBindings.cpx file contains the Oracle ADF binding context for your entire application and provides the metadata from which the Oracle ADF binding objects are created at runtime. The DataControls.dcx file is created when you register data controls on the business services. This file is not generated for Oracle ADF Business Components. It identifies the Oracle ADF model layer data control classes(factory classes) that facilitate the interaction between the client and the available business service.

3. What is the difference between trinidad.config and trinidad.skins?

trinidad.config file is ceated when you create a webcenter portal application. This is used to register the skin-family you are going to use for your entire application. Trinidad.skins is used when we use skin as a Jar file. This file provides a mapping between the Skin Id and the actual path where the skin exists.

4. What is binding context and binding container?

Binding context is a runtime map between the data controls and page definition of pages in the application which is used to access the binding layer. It is accessible through the EL expression in your jspx pages. Binding container is a request-scoped map that is used to instantiate the page bindings. This is accessible through the EL expressions. Also, since it is request-scoped map, it is accessible during every page request.

5. What are the different types of bindings in ADF?

ADF contains the following types of bindings:

Attribute Bindings: This is the binding to retrieve the value of a single view attribute in the iterator binding’s current view row. For eg; #{bindings.CustomerId.InputValue}

Tree Bindings: This is used for tables, tree-tables and trees. It is used to expose rows of a  table in the iterator binding’s current range. Eg; All Customers-#{bindings.AllCustomers.labels.CustomerId}

Action Bindings: This binding type is used when buttons or command links are dropped on the user interface and require an action to be performed on them. We can use data control operations on them, for eg, Create, Delete, First, Last, Commit, Rollback etc.

Method Bindings: This binding is used when you want to use custom methods to be executed.

Iterator Binding: This binding is created by the application to access the ADF binding context. It contains a reference to the page bound data collection, helps access it and iterates over its data objects.

6. What is the difference between an action and an action listener?

Actions are designed for business logic and participate in navigation handling, whereas action listeners typically perform user interface logic and do not participate in navigation handling.
Action listener is a class that wants to be notified when a command component fires an action event.

7. What is a view scope?

A view-state allocates a new viewScope when it enters. This scope may be referenced within the view-state to assign variables that should live for the duration of the state. This scope is useful for manipulating objects over a series of requests from the same view.

8. What is the difference between visible property and render property

The visible property is set to true/false based on the requirement whether we want to see the field on the page or not at run time. The field or component still exists on the page, though hidden. The render property is used to conditionally load the component based on a criteria.

9. How do you define pagination in adf?

We define custom pagination in ADF by creating a custom table as a taskflow using the af:iterator tag. This renders the collection of data just as a table renders it. Now we bind the value property of iterator to collection model from ADF bindings declaration and set the number of visible row to, say 15.

10. What are validators and converters?

Validators and Convertors are used to provide conversion and validation capabilities to the ADF input components respectively. Converters convert the valurs on ADF forms to the type in which the application accepts them after the values are edited on the form and submitted. Validators re used to impose validations on the inpiut components.

11. What is the life cycle of JSF?

  1. Restore View : The request comes to the FacesServet controller which extracts the viewed from this request.
  2.  Apply request values: The purpose of the apply request values phase is for each component to retrieve its current state. The components must first be retrieved or created from the FacesContext object, followed by their values.
  3. Process validations: This phase makes use of the validators to validate the validation rules on the fields..
  4. Update model values: In this phase JSF updates the actual values of the server-side model ,by updating the properties of your backing beans.
  5. Invoke application: Here the JSF controller invokes the application action to handle Form submissions.
  6. Render response: In this phase JSF displays the view with all of its components in their current state.

12. What is the difference between setting an immediate=true on a button and immediate=true on a text field?

When immediate is true on a button, the command’s action and ActionListeners, including the default ActionListener provided by the JavaServer Faces implementation, will be executed during Apply Request Values phase of the request processing lifecycle, rather than waiting until the Invoke Application phase.

In case of a text field, by default, values are converted and validated together in the Process Validators phase. However, if you need access to the value of a component during Apply Request Values – for example, if you need to get the value from an actionListener on an immediate commandButton – then setting this to “immediate” makes that possible.

13. What is inter-portlet communication?

Inter-portlet communication is achieved when an action in one portlet triggers a response in the second portlet. Its a communication bridge between two portlets. For eg, one portlet contains a checkbox containing list of products. When i choose a product from the list and click on submit, the other portlet displays the details of the respective product.




Leave a Reply

Your email address will not be published. Required fields are marked *