March, 2008 Java News

Friday, March 28, 2008 (Permalink)

Sun's posted the second maintenance review draft specification for JSR 252: JavaServer Faces 1.2 in the Java Community Process. There are quite a few changes, most correcting various errata. Comments are due by April 28.

Monday, March 24, 2008 (Permalink)

The Jakarta Apache Project has released Commons Lang 2.4, an open source collection of "helper utilities for the java.lang API, notably String manipulation methods, basic numerical methods, object reflection, creation and serialization, and System properties. Additionally it contains an inheritable enum type, an exception structure that supports multiple types of nested-Exceptions, basic enhancements to java.util.Date and a series of utlities dedicated to help with building methods, such as hashCode, toString and equals." Classes include:

  • CharRange
  • CharSet
  • CharSetUtils
  • CompareToBuilder
  • Enum
  • Enum.Entry
  • EnumUtils
  • EqualsBuilder
  • ExceptionUtils
  • HashCodeBuilder
  • Nestable
  • NestableDelegate
  • NestableError
  • NestableException
  • NestableRuntimeException
  • NumberRange
  • NumberUtils
  • ObjectUtils
  • ObjectUtils.Null
  • RandomStringUtils
  • SerializationException
  • SerializationUtils
  • StandardToStringStyle
  • StringUtils
  • SystemUtils
  • ToStringBuilder
  • ToStringStyle
  • ToStringStyle.DefaultToStringStyle
  • ToStringStyle.MultiLineToStringStyle
  • ToStringStyle.NoFieldNameToStringStyle
  • ToStringStyle.SimpleToStringStyle
  • ValuedEnum
  • ArrayUtils
  • BitField
  • BooleanUtils
  • CharRange (previously package scoped)
  • ClassUtils
  • StringEscapeUtils
  • WordUtils
  • IllegalClassException
  • IncompleteArgumentException
  • NotImplementedException
  • NullArgumentException
  • SerializationException
  • UnhandledException
  • Validate
  • IntRange
  • LongRange
  • Range
  • DoubleRange
  • JVMRandom
  • NumberRange
  • FloatRange
  • NumberUtils
  • Fraction
  • RandomUtils
  • DateFormatUtils
  • FastDateFormat
  • DateUtils
  • StopWatch
  • CompositeFormat
  • StrBuilder
  • StrLookup
  • StrMatcher
  • StrSubstitutor
  • StrTokenizer

New classes and interfaces in this release include IEEE754rUtils, ExtendedMessageFormat , and FormatFactory. There are also 58 new methods including 15 in StringUtils:

There's a lot of good stuff here. Everyone should check it out, at least for the ideas even if you don't want to use the library.

Saturday, March 22, 2008 (Permalink)

Sun has posted the early draft review of JSR-303 Bean Validation.

Validating data is a common task that occurs throughout an application, from the presentation layer to the persistence layer. Often the same validation logic is implemented in each layer, proving time consuming and error-prone. To avoid duplication of these validations in each layer, developers often bundle validation logic directly into the domain model, cluttering domain classes with validation code that is, in fact, metadata about the class itself.

This JSR defines a metadata model and API for JavaBean validation. The default metadata source is annotations, with the ability to override and extend the meta-data through the use of XML validation descriptors.

The validation API developed by this JSR is not intended for use in any one tier or programming model. It is specifically not tied to either the web tier or the persistence tier, and is available for both server-side application programming, as well as rich client Swing application developers. This API is seen as a general extension to the JavaBeans object model, and as such is expected to be used as a core component in other specifications. Ease of use and flexibility are influencing the design of this specification.

I have to read further, but at first glance it seems to be a weak version of Eiffel-like preconditions. I think a system that enforced preconditions and class invariants without regard for Javabeans naming conventions would be a much better idea, and probably simpler all-around to boot.

Friday, March 21, 2008 (Permalink)

Eric Lafortune has released ProGuard 4.2, an open source Java "class file shrinker, optimizer, and obfuscator. It can detect and remove unused classes, fields, methods, and attributes. It can then optimize bytecode and remove unused instructions. Finally, it can rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer." Version 4.2 fixes bugs and improves optimization. Proguard is published under the GPL.

