Refreshing child node in the tree in ADF

Requirement – To refresh the tree child node. Executing the top level view object instance alone is not enough. This is because when you expand a parent node, if the
framework identifies any existing query collection for the row filter supplied by the parent row, the existing query collection cache will be reused for displaying
child nodes. To refresh specific child nodes, you will have to find the appropriate child row set and refresh it by calling the executeQuery() method.

For example. We have displaying country in tree node. In Child node we are displaying the states. For we will taking out the country id and fetch the row on basis of countryID and get the rowset
and call executeQuery() method and it will refresh the child node as well.

Below is the code.

public void refreshChildStates(Number CountryId) {
//Gets the VO used for parent node
ViewObjectImpl vo = getCountry();
//Read the row using Key CountryId
Row[] countryRow= vo.findByKey(new Key(new Object[] { CountryId}), 1);
RowSet childRows =
(RowSet)stateRow[0].getAttribute("States")';
childRows.executeQuery();
}

Happy coding with Techartifact…

Adding Porlet into Webcenter Application

If you have portlets based on JSR 168 or JSR 286 and you want to add in webcenter 11g application.Oracle WebCenter Framework enables you to consume a portlet by registering its producer either with an application or with the Resource Palette from where you can add it to any application. After you register the producer, its portlets appear under the registered producer’s name under the Connections node in the Application Resources panel or in the Resource Palette.

For this you need to register WSRP portlet producer .If porlets JSR 168 is WSRP 2.0 enabled then it can be usable in webcenter 11g.

Register a WSRP portlet producer:

-> In the Application Resources panel of the Application Navigator, right-click Connections, choose New Connection and then choose WSRP Producer.
-> Use the Register WSRP Portlet Producer wizard , provide information and register .

Adding Portlets to a Page

Placing a portlet on a WebCenter Portal application page is a simple matter of dragging the portlet from the Application Resources panel or Resource Palette and dropping it on the page.
In the Application Navigator, open the application that contains the page (.jspx file) to which you want to add the portlet.
Under the Connections node in the Application Resources panel of the Application Navigator, or in the Resource Palette:
If the producer is a WSRP producer, expand the WSRP Producer node.
If the producer is a PDK-Java producer, expand the Oracle PDK-Java Producer node.

Expand the node for the portlet producer that contains the portlet to add to the page.Under the selected producer, all portlets contained by that producer are listed.
Drag the portlet from the producer node directly onto the page.You should drag the portlet onto a form on the page.

When you add a portlet to a page, a portlet tag (adfp:portlet or adfph:portlet) is added to the page source. This is the tag that represents the portlet component. This tag includes attributes that you can edit using the Property Inspector, or in the page source, to further control the behavior and appearance of the portlet.

The type of portlet tag used is determined by the following:

->If the project is configured for rich client components alone, the adfp:portlet tag is used.
->If the project is configured for Trinidad components alone, the adfph:portlet tag is used.

  <adfp:portlet value="#{bindings.FooterPortlet1_3}"
                            portletType="/oracle/adf/portlet/SamplePortlets_1257247466260/ap/E2default_ba133935_0124_1000_8008_0a093208e9fc"
                            id="portlet18" binding="#{backing_home.portlet18}"
                            displayHeader="false" width="100%"
                            renderPortletInIFrame="false"
                            displayScrollBar="false"/>


You can add the attributes by changing the source code or using property Inspector .