Skip to main content the Week in Review - May 1, 2010

Posted by editor on May 1, 2010 at 12:36 PM PDT

This is the first edition of a new column I'll be writing each weekend titled " the Week in Review." In the column, I'll present all of the previous week's Java Today news items, a selection of blog posts, polls, and spotlights.

I'll organize the presentation by categorizing the featured news items, so if, for example, your interest is JavaEE and GlassFish, you'll be able to find all the JavaEE/GlassFish content we featured on in the past week in one place. Of course, sometimes a single piece actually covers a range of topics. In those cases, I'll try to put the item into the category that the piece is "most" about.

This week's index:

Tools, IDEs, etc.

Geerjan Wielenga continued his Small MultiView Editor Experiment (Part 2):

The sample for developers creating multiview editors on the NetBeans Platform (described yesterday in this blog) is now slightly more extensive, since you can add new nodes in the visual view, which will then automatically be added to the source editor (as well as the visual editor, of course)...

Mitchell Pronschinske presented A Guide to Maven 3 Beta:

In just over six years, Apache Maven has become one of the most coveted tools for project build and reporting management. It's been five years since the release of Maven 2 and now the Maven committers have released the next landmark version of the software. The first beta release of Maven 3, which is now feature complete after 7 public alphas, was released this week. Maven founder and Sonatype CTO Jason van Zyl answered some questions for DZone about Maven 3 earlier this month. Below are the main new feature categories of Maven 3...

Last week's Spotlight was the NetBeans IDE 6.9 Beta Release:

NetBeans 6.9 Beta introduces the JavaFX Composer, a visual layout tool for visually building JavaFX GUI applications, similar to the Swing GUI builder for Java SE applications. Additional highlights include OSGi interoperability for NetBeans Platform applications; support for JavaFX SDK 1.3, PHP Zend framework, and Ruby on Rails 3.0; as well as improvements to the Java Editor, Java Debugger, and issue tracking, and more. NetBeans 6.9 Beta is available in English, Brazilian Portuguese, Japanese and Simplified Chinese, as well as in several community-translated languages. Learn more:

Tor Norbye presented an IDE tip: Go To Implementation:

One of the best parts of using an IDE instead of an editor is "Go To Declaration". When you hold the Control key (or the Command key on Macs), identifiers under the mouse turn into hyperlinks and when you click on the hyperlink you jump to the declaration point of say the method call. You can also just hover over the hyperlink, and a tooltip will pop up and show you the signature of the identifier - the fully qualified type name, method arguments, and so on. But what if the thing you are pointing at is an interface? Or an abstract class? ...

Geertjan Wielenga discovered the Keyboard Shortcut Card for NetBeans Macophiles!:

Good news for Mac users of NetBeans IDE. In 6.9, when you're using the Mac and go to Help | Keyboard Shortcuts Card, you will get a Mac-specific keyboard shortcut card...

John Smart posted Grouping tests using JUnit categories: In a well-organized build process, you want lightning-fast unit tests to run first, and provide whatever feedback they can very quickly. A nice way to do this is to be able to class your tests into different categories. For example, this can make it easier to distinguish between faster running unit tests, and slower tests such as integration, performance, load or acceptance tests. This feature...

Kohsuke Kawaguchi posted Interview with DZone: I did a quick interview with DZone about my new company, InfraDNA.

Kohsuke also posted Introducing InfraDNA, the Hudson company: My new company, InfraDNA, is open for business for all things Hudson

The current Poll asks Do you plan to download the new NetBeans IDE 6.9 Beta release? The poll will run for the next week.

JavaEE, GlassFish

Pelegri presented Fundamo, OSGi, iPad.. and More GlassFish News - April 24rd, 2010:

Financial services on the go - GlassFish for Fundamo and profit: Alexis recently published a new Adoption Story on how Fundamo uses GlassFish v2 and OpenMQ for its Enterprise Platform. Overview at stories entry, details in questionnaire, and an overview in this earlier short video interview. We are always interested in more GlassFish adoption stories, both from (non-paying) users and from (paying) customers.   Stories come from all industries and around the world, the last few entries are PSA Peugeot Citroën (France/Auto), iVox (Belgium/Print), NHIH (US/Gov-Health Care) and Suncorp (Australia/Finantial)...

Arun Gupta presented TOTD #130: Invoking a OSGi service from a JAX-WS Endpoint - OSGi and Enterprise Java:

Sahoo blogged about JAX-WS Web service in an OSGi bundle. This Tip Of The Day (TOTD) provides complete steps to create such an application from scratch. We will create an OSGi service, a JAX-WS compliant Web service as hybrid application, and a JAX-WS Web service client. Lets create an OSGi service first. 1. Create a simple OSGi service as explained in TOTD #36. Generate the maven project as...