Wednesday, March 19, 2008 (Permalink)

Google has released GWT 1.4.62, an open source Java-to-JavaScript compiler and library for building AJAX applications in Java. (Web site not yet updated.) This release now works with Firefox 3.

Tuesday, March 18, 2008 (Permalink)

IDRsolutions has released JPedal 3.45 b32, a pure Java library for extracting content from PDF files and rasterizing them. Text fragments are extracted as XML elements with font and location information. Images are extracted in both their raw formats and their clipped and scaled formats as TIFF, PNG, or JPEG files. This release adds support for JBIG. JPedal is published under the GPL.

Saturday, March 15, 2008 (Permalink)

Duncan McGregor has released Rococoa, "a generic Java binding to the Mac Objective-C object system. It allows the creation and use of Objective-C objects in Java, and the implementation of Objective-C interfaces in Java." Rococoa is published under the LGPL.

Thursday, March 13, 2008 (Permalink)

MySQL A.B. has released MySQL Connector/J 5.0.9 and 5.1.6, the Type-IV all-Java JDBC driver for MySQL that's "suitable for use with any MySQL version including MySQL-4.1, MySQL-5.0, MySQL-5.1 beta or the MySQL-6.0 Falcon development releases." 5.0.9 fixes bugs. 5.1.6 improves support for JDBC 4.0 and fixes bugs.

Wednesday, March 12, 2008 (Permalink)

The Gnu Project has released version 4.3 of GCC, the GNU Compiler Collection. GCC contains frontends for C, C++, Objective C, Fortran, Ada, and Java as well as libraries for these languages. GCC's Java is a clean room implementation that doesn't use any Sun code, so it doesn't always exactly match Sun release versions, but this is roughly at the Java 1.5 level with some omissions. New features in 4.3 include:

  • gcj now uses the Eclipse Java compiler for its Java parsing needs. This enables the use of all 1.5 language features, and fixes most existing front end bugs.
  • libgcj now supports all 1.5 language features which require runtime support: foreach, enum, annotations, generics, and auto-boxing.
  • The old jv-scan tool has been removed. This tool never really worked properly. There is no replacement.
  • gcjh has been rewritten. Some of its more obscure options no longer work, but are still recognized in an attempt at compatibility. gjavah is a new program with similar functionality but different command-line options.
  • grmic and grmiregistry have been rewritten. grmid has been added.
  • gjar replaces the old fastjar.
  • gjarsigner (used for signing jars), gkeytool (used for key management), gorbd (for CORBA), gserialver (computes serialization UIDs), and gtnameserv (also for CORBA) are now installed.
  • The ability to dump the contents of the java run time heap to a file for off-line analysis has been added. The heap dumps may be analyzed with the new gc-analyze tool. They may be generated on out-of-memory conditions or on demand and are controlled by the new run time class gnu.gcj.util.GCInfo.
  • java.util.TimeZone can now read files from /usr/share/zoneinfo to provide correct, updated, timezone information. This means that packagers no longer have to update libgcj when a time zone change is published.
Tuesday, March 11, 2008 (Permalink)

java.net has posted Superpackages, the second article in my Open Road series covering Java 7 and the OpenJDK.

Monday, March 10, 2008 (Permalink)

Google has posted the first milestone of GWT 1.5, an open source Java-to-JavaScript compiler and library for building AJAX applications in Java. The major new feature in this release is support for Java 5, including generics, enums, annotations, and the enhanced for loop.

Friday, March 7, 2008 (Permalink)

Sun has posted the first beta of NetBeans 6.1, its open source IDE for Java, Ruby, and JavaScript. "The NetBeans IDE 6.1 release provides several features and enhancements, such as rich JavaScript editing features, support for using the Spring web framework, tighter MySQL integration, and better mechanisms for projects to share use of libraries. The acclaimed support for Ruby/JRuby has been enhanced with new editor quick fixes, a Ruby platform manager, fast debug support for JRuby, and many other new features and fixes. By popular demand, the bean pattern and JSF CRUD generation features that were missing in the 6.0 release have returned. In addition, early versions of new modules, such as ClearCase support, are available as plugins. This release also provides improved performance, especially faster startup (up to 40%), lower memory consumption and improved responsiveness while working with large projects."

