Tuesday, September 25, 2012

Free version of Oracle ADF - ADF Essentials

Great news from Oracle today, the Ellison's Company announced a completely free version of Oracle ADF, the Java Development Framework.
This ADF version is named Oracle ADF Essentials and with it you are able to develop and deploy applications that include ADF Business Components, ADF Controller, ADF Binding and ADF Faces Rich Client Components without licensing costs.
You can deploy your ADF Essentials applications on no-cost Oracle Glassfish application server.

Follow few useful links about this new:

Dive into ADF
OTN Page
Shay Shmeltzer's Weblog - Deploying Oracle ADF Essentials Applications to Glassfish

Bye bye

Thursday, August 23, 2012

ADF - Refresh page programmatically

Some times when you develop your ADF application, you need to refresh programmatically a page. You can achieve this using the internal page ID in backing bean class usgin the following code:


ViewHandler vh = fctx.getApplication().getViewHandler();
String pageId = fctx.getViewRoot().getViewId();
UIViewRoot vr = vh.createView(fctx, pageId);
vr.setViewId(pageId);fctx.setViewRoot(vr)

Tuesday, August 07, 2012

ADF - Refresh child Iterator via View Link Accessor

I'm back... after few months I found five minutes to write a short post on my blog, from Sydney, my new home.

There are a lot of use cases where you need to refresh child iterators of a master ViewObject via View Link Accessor, for example in tree component. In this post I'm writing a simple implementation to achieve that.
DCIteratorBinding masterIterato = .....
ViewObject vo = masterIterato.getViewObject();
Row[] deptRow = vo.findByKey(new Key(new Object[] { objectId }), 1);
RowSet childRows = (RowSet)deptRow[0].getAttribute("ViewLinkAccessorName");
childRows.executeQuery();
In the code you can show the way to obtain the RowSet representing the child rows of a specific master Row, then re-execute the query of RowSet. Master Row is found via findByKey method on ViewObject.


Wednesday, February 22, 2012

Oracle Webcenter Spaces and web.xml issue


I would like to share with you the solution to a common issue about extension of Oracle Webcenter Spaces. In this post I’m not going to explain the steps to extend your spaces instance, my purpose is just to give you a tip to resolve this unpleasant error:

OracleJSP error: oracle.jsp.parse.JavaCodeException: Line # 6, oracle.jsp.parse.JspParseTagScriptlet@54e237e9Error: Java code in jsp source files is not allowed in ojsp.next mode.

This issue attempts when you create a custom task flow to use in WebCenter Spaces. The typical steps are:
  • Build your custom task flow
  • Deploy custom task flow as an ADF Library
  • Add generated jar into the WebCenterSpacesSharedLibExtension project
  • Deploy WebCenterSpacesSharedLibExtension project to Spaces Domain


You don’t get any error message during these steps, but when you try to open Webcenter Spaces login page, the browser displays the message above!

To fix this problem you simply need to “clean” the web.xml file of WebCenterSpacesSharedLibExtension project. In fact when you add your custom task flow jar to extension project, Jdeveloper adds some wrong lines in web.xml. You can override the broken file with the vanilla web.xml that ships with the WebCenterSpacesSharedLibExtension project and redeploy the project!

It is just a ‘stupid’ problem but It can took many hours to get the solution. I hope this post can help you!

Bye bye
Emilio

Saturday, February 11, 2012

ADF - Create and Populate new Rows on ViewObject with Multiple Updateable Dependent Entity Objects


This is my first post on my new Blog and I would like to share with you the solution for a very common ADF BC case study: Create and Populate new Rows on ViewObjectwith Multiple Updateable Dependent Entity Objects.