Alexis Moussine-Pouchkine discussed WEB-INF/lib/{*.jar}/META-INF/resources:

Modularity is one of the themes for Java EE 6 and servlet 3.0 fragments one often mentioned as one examples of this (see details here). This blog entry is about a small yet very useful new feature of the servlet 3.0 specification to deal with static content such as images, CSS or JavaScript. Before servlet 3.0, images could be made accessible from the root of the web applications but that meant copying the files to the WAR archive and keeping them up-to-date. This certainly meant a solution tightly coupled with the web application development and packaging. The other option was to place this static content in the docroot of the application server...

Pelegri posted CLI, Roller, Jersey, JavaOne... and More GlassFish News - April 27th, 2010:

Install and Run Apache Roller 4.01 on GlassFish and OpenSolaris: Dave Koelmeyer has posted Detailed Instructions on how to install Apache Roller 4.01 on GlassFish v2.1 using MySQL 5.1 for storage.  He uses OpenSolaris snv_134, the subject of a tea-leaf-reading thread. Slides and Code Samples on Jersey and JAX-RS: The Slides and code from Paul Sandoz's presentation at Presentation at AlpesJug on Jersey, JAX-RS and Atmosphere are now now available.  The actual presentation was in French, but the slides are in English, and the code is... code. Invoke OSGi Service from JAX-WS Endpoint ...

Arun Gupta presented TOTD #131: Dynamic OSGi services in GlassFish - Using ServiceTracker:

OSGi is the dynamic module system for Java. Each module, or bundle as called in OSGi terminology, is packaged as a JAR file and the inbound and outbound dependencies are explicitly defined using the META-INF/MANIFEST.MF in the JAR file. A complex software system may be broken into multiple modules where each module may be exposing a set of services. These services are then consumed by some other "client" OSGi bundles. The beauty of dynamic nature of OSGi is that each bundle can be easily updated without restarting the framework...

Laird Nelson experimented with Pushing Jersey to the limit: In which our hero makes Jersey dance in ways that probably make the Jersey authors take to their sick beds with a headache.

Masoud Kalali presented Learning GlassFish v3 Command Line Administration Interface (CLI): This article introduces GlassFish CLI or command line administration console. GlassFish provides several administration channels; one of them is the command line administration interface or CLI from now on. The CLI has many unique features which make it very convenient for command line advocates and new administrators which like to get familiar with CLI and use it in the daily basis. The CLI allows us to manage, administrate, and monitor any resources which application server exposes to the administrators.


Dustin Marx posted Effective Exception Handling is Covered Effectively in Effective Java:

I recently wrote that the chapter in Effective Java devoted to exception handling has been one of the most influential software development chapters I have read. The value of this chapter was reinforced by Elliotte Rusty Harold's blog post Bruce Eckel is Wrong. Harold's main assertion is that Eckel was wrong to write that checked exceptions must be caught at time of encounter because they don't necessarily need to be caught if they are declared as part of the method's throws clause...

Michael Huttermann presented Agile ALM: Additional information, discussions, source code, ..:

I have created a project on Kenai to host accompanying sources for my book Agile ALM. I added configuration and test scripts to demonstrate discussed concepts, where appropriate. Some of the scripts are contributed by the leading experts of the covered topics, others were created in close collaboration. In my book, one of the major tool backbones is Maven. As a result, most of the provided scripts are Maven scripts. Much more details will follow...

James Sugrue continued his design pattern series with Design Patterns Uncovered: The Mediator Pattern:

Today's pattern is the Mediator pattern, used to handle complex communications between related objects, helping with decoupling of those objects. Mediator in the Real World: An airport control tower is an excellent example of the mediator pattern. The tower looks after who can take off and land - all communications are done from the airplane to control tower, rather than having plane-to-plane communication. This idea of a central controller is one of the key aspects to the mediator pattern...

Dustin Marx compared and contrasted Turn Signals and Coding Conventions:

In How Turn Signals Work, Karim Nice writes "Turn signals may be the most underutilized device on a car." I sometimes feel that when I witness drivers who cannot be bothered with indicating their intentions through use of a turn signal. Besides being simple common sense, the importance of using a turn signal to convey intentions to others is documented by multiple groups and individuals including driver safety informational sites, automobile insurance sites, law firms and legal information sites... Coding conventions are much like turn signals in that they are often a preferred and expected form of communication between developers who might not have an easier way to communicate the same information. Unfortunately...

We're featuring The Match Maker Design Pattern - a New Place for the Actions, a new article by Michael Bar-Sinai, which describes how to add actions to a system without modifying business objects, add objects without changing actions, and still keep things reusable