Thursday, March 6, 2008 (Permalink)

Last night Beautiful Code won the Jolt award for best general book, so I now have about 3% of a Jolt award to my name. Next year maybe Refactoring HTML can get me one all to myself. :-)

Most of the winners were for small products I hadn't heard of, but Atlassian and NetBeans both took home multiples. Bjarne Stroustrup won the Excellence in Programming Award and VMWare Workstation won the Lifetime Achievement Award. Other winners included:

  • Best Technical Book: Continuous Integration: Improving Software Quality and Reducing Risk By Paul Duvall, Steve Matyas, and Andrew Glover
  • Best Developer Web Site: O'Reilly Radar
  • Change/Config Management: Atlassian Fisheye
  • Collaboration Tools: JetBrains TeamCity
  • Development Environments: NetBeans IDE 6
  • Libraries/Frameworks: Google Guice
  • Testing: Atlassian Clover 2.0
  • Web Development Tools: Adobe ColdFusion 8
  • Database Engines and Data Tools: AquaLogic Data Services Platform (BEA Systems)
  • Security Tools: Fortify Defender: Real-Time Analyzer
  • Design and Modeling Tools: Corticon Business Rules Modeling Studio (Corticon Technologies)
  • Enterprise Tools: Kapow Mashup Server, Web 2.0 Edition
  • Mobile Development Tools: Mojax (mFoundry)
  • Project Management Tools: Rally Enterprise
Wednesday, March 5, 2008 (Permalink)

Mort Bay Consulting has released Jetty 6.1.8, an open source servlet engine that supports version 2.5 of the Java Servlet API and version 2.1 of Java Server Pages. This is mostly a bug fix release, though it adds a few small features. Jetty is published under the Apache 2.0 license.

Sunday, March 2, 2008 (Permalink)

JPOX 1.2.0, an open source implementation of Java Data Objects (JDO) 2.0, has been released. that provides transparent persistence to Java objects. It supports most major SQL databases and can be queried using either JDOQL or SQL. This release adds support for java Data Objects 2.1. It's published under the Apache 2.0 License.

Saturday, March 1, 2008 (Permalink)

Sun has posted the early draft review of JSR-318 Enterprise JavaBeans 3.1. New features in 3.1 include:

  • A simplified Local view that provides Session Bean access without a separate Local Business interface.
  • Packaging and deployment of EJB components directly in a .war without an ejb-jar.
  • A Singleton session bean component that provides easy access to shared state, as well as application startup/shutdown callbacks.
  • Automatically created EJB Timers.
  • Calendar based EJB Timer expressions.
  • Asynchronous, reliable, session bean invocations.
  • The definition of a lightweight subset of Enterprise JavaBeans functionality that can be provided within Java EE Profiles such as the Java EE Web Profile.

Comments are due by March 30.


Older news:

200820072006200520042003
January, 2007 January, 2006 January, 2005 January, 2004 January, 2003
march, 2007 march, 2006 march, 2005 march, 2004 march, 2003
March, 2007 March, 2006 March, 2005 March, 2004 March, 2003
April, 2007 April, 2006 April, 2005 April, 2004 April, 2003
May, 2007 May, 2006 May, 2005 May, 2004 May, 2003
June 2007 June 2006 June, 2005 June, 2004 June, 2003
July, 2007 July, 2006 July, 2005 July, 2004 July, 2003
August, 2007 August, 2006 August, 2005 August, 2004 August, 2003
September, 2007 September, 2006 September, 2005 September, 2004 September, 2003
October, 2007 October, 2006 October, 2005 October, 2004 October, 2003
November, 2007 November, 2006 November, 2005 November, 2004 November, 2003
December, 2007 December, 2006 December, 2005 December, 2004 December, 2003

[ Cafe au Lait | Books | Trade Shows | FAQ | Tutorial | User Groups ]

Copyright 2007 Elliotte Rusty Harold
elharo@metalab.unc.edu