I work as a Technical Leader for Genesis in Geneva (Switzerland). I develop Software applications in many projects from the scientific to the financial sector. I’m mainly focused on Java and JavaEE technologies. I started using NetBeans and NetBeans RCP one year ago (November 2011). Frédéric has posted 1 posts at DZone. You can read more from them at their website. View Full User Profile

Hydraulic Modeling Software on the NetBeans Platform

12.04.2012
| 4169 views |
  • submit to reddit
Fudaa-Crue is a hydraulic modeling software specified and sponsored by the CNR (Compagnie National du Rhône), a company dedicated to energy production, navigation, and supplying irrigation and other uses for agriculture.

The main goal of Fudaa-Crue is to provide a user interface and to pilot the solver Crue (to be used in the field of free-surface flows) developed and owned by the CNR.

Fudaa-Crue is developed by Genesis Groupe, a medium-sized French IT services company, which works with big organizations. The company has three locations: Lyon (France), Paris (France) and Geneva (Switzerland).

The application

Fudaa-Crue is composed of 5 perspectives:

  • The study perspective manages a whole study and its different scenarios.
  • The Modeling perspective allows editors to edit a scenario. The hydraulic model (1D) is automatically georeferenced and displayed in a 2D visualization view. Connections with GIS systems are also available.
  • The Log perspective gives complete information about the execution of the solver Crue
  • Thanks to the OTFA perspective, the user can manage automated test campaigns that launch and compare results of simulations. This tool compares object graphs and is fully configurable via xml files.
  • The Report perspective is the post-processing perspective. Several views (2D view, transversal view, longitudinal view …) are available and fully customizable. The views configuration can be saved and copied by the user. The views can also be exported in image or video format (avi, flash, gif).

Report Perspective

The Report perspective

Sydoc

A custom help system (SyDoc) is also available with search capabilities. This system is fully integrated with other perspectives. The Help system (SyDoc) is a custom tools and doesn’t use JavaHelp. It offers an administrator mode used to build a TOC from a help folder (containing html files) without editing any XML files. Thanks to this mode, the user can also check the documentation regarding broken links.

In the next release, JavaFX and its WebView will be used to replace the current browser.

Sydoc

Sydoc: the help system

Future development

The next step will be to integrate a 3D view for the pre and post processing steps. A better integration with GIS tools is also under development.

Development

Technically, Fudaa-Crue is built on top of the NetBeans Platform (7.1) and Fudaa.

Modules

The application uses Maven as the build tool and is composed of  several modules:

maven modules

The NetBeans UI modules are prefixed by Crue UI.

NetBeans Platform

Thanks to the NetBeans Platform, building a modular application is easy thanks to the Service Provider Interface and the Lookup API.

The Node and Explorer API is intensively used by the different views (TopComponent). The difficult part was about the editors and how to render the node properties. The page Customizing how Properties are displayed is very useful. At first, we encountered difficulties to display ComboBox, create custom Inplace editor or custom editor … For instance, we created custom editors like SliderInplaceEditor used to display a JSlider as an inplace editor.

Fudaa

Fudaa is a framework dedicated to hydraulic scientific codes. The visualization views (1D, 2D) and the integration with GIS are the main features used in Fudaa-Crue.

Extern tools

It uses several others components like:

JXPath, which is used in the study comparison system (to query the graphs of objects)

Lucene to index the help system

JIDE Common Layer (Swing components)

License

Fudaa-Crue is available under the GNU General Public License (GPL) v2.

The project can be downloaded from sourceforge and the sources are available here.

Published at DZone with permission of its author, Frédéric Deniger.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)