New and Noteworthy in NetBeans 6.0 Milestone 7
Stabilization starts Feb 12th.
The Java EE Verification module has been partially migrated to the new infrastructure. In 6.0 it will be split into a number of modules such as JPA Verification, EJB Verification, JAX-WS Verification. Checks and resolutions implemented so far:
|Assertion||Description||Available quick-fix actions|
|ConsistentAccessType||entity, embeddable, mapped super class and id class must have consistent (either field or property) access type|
|HasNoArgConstructor||entity, embeddable and id class must have public or protected default constructor|
|IdClassOverridesEqualsAndHashCode||id class must override equals() and hashCode() methods|
|IdDefinedInHierarchy||ID must be defined in entity hierarchy|
|NoIdClassOnEntitySubclass||entity class that extends another entity must use IdClass|
|NonFinalClass||entity, embeddable and mapped super class must not be final|
|PersistenceUnitPresent||a project that contains entity class should probably contain persistence.xml as well||Create persistent unit...|
|PublicClass||entity, embeddable, mapped super class and id class must be public|
|SerializableClass||entity, embeddable and id class should implement java.io.Serializable interface|
|TopLevelClass||entity, embeddable and mapped super class must be top-level|
|ValidPrimaryTableName||primary table name must not be empty, be a JPA-QL reserved keyword and should not be SQL-99 reserved keyword|
Java Web Start support for J2SEProjects
- Support for creating and maintaining JNLP file for J2SEProject
- Project can be run and debugged locally using javaws client
- Syntax coloring for JNLP file
- Two panels in J2SEProject customizer added - one for setting Common Application properties and second for setting Web Start specific properties, see screenshots:
- After project is Web Start enabled user can select Run Configuration to Run and Debug the project using javaws client, see screenshot:
Now it is possible to edit subversion properties from the IDE
Expression stepping in Debugger
A new kind of step is introduced. It allows more fine-grained stepping in large expressions. The expression step goes over the next method call in the expression and displays return values of executed methods. A new style of highlighting is introduced in editor:
And return values of methods are available in Local Variables view:
Theme for this milestone
M7 is the first appearance of Visual Web Pack capabilities in NetBeans 6. The primary goal for this milestone is to establish the basic visual web infrastructure on top of Retouche and bootstrap as many UI elements and features as possible. Given the extensive modifications required to refactor the code for open source, and migrate the source modeler to Retouche, visual web development features are significantly limited in this milestone build compared to the Visual Web Pack 5.5.
The VW team will produce (one last time) a pack installer that our internal QA can use to test the limited functionality in M7 and run some performance benchmarks. We do not plan to publish this installer on netbeans.org. If anyone in the community is interested in trying M7 bits, they can always download the source and build it themselves.
Expect to see the following in M7:
- Create a Java EE 1.4 Visual Web Project
- Create a Java EE 5 Visual Web Project
- Open the default page.jsp in the visual designer
- View the Application Outline for the page
- View the Bravehart components in the component palette (Java EE 1.4)
- View the Woodstock components in the component palette (Java EE 5)
- View the property sheet (updated based on selected component)properties are NOT EDITABLE
- View the Dynamic Help window
- Drag & drop any component onto the design surface
- Reposition components on the design surface
- Switch between design view and source view for any page
- Build & Deploy the project
- Save & Reload the project
- Invoke the page flow navigator from project's navigation node. Pages visible in navigator but no ability to actually link pages yet.
The following will not be functional in M7
- Changing component properties. This limitation cascades into many other features that will be constrained until insync phase II (M8) is complete.
- Drag & drop database table or view onto design surface. Rowset appears in Application outline. Component databinding not yet supported.
- Access Query editor from Application Outline / edit rowset query
- Resizing, components
- Data binding components
Additional notes on specific areas:
- Visual Web code available in open source CVS repository on netbeans.org with the following two possible exceptions:
- Bravehart runtime code checked in as a binary library
- Custom sql.rowset implementation checked in as a binary library
- Project page with build instructions
- Separate Visual Web Project type. Although the plan is to merge Visual Web Application projects with Web Application projects, M7 shows two distinct project types in the Create Project wizard. Select Visual Web Application to invoke the Visual Web features, just as in VWP 5.5.
- M7 shows a project logical view similar to that of VW in 5.5
- M7 still contains the closed source Bravehart and Woodstock component sets
- Insync has removed all references to the obsolete MDR-based java model.
JBoss AS 5.0.0.Beta2 (not officially released yet) support has been added. It is now possible to register and run the server and create, deploy and run Ejb, Web and Ear modules compliant with Java EE 5 specification.
Report Exception from IDE
Milestone 7 enables reporting NetBeans errors directly from IDE. When the exception is thrown the users can report in from error dialog when clicks on report button. The exception can be sent as anonymous or with Issuezilla login.
All NetBeans icons have been redesigned.
M7 also can be installed via NBI. NBI (aka NetBeans installer) is the new concept of NetBeans installation.
NetBeans Installer is a new project initiated by the NetBeans Enterprise Pack installer team. The NetBeans installer provides an enhanced experience for users who install the NetBeans IDE and accompanying components. Another goal is to provide the community with a stable, robust installer engine that can be used to install applications developed using the NetBeans IDE. You can read more NBI project
- Significant performance improvements for Live Results Categorization & DrillDown
- HeapWalker improvements: Show Nearest GC Root feature, filtering classes list by superclass or interface
- Tracking number of loaded classes in VM Telemetry - IZ 55209
'Native' GTK L&F enabled by default
On Solaris and Linux boxes NetBeans M7 will start in GTK L&F by default. Using GTK L&F, NetBeans looks native and integrates nicely into OS window manager, respecting the theme which is currently set. NetBeans will start in native fashion if following conditions are met:
- Solaris or Linux station with Gnome window manager
- JDK version 1.6.0_01 (update 1) or higher, download from java.net
NetBeans can still be run in Metal L&F (also known as Java cross platform L&F) using the command line option: --ui javax.swing.plaf.metal.MetalLookAndFeel
Nimbus theme, Solaris:
Grand Canyon theme:
- Abbreviations now expanded with Tab instead of Space. This helps to prevent unexpected expansions (especially for certain two-letter abbreviations) while retaining ease of expansion (one key instead of a key combination). If you prefer the old way, you can change the default expansion key in the Tools | Options window.
- New shortcuts for AST based selection. Press Alt+Shift+Up to expand the selection and Alt+Shift+Down to shrink the selection based on the structure of your Java source code.
- Overrides and implements annotations are back. Unlike in 5.5 they are now clickable. Clicking on them will take you to the overridden method resp. to the method declaration in the interface.
- Initial version of the code generation dialog was implemented. The GUI may change a bit but it basically does what it should do. Press Alt+Insert to invoke the code generation menu.
- Hints for Javadoc. Missing or erroneous Javadoc can now be discovered and fixed using hints. As there is no GUI yet for hints settings you might be interested in following system properties which can limit the number of hints shown.
org.netbeans.modules.javadoc.hints.Visibility=[[Protected|package|private| public]] org.netbeans.modules.javadoc.hints.MissingJavadocLimit=[Int] org.netbeans.modules.javadoc.hints.FixJavadocTagLimit=[Int]
(To set a system property, add -J-Dkey=value to your etc/netbeans.conf file.)
EJB code generation actions
Added EJB-related actions in editor popups.
- Add Business Method action
- Use Database action
- Send JMS action