Calvin Austin talked about the Easiest way to ship buggy applications: Would you send your food back at a restaurant if they left a food wrapper inside. Would you complain to the car to the shop if they left the used oil jug under your hood? Why then is software shipped with orphaned, obsolete software with it?

Bruno Ghisi demonstrated DIME - Dependency Injection for Java ME: DIME (Dependency Injection for Java ME) is a very interesting project for dependency injection that does not use reflection. It was designed to be used with Java ME, but can be used in other platforms.

Platforms, Frameworks

Kirill Grouchnikov described Using Flamingo 5.0 command buttons to build a breadcrumb bar:

Flamingo component suite began its life in January 2006 when Rick Jeliffe of Topologi has contacted me and proposed to open-source their own implementation of the breadcrumb bar component. In the years since i have hacked at different pieces of the breadcrumb bar implementation. As with any significant piece of code that you get to maintain and extend, it takes some time to find your way around the code, and this was no exception...

Terrence Barr reviewed last week's significant releases in JavaFX 1.3 and NetBeans 6.9 Beta released:

A few days ago JavaFX 1.3 as well as NetBeans 6.9 Beta were released, featuring a host of significant improvements in many areas. I won’t be covering all the the changes but will highlight the most important ones and provide pointers to more information. So, let’s dive in: JavaFX 1.3 improvements...

I wrote about last week's poll result in Poll Result: New JavaFX 1.3 UI and Performance Improvements Considered Most Important.

Open Source Projects

Frank Kieviet, departing manager of the OpenESB project, presented Working with tips and tricks for project owners:

In the past two years I've managed the OpenESB open source project. This project is hosted on In this post I outline a number of tips and tricks I've learned while managing this project on This is useful information for my successor, but it also may be useful to other people who are managing projects on Web presence: An important factor in the success of an open source project is its web presence: it will be the first point of contact between a potential new user and the project. New visitors will want to see answers to these four items immediately...

Michael Van Geertruy posted his first blog, FossESI Phase 1 Research Kickoff!: On April 28th, 2010, we will be kicking off the first phase of FESI's research. This where we set up the project, and start to get our hands dirty. Attached is the flyer we will use to promote FESI and what we're trying to accomplish. Hopefully it will help us get the word out to the local community. Also as the kickoff, we'll be participating with a networking group that meets...

Michael also presented The Three Phases of FESI research: FESI Research Program Overview FESI is the Free and open source software Enterprise Solutions Institute. We are a research program designed to study tomorrow's internet technologies as a means to teach folks in the local workforce how to use technologies our customers will likely want to implement. We also perform this research to prepare local engineers with the knowledge and...

Web Services and XML

David Geary continued his JSF 2.0 article series with JSF 2 fu: Ajax components:

Among JSF 2's many new features, two of the most compelling are arguably composite components and Ajax support. But their strength is most apparent when the two are combined, making it easy to implement Ajax-enabled custom components with a minimum of fuss. In this article, I'll show you how to implement an autocomplete component that uses Ajax to manage its list of completion items. In doing so, you'll see how you can integrate Ajax into your own composite components...

We published Michael Quigley's article, Rapid Web Services Development with Moose XML, which shows you how Moose XML can simplify the task of prototyping and rapidly developing XML web services.


Shai Almog presented Musix On The BlackBerry Device:

I got a demo device from TriPlay to show off Musix running on the blackberry device using the blackberry native LWUIT port. The UI worked pretty smoothly and was relatively easy to port, most of the work in porting was related to networking on the RIM devices which is really complicated. While the menus/UI is in Hebrew the application shows off background downloading with decryption on the fly...


Derek White said "It's Not About the Robots":

Dean Kamen, serial inventor and founder of FIRST (For Inspiration and Recognition of Science and Technology), often says this phrase at regional and championship FIRST Robotics Competitions. What is it about? This is my first year with skin in the game – not with a team, but as part of the group at Oracle and WPI porting and supporting Java for the robotics competition...


We published HTML5 Server-Push Technologies, Part 2, an article by Gregor Roth; this two-part series explains the new Server-Sent Events and WebSockets API in HTML5.

Conferences, JUG Meetings

Tori Wieldt recently interviewed Sharat Chander, and published JavaOne 2010: Interview with the Sharat Chander, Content Selection Chairperson:

There's lots of buzz about the content for JavaOne 2010. I took a moment to talk with Sharat Chander, Principal Product Director in Oracle's Application Grid Product Marketing Team, about the content selection process for JavaOne.

Subscriptions and Archives: You can subscribe to this blog using the Editor's Blog Feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham
O'Reilly Media
Twitter: @kevin_farnham