yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
Red Hat
The Opening of Virtualization
User Environment Management – The Third Layer of the Desktop
Cloud Computing for Business Agility
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Return on Assests: Bringing Visibility to your SOA Strategy
Managing Hybrid Endpoint Environments
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
How Can AJAX Improve Homeland Security?
Beyond Widgets: What a RIA Platform Should Offer
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
OpenXava 4.6: Open Source Rapid Development for WebSphere
OpenXava 4.6: Open Source Rapid Development for WebSphere

OpenXava is an open source framework for Rapid Development of WebSphere and WebSphere Portal applications, well-suited for business and database oriented applications.

OpenXava allows you develop applications just by writing simple domain classes with Java or Groovy. The user interface is generated automatically in runtime, without code generation.

OpenXava 4.6 has some new interesting features such as:

  • Custom reports generation from list.

  • It's possible to customize the list mode defining your own editor.

  • You can assign a model object (an entity or a transient object) directly to a View to populate it.

  • In the jUnit tests you can assert the content of generated PDFs

  • New @RowAction annotation for collections.

  • Labels and messages available in Russian.

  • The file name for generated reports includes model name and time.

And many other useful new features and bug fixes.

Custom reports generation from list

In list mode there is a new action called Custom report:

When the user clicks on it he gets the next dialog:

This dialog allows the user to define his own report. He can add and remove columns, specify filters, ordering and set the report title. It's true that the features are almost the same of the already existing Generate PDF, because the user has always been able to add, remove and move columns, and filter and order in the list. Maybe the only advantage of the new UI is that the user can specify ordering for more than 2 columns and that he can specify the report title. The important thing is that this new UI for reporting will allow us to add new interesting features in future versions, such as storing the reports by name to recover them afterwards, specifying labels and width for columns, using hidden columns for filtering and ordering, etc.

Custom editors for list mode

The standard list mode is very powerful and suitable for most case, but sometimes you need something special for your list. To meet this necessity we have added the possibility to define custom editors for @Tabs. Therefore, if you want the customers list would be displayed in this way:

You have to define a @Tab in your entity as following:

@Tab ( name ="Cards", editor="CustomerCardList",

properties="number, name, type,,"


And also define the editor in the editors.xml file of your project:

<editor name="CustomerCardList" url="customerCardListEditor.jsp"/>

Of course, you have to write customerCardListEditor.jsp to render the customers in your own way. Learn more details about how to choose an editor for a @Tab in the reference guide.

Moreover, it's possible to define an editor for all the lists of a model or even for all the lists of your application. Look at the customizing chapter of the reference guide.

With the addition of lists now we have editors for properties, references, collections and lists, thus the customization of the UI generated by OpenXava is total. You get exactly the UI you want.

Assigning model objects directly to View

Until now to put and get the data from a view based on a transient class you needed to use getView().get/setValue() with simple values or getView().get/setValues() with maps, you couldn't use the model object directly. Since OpenXava 4.6 you can use model objects to populate the view. So, a code like this is possible:

DateRange range = ... // DateRange can be an entity or a transient class


getView().setModel(range); // Populate the view with range data

This code populate the view with data from the DateRange object, even if the view currently is not displaying a DateRange the view is changed to display it.

Asserting PDF content in jUnit tests

Now you can verify that the content of the generated PDFs in your jUnit tests is the correct one. To do this ModuleTestBase has the following new methods: getPopupPDFAsText(), printPopupPDFAsText(), getPopupPDFLine(), assertPopupPDFLine(), assertPopupPDFLinesCount() and getPopupPDFLinesCount(). From now on you can write test code as following:



assertPopupPDFLine(1, "jUnit Carrier report");

assertPopupPDFLine(2, "Name Number Zone");

assertPopupPDFLine(3, "CUATRO 4 1");

A good news for all of us that love automated testing.

@RowAction for collections

@RowAction allows to define an action to be show in each row, but not in the collection button bar. If you write a code like this:

@OneToMany(mappedBy="parent", cascade=CascadeType.ALL)


Collection<OrderDetail> details = new ArrayList<OrderDetail>()

You'll get the next user interface for the collection:

Note as Reduce quantity action is in the row but not in the button bar. Read more about @RowAction at wiki.

And more

See changelog for the complete list of new features and fixes.

Download OpenXava 4.6 and try it

About Javier Paniza
Javier Paniza is the project lead for OpenXava project. He works as software developer at Gestión 400, a software company for public administration in Spain. He has been developing with Java Enterprise since 1998. Also he has been J2EE mentor for development teams in banking projects.

SOA World Latest Stories
"We started a Master of Science in business analytics - that's the hot topic. We serve the business community around San Francisco so we educate the working professionals and this is where they all want to be," explained Judy Lee, Associate Professor and Department Chair at Golden Gate...
There is a huge demand for responsive, real-time mobile and web experiences, but current architectural patterns do not easily accommodate applications that respond to events in real time. Common solutions using message queues or HTTP long-polling quickly lead to resiliency, scalability...
We call it DevOps but much of the time there’s a lot more discussion about the needs and concerns of developers than there is about other groups. There’s a focus on improved and less isolated developer workflows. There are many discussions around collaboration, continuous integration a...
The dynamic nature of the cloud means that change is a constant when it comes to modern cloud-based infrastructure. Delivering modern applications to end users, therefore, is a constantly shifting challenge. Delivery automation helps IT Ops teams ensure that apps are providing an optim...
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is founda...
"CA has been doing a lot of things in the area of DevOps. Now we have a complete set of tool sets in order to enable customers to go all the way from planning to development to testing down to release into the operations," explained Aruna Ravichandran, Vice President of Global Marketin...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)!

Advertise on this site! Contact advertising(at)! 201 802-3021

SYS-CON Featured Whitepapers