WebFrameworkSupport API Changes

The WebFrameWorkSupport API class has changed in the 6.0 release. The biggest enhancement is that the API was changed to the status of "public, under development". Before, it was a "friend" API, even though many (including myself) were treating it as a stable API. Making it a public API shows NetBeans's commitment to maintaining this API in the future in a compatible way.

The other enhancements were related to or caused by the changed status:

  • WebFrameworkProvider.getConfigurationPanel() and FrameworkConfigurationPanel were deprecated and replaced with WebModuleExtender. The main reason for this change was the unclear lifecycle of FrameworkConfigurationPanel. Imagine calling WebFrameworkProvider.getConfigurationPanel() twice: what should the method return on the second call? The panel returned by the first call? A new panel? The WebModuleExtender solves this problem.

  • WebFrameworkProvider.extend() was deprecated and replaced with WebModuleExtender.extend(). Again, the reason was the unclear lifecycle.

  • The API is not linked to the wizard API anymore (FrameworkConfigurationPanel used to extend WizardDescriptor.Panel). This fixes a design flaw in the API which made it hard to extend a web module from the project customizer, where there is no wizard available.

  • ExtenderController was introduced to allow a framework implementor to set error messages for the configuration UI.

I want to make use of the changed API soon and, when I do, I will report here on my findings. To see these changes in action already, should you need to do so, see the Struts and JSF framework support classes in the NetBeans sources, which have been upgraded. However, in order to avoid losing history, they weren't renamed. So, even though the Struts class should be called StrutsWebModuleExtender, it is still called StrutsConfigurationPanel.

Of course, the first and best place to read about NetBeans APIs is the related Javadoc:

org.netbeans.modules.web.spi.webmodule.WebFrameworkProvider

Thanks to NetBeans engineer Andei Badea for providing all this information.

Update: Go here to see an implementation of the new 6.0 version of this API, as outlined above.

Comments:

Thanks! for this info. Well I am working on a framework support for Stripes. I have solved the problem that i wrote in my priviest post. As always problems have much easier solutions then first looked upon. One of the problems was this "StrutsWebModuleExtender, it is still called StrutsConfigurationPanel.". This made it hard to find a god example on how to implement a proper solution. Anyway your PDF file on the subject is a great help, and i keep you posted.

Jocke

Posted by Jocke on January 03, 2008 at 07:14 AM PST #

is javaphone in use?i want to develop a video conference s/w

Posted by mridu paban on April 07, 2008 at 02:08 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
12
13
14
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today