You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by cr...@apache.org on 2002/04/28 02:56:53 UTC

cvs commit: jakarta-commons/beanutils RELEASE-NOTES.txt

craigmcc    02/04/27 17:56:53

  Modified:    beanutils RELEASE-NOTES.txt
  Log:
  Update release notes in preparation for a 1.3 release vote.
  
  Revision  Changes    Path
  1.4       +124 -18   jakarta-commons/beanutils/RELEASE-NOTES.txt
  
  Index: RELEASE-NOTES.txt
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/beanutils/RELEASE-NOTES.txt,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RELEASE-NOTES.txt	23 Jan 2002 22:32:53 -0000	1.3
  +++ RELEASE-NOTES.txt	28 Apr 2002 00:56:53 -0000	1.4
  @@ -1,4 +1,4 @@
  -$Id: RELEASE-NOTES.txt,v 1.3 2002/01/23 22:32:53 sanders Exp $
  +$Id: RELEASE-NOTES.txt,v 1.4 2002/04/28 00:56:53 craigmcc Exp $
   
                             Commons BeanUtils Package
                                   Version 1.3
  @@ -6,30 +6,136 @@
   
   
   INTRODUCTION:
  +============
   
   This document contains the release notes for this version of the Commons
  -BeanUtils package, and highlights changes since the previous version.  The
  -current release adds new features and bug fixes, and is being done now to
  -follow the release early/release often mentality.
  +BeanUtils package, and highlights changes since the previous version.
   
   
   NEW FEATURES:
  +============
   
  -* DynaBeans are here.  Ever wondered how to created loosely typed objects like
  -  python has?  That's DynaBean!  Use them for EJB Dependent Objects, easy
  -  representation of servlet parameters as a JavaBean, and more.
  -
  -* PropertyUtils has been upgraded to allow getters and setters on List objects.
  -  Note that this is a deviation from the JavaBeans spec, but was done to make
  -  life easier for a developer using BeanUtils.  To be more specific, the spec is
  -  located at http://java.sun.com/products/javabeans/docs/beans.101.pdf and we
  -  violating section 8.3.3 ;-)  We hope that eventually the JavaBeans spec might
  -  be updated to include this feature.
   
  -* Logging - BeanUtils now uses the commons-logging API to do any logging.
  -  System.out.println() has been deprecated ;-)
  +DynaBeans:
  +---------
   
  -
  -BUG FIXES:
  +DynaBeans are a very simple API that allows applications to construct "bean
  +like" classes dynamically at runtime, and then get and set property values
  +by name, rather than requiring compiled-in accesses to specific getter and
  +setter methods.  The key interfaces are:
  +
  +* org.apache.commons.beanutils.DynaBean - Property access methods for a
  +  DynaBean.  Simple, indexed, and mapped properties are supported.
  +
  +* org.apache.commons.beanutils.DynaClass - The DynaBeans equivalent of
  +  java.lang.Class, which maintains a list of the properties (names and types)
  +  that are valid for DynaBeans that "implement" that DynaClass.
  +
  +* org.apache.commons.beanutils.DynaProperty - The DynaBeans equivalent of
  +  java.beans.PropertyDescriptor, which describes the name and Java type of
  +  a specific property of a DynaBean.
  +
  +The DynaBean and DynaClass APIs are interfaces, which can be implemented in a
  +large variety of ways.  To get you started, two implementations are included
  +in the commons-beanutils package:
  +
  +* BasicDynaBean / BasicDynaClass - Supports creation of a BasicDynaClass
  +  that has a specific set of properties (passed into the constructor), plus a
  +  factory to create DynaBean instances that support this set of properties.
  +
  +* WrapDynaBean / WrapDynaClass - Each WrapDynaBean instance wraps a standard
  +  JavaBean so that its properties can be accessed via the DynaBean interface
  +  methods, consistent with the way any other DynaBean is accessed.
  +
  +
  +Logging:
  +-------
  +
  +All components of the commons-beanutils package now use the commons-logging
  +package for logging, which means that the BeanUtils classes will transparently
  +adapt to whatever logging implementation your application is using.  Set the
  +logging detail level to DEBUG or TRACE to receive debugging output.  The
  +following log names are utilized (named after the calling class):
  +  org.apache.commons.beanutils.BeanUtils
  +  org.apache.commons.beanutils.ConvertUtils
  +  org.apache.commons.beanutils.MethodUtils
  +  org.apache.commons.beanutils.PropertyUtils
  +
  +
  +BeanUtils Enhancements:
  +----------------------
  +
  +The populate() method now has full support for setting simple, indexed,
  +mapped, and nested properties.  This support works transparently on both
  +standard JavaBeans and DynaBean implementations.
  +
  +
  +ConvertUtils Enhancements:
  +-------------------------
  +
  +You can now register custom implementations of the new Converter
  +interface, so that your application can define its own String->Object
  +conversion methodology.  A standard set of converters is supplied (in the
  +org.apache.commons.beanutils.converters package) and registered for all of
  +the following data types:
  +* java.lang.Boolean (and boolean primitives)
  +* java.lang.Byte (and byte primitives)
  +* java.lang.Character (and char primitives)
  +* java.lang.Double (and double primitives)
  +* java.lang.Float (and float primitives)
  +* java.lang.Integer (and int primitives)
  +* java.lang.Long (and long primitives)
  +* java.lang.Short (and short primitives)
  +* java.lang.String - identity conversion
  +* java.math.BigDecimal
  +* java.math.BigInteger
  +* java.sql.Date
  +* java.sql.Time
  +* java.sql.Timestamp
  +
  +
  +MethodUtils Enhancements:
  +------------------------
  +
  +An additional mechanism for matching the actual method to be called searches
  +for parameter lists that are compatible with, rather than exactly matching,
  +the types specified in the call.  This more closely matches the method matching
  +semantics that the Java compiler supports when determining which method should
  +be called.
  +
  +
  +PropertyUtils Enhancements:
  +--------------------------
  +
  +Elements of properties whose underlying data type is a java.util.List may now
  +be retrieved and set via the getIndexedProperty() and setIndexedProperty()
  +methods, even though this usage was not defined in the JavaBeans Specification.
  +
  +All of the property getter and setter methods transparently support operations
  +on DynaBeans, as well as standard JavaBeans.  However, the methods to retrieve
  +PropertyDescriptors (and related information) about DynaBeans have not been
  +implemented.
  +
  +
  +BUG REPORTS ADDRESSED:
  +=====================
  +
  +4895 Populate method doesn't work for an indexed setter for arrays
  +5407 NullPointerException in BeanUtils.java when submission of form
  +     with <select> results in "...&bla=&..."
  +5639 java.util.List to be permitted for indexed properties
  +6125 Populate method has mistaken the judgement which uses indexed
  +     property
  +6465 Wrong method BeanUtils.populate(), so that in Struts indexed
  +     multiselects not work
  +7309 Mapped properties should work against a collection object as well as
  +     method definition only
  +7333 Missing dependency on FastHashMap is masked
  +7521 BeanUtils.populate() does not handle nested properties of DynaBeans
  +7740 MethodUtils method compare bug
  +7784 ConvertUtils changes long standing default conversions from null
  +     to zero
  +7929 PropertyUtils.getProperty fails on a class named Component
  +8364 java.util.List support for getIndexedProperty()
   
   
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>