Saturday, November 17, 2012
Oracle ADF Essentials
Oracle Application Development Framework (Oracle ADF) is a Java EE development framework that simplifies and accelerates enterprise application building. Oracle ADF Essentials is a free packaging of this framework that can be used to develop and deploy applications without licensing costs.
Saturday, October 6, 2012
JSF: setting EL expression programmatically
Create a JSF component programmatically and setting a property dynamically (eg disabled, visible, etc).
Solution
Java Server Faces provides an expression language (JSF EL) used in web application pages to access the JavaBeans components in the page. It is possible to set it programmatically using a javax.el.ValueExpression, an abstract class that provides the API for the Unified Expression Language.
Monday, August 6, 2012
Oracle ADF: af:navigationPane instead af:panelTabbed
Issue
Show Database table rows in an ADF Page using tabs: Each tab have to represent a table record and content's information, there could be many tabs to show.Solution
The tab content has the same structure for every DB table row. It's possible to use the af:panelTabbed and af:showDetailItem for each row, iterating it with an af:iterator.<af:panelTabbed>
<af:iterator>
<af:showDetailItem>
.....
<!-- tab content -->
.....
</af:showDetailItem>
</af:iterator>
</af:panelTabbed>
This approach has a disadvantage: the page is rendered with each tab and its content, duplicating the tab detail for each rendered tab (tab content could be very complex). If, in the page, there are many tabs it could slow down the page behavior.
An alternative approach could be simulate the tab behavior using an af:navigationPane. In this case a af:forEach iterates the tabs component represented by the af:commandNavigationItem.
Wednesday, March 30, 2011
Oracle JPublisher to call a stored procedure that use PL/SQL Object Collections
Monday, July 6, 2009
The annotation @WebServiceRef
To invoke a method on a session bean, a client does not directly instantiate the bean using the new operator. It use the Dependency Injection (DI) to references the session bean. It is a powerful mechanism used from JavaEE 6 to obtain a resource reference on an object field. It is possible to inject various type of resource, as shown in the next picture (see more …).
Sunday, June 28, 2009
Servlet Reval
Servlet 2.5 vs Servlet 2.4
The Servlet Version 2.5 introduces an important feature, that makes servlets "modern": the use of J2EE 5 Containers. Other relevant new features are the introduction of Multiple Occurrences for servlet mapping and filter mapping (see more…).
Servlet 3.0 vs Servlet 2.5
The Servlet version 3.0 follows on from the Servlet 2.5 revolutionary road introducing support for annotations and web fragments and support for suspend / resume to allow async support in servlets. Reading Java Servlet Specification 3.0 (proposed final draft) you can see the changes to Servlet 2.5 as very relevant (see more…).
Thursday, June 18, 2009
Java.nio vs Java.io
This document is not a Java.io or a Java.nio manual, or a technical document about Java.io and Java.nio use. It only attempts to compare these two packages, highlighting differences and features in the most simple way. Java.nio presents new stream commrunication aspects and inserts new buffer, file streaming and socket features (see more …).
java.io overview
This package is used for system input and output through data streams, and serialization. Streams support many different kinds of data, including simple bytes, primitive data types, localized characters, and objects (see more …).
File I/O, java.net socket, and more …
NIO API
The I/O performance, often, is a modern application critical aspect. Operative Systems (OS) continuously improve the I/O performance. JVM provides a uniform operating environment that helps the Java programmer in most of the differences between operating-system environments. This makes it faster and easier to write, but the OS feature becomes hidden. To increase IO performance you could write a specific code to access the OS feature directly, but this isn’t the best solution - your code could be OS dependent. Java.nio provides new equipment to address this problem. It provides high-performance I/O features to perform operations on commonly available commercial operating systems today (see more …).