Java News from Wednesday, December 28, 2005

Sun has posted the early draft review of JSR-270 Java SE 6 Release Contents. The download appears to be corrupt, but Mark Reinhold has posted a nice summary which I quote from here:

client2dGIF image writer
awtAccess to desktop helper applications
Fast splash screens
Improved modal dialogs
System-tray support
i18nPluggable locale data
Resource-bundle enhancements
Unicode string normalization
swingBaseline/gap APIs
Improve Swing drag-&-drop
JTabbedPane: Tabs as components
JTable sorting, filtering, and highlighting
Text-component printing
coreJSR 223: Scripting for the Java Platform
debugAccess to heap contents
Multiple simultaneous agents
libsArray reallocation
Collections: Deques
Collections: Sorted sets and maps with bidirectional navigation
Critical file-I/O enhancements
Floating point: Add core IEEE 754 recommended functions
java.util.concurrent updates
JSR 202: Java Class-File Specification Update
Password prompting
Reflective access to parameter names
Service-provider lookup
m&mGeneralized lock monitoring
Generalized MBean descriptors
Generic annotations for MBean descriptor contents
netInternationalized domain names
Internationalized resource identifiers
Programmatic access to network parameters
Simple HTTP cookie manager
secJSR 105: XML Digital-Signature APIs
toolsJSR 199: Java Compiler API
JSR 269: Pluggable Annotation-Processing API
eeJSR 250: Common Annotations
jdbcJSR 221: JDBC 4.0
xmlJavaBeans Activation Framework (JAF) 1.1
JSR 173: Streaming API for XML (StAX)
JSR 181: Web-Services Metadata
JSR 222: Java Architecture for XML Binding (JAXB) 2.0
JSR 224: Java API for XML Web Services (JAX-WS) 2.0

Comments are due by February 19.

Etienne M. Gagnon, Ben Menking, Mariusz Nowostawski, Komivi Kevin Agbakpem, and Kis Gergely have released SableCC 3.2, "an object-oriented framework that generates compilers (and interpreters) in the Java programming language. This framework is based on two fundamental design decisions. Firstly, the framework uses object-oriented techniques to automatically build a strictly-typed abstract syntax tree. Secondly, the framework generates tree-walker classes using an extended version of the visitor design pattern which enables the implementation of actions on the nodes of the abstract syntax tree using inheritance." SableCC is published under the LGPL.

IBM's alphaWorks has released API Usage Scanner, a tool that scans Java bytecode to detect references to targeted APIs.

Binary compatibility and toleration are some of the biggest and most frequently-experienced problems for customers. They often run into unpredictable breakages when upgrading or applying services to components of the software stack on which their applications run. One of the leading causes for these breakages is the use of unpublished, internal APIs between software products. Therefore, when an upgrade or service is applied, some internal APIs can change and break the dependent products, thus disrupting the stability of a customer's operation. To maintain and improve product stability, these fragile dependencies must be eliminated.

The API Usage Scanner (AUS) tool can help quickly locate these internal API usages so that compatibility problems can be avoided or remedied. AUS is a pure Java™ utility that scans Java bytecode for references to targeted APIs. In other words, AUS can be used to scan one product to detect the use of another product's internal APIs. Once these usages are identified, the situation can be remedied by replacing those internal APIs with published ones. If a suitable published API is not available, the product team can alert the API developers of the existence of fragile interfaces between the two products and request an agreement to hold that API stable until a suitable replacement can be provided.

SpaceRoots has released Mantissa 6.1, "a collection of various mathematical tools aimed towards for simulation. It is not a complete mathematical library like GSL, NAG or IMSL, but it contains various algorithms useful for dynamics simulation and 3D geometry computation." Its algorithms include:

IBM's alphaWorks has released version 1.2.7 of the IBM Toolkit for MPEG-4, a Java class library for working with MPEG-4 video and audio. Version 1.2.7 improves RTSP/RTP streaming compatibility.

IBM's alphaWorks has updated HeapRoots, a tool for debugging memory leaks in Java applications through analysis of "heap dumps." Examples of analysis include:

This release "should open all variants of the PHD file format up to and including IBM 1.4.2 SR3."