Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > 810230cc82a9e066bb26dbfa2e6e043f > files > 259

castor-doc-1.3.2-1.mga2.noarch.rpm

<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Release notes</title><link href="default.css" rel="stylesheet"></head><body marginwidth="0" marginheight="0" leftmargin="0" bottommargin="0" topmargin="0" vlink="#6763a9" link="#6763a9" bgcolor="#ffffff"><a name="top"></a><table height="400" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2" align="left" valign="top" width="10"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td bgcolor="#7270c2" align="left" valign="top" width="150"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="7"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" width="70"><img border="0" height="6" width="70" src="images/dotTrans.gif"></td><td align="left" valign="top" width="100%"><img border="0" height="6" width="100%" src="images/top_2.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="10"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="150"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#ffffff" width="7"></td><td align="left" valign="top" width="70"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="middle" width="100%"><a href="license.html"><span class="menuTopOff">License</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.codehaus.org"><span class="menuTopOff">Codehaus</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://openejb.org"><span class="menuTopOff">OpenEJB</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://openjms.sf.net"><span class="menuTopOff">OpenJMS</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://openorb.sf.net"><span class="menuTopOn">OpenORB</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://tyrex.sf.net"><span class="menuTopOff">Tyrex</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img border="0" height="2" width="1" src="images/dotTrans.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="10"><img border="0" height="3" width="10" src="images/dotTrans.gif"></td><td align="right" valign="top" bgcolor="#7270c2" width="150"><img border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="3" width="7" src="images/line_sm.gif"></td><td align="left" valign="top" width="70"><img border="0" height="3" width="70" src="images/line_light.gif"></td><td align="left" valign="top" width="100%"><img border="0" height="3" width="100%" src="images/line_light.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2"><img border="0" height="10" width="10" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="150"><img border="0" height="2" width="1" src="images/dotTrans.gif"><br><table cellspacing="0" cellpadding="10" border="0"><tr><td><script src="http://www.ohloh.net/p/3635/widgets/project_users_logo.js" type="text/javascript"></script></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Old releases</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="releases-old.html"><span class="subMenuOff">General</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="http://www.castor.org/1.3/index.html"><span class="subMenuOff">Release 1.3</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="http://www.castor.org/1.3rc1/index.html"><span class="subMenuOff">Release 1.3rc1</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="http://www.castor.org/1.2/index.html"><span class="subMenuOff">Release 1.2</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Main</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="index.html"><span class="subMenuOff">Home</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="about.html"><span class="subMenuOff">About</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="features.html"><span class="subMenuOff">Features</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="download.html"><span class="subMenuOff">Download</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="dependencies.html"><span class="subMenuOff">Dependencies</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="reference-guide.html"><span class="subMenuOffHighlighted">Reference guide</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="presentations.html"><span class="subMenuOff">Publications</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="javadoc/overview-summary.html"><span class="subMenuOff">JavaDoc</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="maven-integration.html"><span class="subMenuOff">Maven 2 support</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="maven-archetypes.html"><span class="subMenuOff">Maven 2 archetypes</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="schema.html"><span class="subMenuOff">DTD &amp; Schemas</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="changes.html"><span class="subMenuOff">Recent HTML changes</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="news.html"><span class="subMenuOff">News Archive</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="http://castor.codehaus.org/rss/castor-announce.xml"><span class="subMenuOff">RSS news feed</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="http://docs.codehaus.org/display/CASTOR/"><span class="subMenuOffHighlighted">Project Wiki</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Development/Support</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="lists.html"><span class="subMenuOff">Mailing Lists</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="scm.html"><span class="subMenuOff">SVN/JIRA</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="contributing.html"><span class="subMenuOff">Contributing</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="support.html"><span class="subMenuOff">Support</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="http://bamboo.ci.codehaus.org/browse/CASTOR"><span class="subMenuOff">Continuous builds</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="professional-services.html"><span class="subMenuOffHighlighted">Prof. services</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Related projects</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="spring-orm-integration.html"><span class="subMenuOff">Spring ORM support</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="spring-xml-intro.html"><span class="subMenuOff">Spring XML factories</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="ws-integration.html"><span class="subMenuOff">WS frameworks</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">XML</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="xml-link.html"><span class="subMenuOff">XML</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">XML Code Generator</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="srcgen-link.html"><span class="subMenuOff">XML Code Generator</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">JDO</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-introduction.html"><span class="subMenuOff">Introduction</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-starter-tutorial.html"><span class="subMenuOff">First steps</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo.html"><span class="subMenuOff">Using JDO</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-database-conf.html"><span class="subMenuOff">JDO Config</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="types.html"><span class="subMenuOff">Types</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-mapping.html"><span class="subMenuOff">JDO Mapping</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-faq.html"><span class="subMenuOff">JDO FAQ</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-examples.html"><span class="subMenuOff">JDO Examples</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-howto.html"><span class="subMenuOffHighlighted">JDO HOW-TOs</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-tips-tricks.html"><span class="subMenuOffHighlighted">Tips &amp; Tricks</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-other-features.html"><span class="subMenuOff">Other Features</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-self-executable-examples.html"><span class="subMenuOff">JDO sample JAR</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Tools</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="schemaGen-anttask.html"><span class="subMenuOff">Schema generator</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Advanced JDO</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-caching-detail.html"><span class="subMenuOff">Caching</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="oql.html"><span class="subMenuOff">OQL</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="locking.html"><span class="subMenuOff">Trans. &amp; Locks</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="design-persist.html"><span class="subMenuOff">Design</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="key-generator.html"><span class="subMenuOff">KeyGen</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="long-transact.html"><span class="subMenuOff">Long Trans.</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="nested-attr.html"><span class="subMenuOff">Nested Attrs.</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-pooling.html"><span class="subMenuOff">Pooling Examples</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="postgresql-blobs.html"><span class="subMenuOff">LOBs</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="jdo-best-practice.html"><span class="subMenuOff">Best practice</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">DDL Generator</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="ddlgen.html"><span class="subMenuOff">Using DDL Generator</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="ddlgen-properties.html"><span class="subMenuOff">Properties</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="ddlgen-anttask.html"><span class="subMenuOff">Ant task</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="ddlgen-mapping.html"><span class="subMenuOff">Type Mapping</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">More</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="examples.html"><span class="subMenuOff">The Examples</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="extras.html"><span class="subMenuOff">3rd Party Tools</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="test-framework.html"><span class="subMenuOff">JDO Tests</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="ctf.html"><span class="subMenuOff">XML Tests</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="conf-lib.html"><span class="subMenuOff">Configuration</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href=""><span class="subMenuOff"></span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="http://www.java.net/"><span class="subMenuOff"><img border="0" src="images/javanet_button_90.gif"></span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">About</span></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="license.html"><span class="subMenuOff">License</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="user-experience.html"><span class="subMenuOffHighlighted">User stories</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="contributors.html"><span class="subMenuOff">Contributors</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="marketplace.html"><span class="subMenuOff">Marketplace</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="status.html"><span class="subMenuOff">Status, Todo</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="release-notes.html"><span class="subMenuOff">Changelog</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="library.html"><span class="subMenuOff">Library</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="contacts.html"><span class="subMenuOff">Contact</span></a></td></tr><tr><td align="left" valign="top">
        &nbsp;
                <a href="origins.html"><span class="subMenuOff">Project Name</span></a></td></tr></table><br></td><td align="left" valign="top" bgcolor="#a9a5de" width="7">&nbsp;</td><td align="left" valign="top" width="70">&nbsp;</td><td valign="top" width="100%" rowspan="4"><table width="100%" cellspacing="0" cellpadding="0" border="0" rows="2" cols="2"><tr><td align="left" valign="top"><br><img width="115" vspace="0" src="images/castor.gif" hspace="0" height="34" border="0"><br><img src="images/dotTrans.gif" hspace="0" height="10" border="0"></td><td align="right" valign="top" height="5" width="120"></td></tr></table><p></p><p></p><br><h2 align="center">Release notes</h2><HR size="1"><span class="bodyGrey"><b><a href="#Releases">Releases</a></b><br></span><HR size="1"><br><a name="Releases"><h2>Releases</h2></a>

        <p><span class="bodyGrey">For all releases prior to 0.9.7, the release notes can be found <a href="release-notes-0.9.7pre.html">here</a>.</span></p>
        <p><span class="bodyGrey">For all releases prior to 0.9.6, the release notes can be found <a href="changelog.html">here</a>.</span></p>



        <br><hr><h1>Release 1.0M4</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>4th milestone release for Castor 1.0</td></tr><tr><td>released:</td><td>March 23, 2006</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>Requirements</h2>

                <h3>Introduced <font color="red">Java 1.4</font> as a dependecy</h3>

                <p><span class="bodyGrey">This is a reminder that we have started to add some features that more or less depend
                   on features made available with Java 1.4 (only), such as the JDBC 3.0 API enhancements. As
                   such, we have made Java 1.4 a key requirement for the upcoming Castor 1.0 release.</span></p>

                <h2>Additions</h2>

                <h3>Updated/Added to XML Documentation</h3>

                <p><span class="bodyGrey">Two new XML how-tos have been added to the XML HOW-TOs page,
                   one on fetching XML dependencies (DTDs and schemas) from JAR
                   files rather than network locations, and one on using identities
                   and references in XML.  The XML Mapping documentation was also
                   updated so that the DTD public ID used in examples matches one
                   in Castor's DTDResolver (this aids in fetching the DTD from the
                   Castor JAR rather than the web address).</span></p>

                <h3>Added cache implementation for high volunm and high performance</h3>

                <p><span class="bodyGrey">The cache types <b>fifo</b> and <b>lru</b> are based on a set of articles in the
                   O'Reilly Network by William Grosso, to implement a simplified and 1.3-compatible
                   implementation of a Hashbelt algorithm.</span></p>

                <p><span class="bodyGrey">Hashbelts are simple, in principle. Instead of walking all objects and finding out
                   when they're supposed to expire, use a "conveyor belt" approach. At any particular
                   point in time, objects going into the cache go into the front of the conveyor belt.
                   After a certain amount of time or when the size limit of a container has been
                   reached, move the conveyor belt - put a new, empty container at the front of the
                   conveyor belt to catch new objects, and the one that drops off of the end of the
                   conveyor belt is, by definition, ready for garbage collection.</span></p>

                <p><span class="bodyGrey">As seen in his system, you can use a set of pluggable strategies to implement the
                   actual hashbelt bits. A container strategy allows you to change out the
                   implementation of the container itself - from simple hashtable-based
                   implementations, up through more complex uses of soft referenced or hashset-based
                   implementations, depending on what you need and what you want it to be used for.
                   A pluggable "expire behavior" handler allows you to determine what action is taken
                   on something which drops off of the bottom of the conveyor belt.</span></p>

                <p><span class="bodyGrey">As of release 1.0 Castor knows of 11 cache types. To use this cache types, their
                   factories need to be configured in castor.properties file. If you use a custom
                   castor.properties file you need to add the new cache factories to be able to use
                   the new cache types.</span></p>

                <span class="bodyBlack"><pre>
#
# Cache implementations
#
org.castor.cache.Factories=\
  org.castor.cache.simple.NoCacheFactory,\
  org.castor.cache.simple.TimeLimitedFactory,\
  org.castor.cache.simple.CountLimitedFactory,\
  org.castor.cache.simple.UnlimitedFactory,\
  org.castor.cache.distributed.FKCacheFactory,\
  org.castor.cache.distributed.JcsCacheFactory,\
  org.castor.cache.distributed.JCacheFactory,\
  org.castor.cache.distributed.CoherenceCacheFactory,\
  org.castor.cache.distributed.OsCacheFactory,\
  org.castor.cache.hashbelt.FIFOHashbeltFactory,\
  org.castor.cache.hashbelt.LRUHashbeltFactory
                </pre></span>

                <p><span class="bodyGrey">The DTD declaration to configure caching in Castor mapping is as follows:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;!ELEMENT cache-type  ( param* )&gt;
&lt;!ATTLIST cache-type
    type           ( none | count-limited | time-limited | unlimited |
                     coherence | fkcache | jcache | jcs | oscache |
                     fifo | lru ) "count-limited"
    debug          (true|false) "false"
    capacity       NMTOKEN  #IMPLIED&gt;

&lt;!ELEMENT param EMPTY&gt;
&lt;!ATTLIST param
          name   NMTOKEN  #REQUIRED
          value  NMTOKEN  #REQUIRED&gt;</pre></span></td></tr></table></td></tr></table><p></p></span></p>

                <p><span class="bodyGrey">In difference to all other cache types the <b>fifo</b> and <b>lru</b> cache
                   types offer various configuration options. Both of them have 6 parameters to
                   configure their behaviour.</span></p>

                <table bgcolor="#7270c2" cellpadding="2" cellspacing="1" width="100%" border="0"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" width="100%" border="0"><caption></caption><tr class="cheader"><td class="cheader">parameter</td><td class="cheader">description</td></tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">containers</span></td>
                        <td><span class="bodyGrey">The number of containers in the conveyor belt. For example: If a box
                            will drop off of the conveyor belt every 30 seconds, and you want a cache
                            that lasts for 5 minutes, you want 5 / 30 = 6 containers on the belt. Every
                            30 seconds, another, clean container goes on the front of the conveyor belt,
                            and everything in the last belt gets discarded. If not specified 10 containers
                            are used by default.
                            <br>
                            For systems with fine granularity, you are free to use a large number of
                            containers; but the system is most efficient when the user decides on a
                            "sweet spot" determining both the number of containers to be managed on the
                            whole and the optimal number of buckets in those containers for managing. This
                            is ultimately a performance/accuracy tradeoff with the actual discard-from-cache
                            time being further from the mark as the rotation time goes up. Also the number
                            of objects discarded at once when capacity limit is reached depends upon the
                            number of containers.
                        </span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">capacity</span></td>
                        <td><span class="bodyGrey">Maximum capacity of the whole cache. If there are, for example, ten
                            containers on the belt and the capacity has been set to 1000, each container
                            will hold a maximum of 1000/10 objects. Therefore if the capacity limit is
                            reached and the last container gets droped from the belt there are up to 100
                            objects discarted at once. By default the capacity is set to 0 which causes
                            capacity limit to be ignored so the cache can hold an undefined number of
                            objects.
                        </span></td>
                    </tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">ttl</span></td>
                        <td><span class="bodyGrey">The maximum time an object lifes in cache. If the are, for example, ten
                            containers and ttl is set to 300 seconds (5 minutes), a new container will be
                            put in front of the belt every 300/10 = 30 seconds while another is dropped at
                            the end at the same time. Due to the granularity of 30 seconds, everything just
                            until 5 minutes 30 seconds will also end up in this box. The default value for
                            ttl is 60 seconds. If ttl is set to 0 which means that objects life in cache
                            for unlimited time and may only discarded by a capacity limit.
                        </span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">monitor</span></td>
                        <td><span class="bodyGrey">The monitor intervall in minutes when hashbelt cache rports the current
                            number of containers used and objects cached. If set to 0 (default) monitoring
                            is disabled.
                        </span></td>
                    </tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">container-class</span></td>
                        <td><span class="bodyGrey">The implementation of <b>org.castor.cache.hashbelt.container.Container</b>
                            interface to be used for all containers of the cache. Castor provides the following
                            3 implementations of the Container interface.
                            <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
                                <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">org.castor.cache.hashbelt.container.FastIteratingContainer</span></td></tr>
                                <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">org.castor.cache.hashbelt.container.MapContainer</span></td></tr>
                                <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">org.castor.cache.hashbelt.container.WeakReferenceContainer</span></td></tr>
                            </span></table>
                            If not specified the MapContainer will be used as default.
                        </span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">reaper-class</span></td>
                        <td><span class="bodyGrey">Specific reapers yield different behaviors. The GC reaper, the default,
                            just dumps the contents to the garbage collector. However, custom
                            implementations may want to actually do something when a bucket drops off the
                            end; see the javadocs on other available reapers to find a reaper strategy
                            that meets your behavior requirements. Apart of the default
                            <b>org.castor.cache.hashbelt.reaper.NullReaper</b> we provide 3 abstract
                            implementations of <b>org.castor.cahe.hashbelt.reaper.Reaper</b> interface:
                            <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
                                <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">org.castor.cache.hashbelt.reaper.NotifyingReaper</span></td></tr>
                                <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">org.castor.cache.hashbelt.reaper.RefreshingReaper</span></td></tr>
                                <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">org.castor.cache.hashbelt.reaper.ReinsertingReaper</span></td></tr>
                            </span></table>
                            to be extended by your custom implementation.
                        </span></td>
                    </tr></table></td></tr></table>

                <p><span class="bodyGrey">A <b>fifo</b> cache with default values explained above is specified by:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="fifo"/&gt;</pre></span></td></tr></table></td></tr></table><p></p></span></p>

                <p><span class="bodyGrey">A <b>lru</b> cache with capacity=300 and ttl=300 is defined by:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="lru" capacity="300"/&gt;</pre></span></td></tr></table></td></tr></table><p></p>
                   or better by:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="lru"/&gt;
    &lt;param name="capacity" value="300"/&gt;
    &lt;param name="ttl" value="300"/&gt;
&lt;/cache-type&gt;</pre></span></td></tr></table></td></tr></table><p></p></span></p>

                <p><span class="bodyGrey">An example of a customized configuration of a <b>fifo</b> cache is:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="fifo"/&gt;
    &lt;param name="container" value="10"/&gt;
    &lt;param name="capacity" value="1000"/&gt;
    &lt;param name="ttl" value="600"/&gt;
    &lt;param name="monitor" value="5"/&gt;
    &lt;param name="container-class" value="org.castor.cache.hashbelt.container.WeakReferenceContainer"/&gt;
    &lt;param name="reaper-class" value="org.castor.cache.hashbelt.reaper.NullReaper"/&gt;
&lt;/cache-type&gt;</pre></span></td></tr></table></td></tr></table><p></p></span></p>

                <h2>Code cleanup</h2>

                <p><span class="bodyGrey">We removed following classes and methods that had been deprecated for
                   a while now. </span></p>

                <table bgcolor="#7270c2" cellpadding="2" cellspacing="1" width="100%" border="0"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" width="100%" border="0"><caption></caption><tr class="cheader"><td class="cheader">removed</td><td class="cheader">replacement</td></tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">Throwable CastorException.getException()</span></td>
                        <td><span class="bodyGrey">Throwable CastorException.getClause()</span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">Object Database.load(Class, Object, short)</span></td>
                        <td><span class="bodyGrey">Object Database.load(Class, Object, AccessMode)</span></td>
                    </tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">void JDOManager.setConfiguration(InputSource)</span></td>
                        <td><span class="bodyGrey">no replacement</span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">QueryResults Query.execute(short)</span></td>
                        <td><span class="bodyGrey">QueryResults Query.execute(AccessMode)</span></td>
                    </tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">QueryResults Query.execute(short, boolean)</span></td>
                        <td><span class="bodyGrey">QueryResults Query.execute(AccessMode, boolean)</span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">org.exolab.castor.jdo.Utils</span></td>
                        <td><span class="bodyGrey">org.castor.jdo.util.JDOUtils</span></td>
                    </tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">org.exolab.castor.util.JdoConfFactory</span></td>
                        <td><span class="bodyGrey">org.castor.jdo.util.JDOConfFactory</span></td>
                    </tr></table></td></tr></table>
            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1368">1368</a></td><td>20060322</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Extract creation and execution of SQL satements from SQLEngine.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1369">1369</a></td><td>20060323</td><td><a href="mailto:svalchkov %0A        AT%0A        gmail%0A        DOT%0A        com">Stoil Valchkov</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed NPE in case of extension of union.
                    <br><i><b>Reporter: </b><a href="mailto:svalchkov %0A        AT%0A        gmail%0A        DOT%0A        com">Stoil Valchkov</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-824">824</a></td><td>20060322</td><td><a href="mailto:benoit %0A        AT%0A        synclude%0A        DOT%0A        com">Benoit Maisonny</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Improved exception handling in UnmarshallHandler
                    <br><i><b>Reporter: </b><a href="mailto:benoit %0A        AT%0A        synclude%0A        DOT%0A        com">Benoit Maisonny</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1281">1281</a></td><td>20060321</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Introduced new org.castor.util.Configuration.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>All</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1356">1356</a></td><td>20060316</td><td><a href="mailto:bruce DOT snyder AT gmail DOT com">Bruce Snyder</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed false alarm log message at DatabaseImpl.finalize.
                    <br><i><b>Reporter: </b><a href="mailto:bruce DOT snyder AT gmail DOT com">Bruce Snyder</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1363">1363</a></td><td>20060316</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Removed deprecated classes and methods.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>All</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1364">1364</a></td><td>20060316</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed wrong generation of 'setFixed(String)'-method for XSNormalizeStrings.
                    <br><i><b>Reporter: </b><a href="mailto:t.lehmann %0A        AT%0A        gamnet%0A        DOT%0A        de">Thomas Lehmann</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1360">1360</a></td><td>20060314</td><td><a href="mailto:"></a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with missing class file in XML jar.
                    <br><i><b>Reporter: </b><a href="mailto:Uwe.Langbecker %0A        AT%0A        gl-group%0A        DOT%0A        com">Uwe Langbecker</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-867">867</a></td><td>20060315</td><td><a href="mailto:gblock %0A        AT%0A        ctoforaday%0A        DOT%0A        com">Gregory Block</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added cache implementation for large cache sizes.
                    <br><i><b>Reporter: </b><a href="mailto:gblock %0A        AT%0A        ctoforaday%0A        DOT%0A        com">Gregory Block</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1345">1345</a></td><td>20060315</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Refactored redundant code in *DatabaseImpl classes
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1089">1089</a></td><td>20060308</td><td><a href="mailto:ttelcik %0A        AT%0A        hbf%0A        DOT%0A        com%0A        DOT%0A        au">Tim Telcik</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Revised SQL statement used by IdentityKeyGenerator for IBM DB2.
                    <br><i><b>Reporter: </b><a href="mailto:ttelcik %0A        AT%0A        hbf%0A        DOT%0A        com%0A        DOT%0A        au">Tim Telcik</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1345">1345</a></td><td>20060310</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Refactored DatabaseImpl into Local/GlobaldatabaseImpl.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1354">1354</a></td><td>20060314</td><td><a href="mailto:scbash %0A        AT%0A        gmail%0A        DOT%0A        com">Stephen Bash</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Add HOW-TO on using identities and references in XML
                    <br><i><b>Reporter: </b><a href="mailto:scbash %0A        AT%0A        gmail%0A        DOT%0A        com">Stephen Bash</a></i></td><td>Enh.</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1353">1353</a></td><td>20060311</td><td><a href="mailto:scbash %0A        AT%0A        gmail%0A        DOT%0A        com">Stephen Bash</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed incorrect DOCTYPE references in various XML Mapping docs.
                    <br><i><b>Reporter: </b><a href="mailto:scbash %0A        AT%0A        gmail%0A        DOT%0A        com">Stephen Bash</a></i></td><td>Enh.</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1352">1352</a></td><td>20060311</td><td><a href="mailto:scbash %0A        AT%0A        gmail%0A        DOT%0A        com">Stephen Bash</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Add HOW-TO on how to fetch DTDs from JAR file
                    <br><i><b>Reporter: </b><a href="mailto:scbash %0A        AT%0A        gmail%0A        DOT%0A        com">Stephen Bash</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1350">1350</a></td><td>20060311</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added UTF test of IdentityMap.entrySet.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1347">1347</a></td><td>20060310</td><td><a href="mailto:adam %0A        AT%0A        monkey%0A        DOT%0A        org">Adam Kramer</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed issue with XMLDescriptor generating wrong method name
                        'getElementDefinition' instead of 'isElementDefinition'.
                    <br><i><b>Reporter: </b><a href="mailto:adam %0A        AT%0A        monkey%0A        DOT%0A        org">Adam Kramer</a></i></td><td>Bug</td><td></td><td>JDO</td></tr></table></td></tr></table><br>
        <br><hr><h1>Release 1.0M3</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>3rd milestone release for Castor 1.0</td></tr><tr><td>released:</td><td>March 07, 2006</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>Requirements</h2>

                <h3>Introduced <font color="red">Java 1.4</font> as a dependecy</h3>

                <p><span class="bodyGrey">As we have started to add some features that more or less depend on features made
                   available with Java 1.4 (only), such as the JDBC 3.0 API enhancements, we have
                   made Java 1.4 a key requiremnt for the upcoming Castor 1.0 release.</span></p>

                <p><span class="bodyGrey">This decision is a result of a discussion on the mailing lists a couple of months
                   ago, where nobody was voicing any objections.</span></p>

                <h2>Additions</h2>

                <h3>Added support for OSCache</h3>

                <p><span class="bodyGrey">By specifing
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="oscache"/&gt;</pre></span></td></tr></table></td></tr></table><p></p>
                   at class mapping you can now use OSCache with Castor JDO.</span></p>

                <h3>Added 'abstract/concrete' annotation to XMLDescriptor</h3>

                <p><span class="bodyGrey">With this addition, it is now possibel to query whether a particular XML element (represented
                   by an XMLClassDesscriptor internally) is <i>abstract</i> or <i>concrete</i>, that is (in the
                   context of source generation) a result of a &lt;complexType&gt; definition or an
                   &lt;element&gt; declaration. This is particularly relevant for tool providers who need to
                   integrate with Castor XML, and as a result of this addition can now use the new
                   <tt>isElementDefinition()</tt> method to query an artifact's state.</span></p>

                <h3>New XML HOW-TOs added</h3>

                <p><span class="bodyGrey">Added XML HOW-TOs for mapping collections and maps.</span></p>

                <h3>Added new SAX2EventProducer interface</h3>

                <p><span class="bodyGrey">Added new <a href="javadoc/org/exolab/castor/xml/SAX2EventProducer.html"><api>org.exolab.castor.xml.SAX2EventProducer</api></a> interface to allow passing
                   SAX 2 events to Castor XML, deprecating the existing
                   <a href="javadoc/org/exolab/castor/xml/EventProducer.html"><api>org.exolab.castor.xml.EventProducer</api></a> interface at the same time. At the same time,
                   a new <a href="javadoc/org/exolab/castor/xml/Unmarshaller.html#unmarshal(SAX2EventProducer)">unmarshal(SAX2EventProducer)</a>
                    method has been added to <a href="javadoc/org/exolab/castor/xml/Unmarshaller.html"><api>org.exolab.castor.xml.Unmarshaller</api></a>, deprecating
                    the existing <a href="javadoc/org/exolab/castor/xml/Unmarshaller.html#unmarshal(EventProducer)">unmarshal(EventProducer)</a>
                   method at the same time.</span></p>

                <h3>Added support for postgreSQL to identity key generator</h3>

                <p><span class="bodyGrey">Added support for the postgreSQL column type 'SERIAL' to the
                   identity key generator. With this change, it's now possible to use
                   the identity key generator with postgreSQL on columns with type
                   'SERIAL'. Castor internally will issue a call to</span></p>

                <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
   SELECT currval('&lt;table_name&gt;_id_seq')
                </pre></span></td></tr></table></td></tr></table><p></p>

                <p><span class="bodyGrey">to automatically retrieve the value assigned due to 'SERIAL' column
                   during the insert operation.</span></p>

                <h3>Added fully self-contained Castor JDO sample application</h3>

                <p><span class="bodyGrey">Added new ZIP archive to distribution that contains a fully self-contained Castor JDO
                   sample applicationthat runs against an embedded Apache Derby database.</span></p>

                <p><span class="bodyGrey">Simply download the the archive, unpack it, and in the target directory created, execute
                   'java -jar castor-1.0M2-examples.jar' to have the test executed. This will (magically)
                   create a Derby database (on-the-fly) and use it to execute the Castor JDO code against it.</span></p>

                <h3>Added additional syntax for specifying identity columns</h3>

                <p><span class="bodyGrey">In addition to the current way of specifying the identity column(s) for a given
                   class, it is now possible to declare a field to be part of the identity
                   as shown below:</span></p>

                <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
  &lt;class name="ctf.jdo.tc1x.Parent"&gt;
    &lt;description&gt;Entite one&lt;/description&gt;
    &lt;map-to table="tc1x_entity1" xml="entity1" /&gt;
    &lt;field name="id" type="integer" identity="true"&gt;
      &lt;sql name="id" type="integer"/&gt;
    &lt;/field&gt;
    &lt;field name="name" type="string"&gt;
      &lt;sql name="name" type="char" /&gt;
    &lt;/field&gt;
  &lt;/class&gt;
                </pre></span></td></tr></table></td></tr></table><p></p>

                <h3>Added collection type 'iterator' (java.util.Iterator) to Castor JDO</h3>

                <p><span class="bodyGrey">It is now possible to define a one-to-many relation with a collection
                   type of 'iterator'. This allows the access of custom collection classes
                   that are not supported through the standard collection types through
                   Castor JDO.</span></p>

                <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
   &lt;field name="children" type="some.domain.custom.Class" collection="iterator"&gt;
      &lt;sql ... /&gt;
   &lt;/field&gt;
                </pre></span></td></tr></table></td></tr></table><p></p>

                <h3>Added collection type 'enumerate' (java.util.Enumeration) to Castor JDO</h3>

                <p><span class="bodyGrey">It is now possible to define a one-to-many relation with a collection
                   type of 'enumerate'.</span></p>

                <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
   &lt;field name="children" type="some.domain.custom.Class" collection="enumerate"&gt;
      &lt;sql ... /&gt;
   &lt;/field&gt;
                </pre></span></td></tr></table></td></tr></table><p></p>

                <h3>Added WeblogicXMLSerializerFactory</h3>

                <p><span class="bodyGrey">To use the Xerces implementation delivered with Weblogic 7 and 8 you
                   have to change castor.properties file to contain the following entry:</span></p>

                <span class="bodyBlack"><pre>
# Defines the (default) XML serializer factory to use by Castor,
# which must implement org.exolab.castor.xml.SerializerFactory;
# default is org.exolab.castor.xml.XercesXMLSerializerFactory
org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.wls8.WeblogicXercesXMLSerializerFactory
                </pre></span>
            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1330">1330</a></td><td>20060307</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with prioritizing delete operations.
                    <br><i><b>Reporter: </b><a href="mailto:rsanz %0A        AT%0A        cein%0A        DOT%0A        es">Ra&uacute;l Sanz de Acedo P&eacute;rez</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1341">1341</a></td><td>20060306</td><td><a href="mailto:augustd %0A        AT%0A        codemagi%0A        DOT%0A        com">August Detlefsen</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed issue with bad dates being persisted in Oracle 9.2.
                    <br><i><b>Reporter: </b><a href="mailto:augustd %0A        AT%0A        codemagi%0A        DOT%0A        com">August Detlefsen</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1186">1186</a></td><td>20060228</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added support for OSCache.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1333">1333</a></td><td>20060223</td><td><a href="mailto:thomas.tatzel %0A        AT%0A        db%0A        DOT%0A        com">Thomas Tatzel</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed inconsistency related to not calling setPreserveWhiteSpace(true) in Unmarshaller.unmarshal(Class, Node)
                    <br><i><b>Reporter: </b><a href="mailto:thomas.tatzel %0A        AT%0A        db%0A        DOT%0A        com">Thomas Tatzel</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-962">962</a></td><td>20060223</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Improved code quality of DataObjectAccessException.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1328">1328</a></td><td>20060222</td><td><a href="mailto:adam %0A        AT%0A        monkey%0A        DOT%0A        org">Adam Kramer</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added property to XMLClassDescriptor to distinguish whether XML
                        artefact represented is abstract/concrete
                    <br><i><b>Reporter: </b><a href="mailto:adam %0A        AT%0A        monkey%0A        DOT%0A        org">Adam Kramer</a></i></td><td>Enh</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1159">1159</a></td><td>20060222</td><td><a href="mailto:codehaus %0A        AT%0A        kleppmann%0A        DOT%0A        de">Martin Kleppmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with range checking in code generated for collections.
                    <br><i><b>Reporter: </b><a href="mailto:codehaus %0A        AT%0A        kleppmann%0A        DOT%0A        de">Martin Kleppmann</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1329">1329</a></td><td>20060222</td><td><a href="mailto:robby.pelssers %0A        AT%0A        vodafone%0A        DOT%0A        com">Robby Pelssers</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added XML HOW-TOs for mapping collections and maps.
                    <br><i><b>Reporter: </b><a href="mailto:robby.pelssers %0A        AT%0A        vodafone%0A        DOT%0A        com">Robby Pelssers</a></i></td><td>Enh</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1326">1326</a></td><td>20060221</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added new EventProducer2 interface to allow streaming of SAX 2 events into Castor XML
                    <br><i><b>Reporter: </b><a href="mailto:achepati67 %0A        AT%0A        yahoo%0A        DOT%0A        es">David Leal</a></i></td><td>Enh</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1127">1127</a></td><td>20060221</td><td><a href="mailto:ttelcik %0A        AT%0A        hbf%0A        DOT%0A        com%0A        DOT%0A        au">Tim Telcik</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for non-numeric identities to sequence key generator
                    <br><i><b>Reporter: </b><a href="mailto:ttelcik %0A        AT%0A        hbf%0A        DOT%0A        com%0A        DOT%0A        au">Tim Telcik</a></i></td><td>Enh</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1323">1323</a></td><td>20060221</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed failure in MappingTool that always caused a NullPointerException.
                    <br><i><b>Reporter: </b><a href="mailto:stefan_lober %0A        AT%0A        yahoo%0A        DOT%0A        de">Stefan Lober</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-998">998</a></td><td>20060217</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added new ZIP file to distribution that contains fully self-containd Castor JDO sample
                        code running against Apache Derby (embedded).
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Enh</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1325">1325</a></td><td>20060215</td><td><a href="mailto:">James Adams</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added how to wrap a collection with a wrapper element.
                    <br><i><b>Reporter: </b><a href="mailto:">James Adams</a></i></td><td>Enh.</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1324">1324</a></td><td>20060215</td><td><a href="mailto:thierry.guerin %0A        AT%0A        prima-solutions%0A        DOT%0A        com">Thierry Guerin</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added WeblogicXMLSerializerFactory.
                    <br><i><b>Reporter: </b><a href="mailto:thierry.guerin %0A        AT%0A        prima-solutions%0A        DOT%0A        com">Thierry Guerin</a></i></td><td>Enh.</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1322">1322</a></td><td>20060215</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Fixed problem in Windows batch files related to directory names with spaces.
                    <br><i><b>Reporter: </b><a href="mailto:stefan_lober %0A        AT%0A        yahoo%0A        DOT%0A        de">Stefan Lober</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1293">1293</a></td><td>20060214</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed NullPointerException in ClassDescriptorImpl caused by
                        Class.getClassLoader() returning null in some situations.
                    <br><i><b>Reporter: </b><a href="mailto:rutger.lubbers %0A        AT%0A        vodafone%0A        DOT%0A        com">Rutger Lubbers</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1232">1232</a></td><td>20060214</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Added additional snytax for specifying identity columns
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1314">1314</a></td><td>20060211</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Added Castor JDO collection type 'enumerate' (java.util.Enumeration).
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1321">1321</a></td><td>20060211</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Checkstyled recently added classes under org.castor.jdo.driver.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1315">1315</a></td><td>20060210</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Added Castor JDO collection type 'iterator' (java.util.Iterator).
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1316">1316</a></td><td>20060210</td><td><a href="mailto:rsanz %0A        AT%0A        cein%0A        DOT%0A        es">Ra&uacute;l Sanz de Acedo P&eacute;rez</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Added SQL statement logging support for JDBC CallableStatements
                    <br><i><b>Reporter: </b><a href="mailto:rsanz %0A        AT%0A        cein%0A        DOT%0A        es">Ra&uacute;l Sanz de Acedo P&eacute;rez</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1317">1317</a></td><td>20060210</td><td><a href="mailto:rsanz %0A        AT%0A        cein%0A        DOT%0A        es">Ra&uacute;l Sanz de Acedo P&eacute;rez</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Prevented DatabaseImpl.finalize() from logging when used with global transactions and
                       database pooling enabled.
                    <br><i><b>Reporter: </b><a href="mailto:rsanz %0A        AT%0A        cein%0A        DOT%0A        es">Ra&uacute;l Sanz de Acedo P&eacute;rez</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-475">475</a></td><td>20060207</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                       Fixed problem with wrongly generated SQL with self-referential objects that are part of
                       an extend hierarchy.
                    <br><i><b>Reporter: </b><a href="mailto:andreas.arrgard %0A        AT%0A        octagroup%0A        DOT%0A        com">Andreas Arrgard</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1128">1128</a></td><td>20060203</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem related to the use of 'depend' relations and identity
                        key generators. At the same time, support for postgreSQL has been
                        added to the identity key generator.
                    <br><i><b>Reporter: </b><a href="mailto:nicholas.stuart %0A        AT%0A        gmail%0A        DOT%0A        com">Nick Stuart</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1310">1310</a></td><td>20060206</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>Added identity key generator support for Borland Pointbase to Castor JDO.<br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr></table></td></tr></table><br>
        <br><hr><h1>Release 1.0M2</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>2nd milestone release for Castor 1.0</td></tr><tr><td>released:</td><td>Febraury 03, 2006</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>Additions</h2>

                <h3>Support for <tt>java.util:list as collection type</tt></h3>

                <p><span class="bodyGrey">Added support for <tt>java.util.List</tt> as collection type for Castor XML.</span></p>

                <h3>Support for Borland Pointbase</h3>

                <p><span class="bodyGrey">Support for Borland's Pointbase has been added. For initial information
                   about configuration of Castor JDO for the use with Borland's Pointbase,
                   please see <tt>src/tests/jdo/pointbse.xml</tt>.</span></p>


                <h3>Added isLocked (CLass, Object) method to Database interface</h3>

                <p><span class="bodyGrey">This new method allows to check, whether a particular object (as identified
                   by the object identity and the object class) is currently
                   locked with Castor JDO.</span></p>

                <h3>Added documentation about Castor JDO Persistence interface</h3>

                <p><span class="bodyGrey">Added a section about the various methods available on the Persistence
                   interface to the HTML docs.</span></p>

                <h3>Allowed case insensitive lookups of enumerated type values</h3>

                <p><span class="bodyGrey">With 'case-insensitive' commandline option of source generator you are
                   now able to instruct Castor to use case insensitive lookups for
                   enumerated type values.</span></p>

                <h2>Changes</h2>

                <p><span class="bodyGrey">As a result of this refactoring, we had to change the way a XMLSerializer
                   is created (instantiated). Rather than letting Castor know about the
                   XMLSerializer to use, as in</span></p>

                <span class="bodyBlack"><pre>
# Defines the default XML serializer to be used by castor
# The serializer must implement org.apache.xml.serialize.Serializer
#
org.exolab.castor.serializer=org.apache.xml.serialize.XMLSerializer
                </pre></span>
                <p><span class="bodyGrey">the user is now required to specify an XMLSerialzer factory as follows:</span></p>

                <span class="bodyBlack"><pre>
# Defines the (default) XML serializer factory to use by Castor,
# which must implement org.exolab.castor.xml.SerializerFactory;
# default is org.exolab.castor.xml.XercesXMLSerializerFactory
org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesXMLSerializerFactory
                </pre></span>

                <p><span class="bodyGrey">As of this release, we only support the XercesXMLSerializerFactory
                   as shown above, but provide users with three new interfaces (namely
                   <tt>Serializer</tt>,<tt>OutputFormat</tt> and <tt>XMLSerializerFactory</tt>)
                   that need to be implemented to support any other's XML parser
                   custom serialization mechanism.</span></p>

                <h3>Refactored cache into new org.castor.cache package</h3>

                <p><span class="bodyGrey">Take care to adjust your custom castor.properties file to reflect
                   the changed packages of CacheFactories.</span></p>

                <span class="bodyBlack"><pre>
#
# Cache implementations
#
org.castor.cache.Factories=\
  org.castor.cache.simple.NoCacheFactory,\
  org.castor.cache.simple.TimeLimitedFactory,\
  org.castor.cache.simple.CountLimitedFactory,\
  org.castor.cache.simple.UnlimitedFactory,\
  org.castor.cache.distributed.FKCacheFactory,\
  org.castor.cache.distributed.JcsCacheFactory,\
  org.castor.cache.distributed.JCacheFactory,\
  org.castor.cache.distributed.CoherenceCacheFactory
                </pre></span>

                <p><span class="bodyGrey">Note: By also moving CacheFactoryRegistry to org.castor.cache
                   package the property has been renamed from 1.0M1 a second time.</span></p>

                <h3>Changed syntax of cache definition in mapping</h3>

                <p><span class="bodyGrey">The DTD declaration is as follows:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;!ELEMENT cache-type  ( param* )&gt;
&lt;!ATTLIST cache-type
    type           ( none | count-limited | time-limited | unlimited |
                     coherence | fkcache | jcache | jcs ) "count-limited"
    debug          (true|false) "false"
    capacity       NMTOKEN  #IMPLIED&gt;

&lt;!ELEMENT param EMPTY&gt;
&lt;!ATTLIST param
          name   NMTOKEN  #REQUIRED
          value  NMTOKEN  #REQUIRED&gt;</pre></span></td></tr></table></td></tr></table><p></p></span></p>

                <p><span class="bodyGrey">The new syntax is still backward compatible to the old one but allows
                   to enable debugging of cache access for a specific class as well as
                   passing individual configuration parameters to each cache instance.
                   Only <b>count-limited</b> and <b>time-limited</b> of the current cache
                   types support parameters. Parameter names are case sensitive and are
                   silently ignored if they are unknown to a cache type.</span></p>

                <p><span class="bodyGrey">It need to be noted that there are 3 parameter names that are reserved
                   for internal use. If you specify a parameter with one of the names:
                   <b>type</b>, <b>name</b> or <b>debug</b> their value will silently be
                   overwritten with another one used internally.</span></p>

                <p><span class="bodyGrey">A <b>count-limited</b> least-recently-used cache (LRU) for 500 objects
                   can be specified by:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="count-limited" capacity="500"/&gt;</pre></span></td></tr></table></td></tr></table><p></p>
                   or
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="count-limited"/&gt;
    &lt;param name="capacity" value="500"/&gt;
&lt;/cache-type&gt;</pre></span></td></tr></table></td></tr></table><p></p>
                   If both, the capacity attribute and parameter with name="capacity" is
                   specified, the parameter value takes precedence over the attribute
                   value.</span></p>

                <p><span class="bodyGrey">A <b>time-limited</b> first-in-first-out cache (FIFO) that expires
                   objects after 15 minutes can be specified by:
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="time-limited" capacity="900"/&gt;</pre></span></td></tr></table></td></tr></table><p></p>
                   or
                   <p></p><table bgcolor="#7270c2" cellpadding="1" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="4" cellspacing="1" border="0" width="100%"><tr><td><span class="bodyBlack"><pre>
&lt;cache-type type="time-limited"/&gt;
    &lt;param name="ttl" value="900"/&gt;
&lt;/cache-type&gt;</pre></span></td></tr></table></td></tr></table><p></p>
                   If both, the capacity attribute and parameter with name="ttl" is
                   specified, the parameter value takes precedence over the attribute
                   value.</span></p>

                <p><span class="bodyGrey">The <b>debug</b> attribute can be used to enable debugging for objects
                   of a single class only, as described below.</span></p>

                <h3>Added debugging of cache access</h3>

                <p><span class="bodyGrey">If you like to get debug messages for every access to cache independend
                   of the caches type or the class of the object that is accessed you
                   only need to set logging level of <b>org.castor.cache</b> to debug.
                   As this may lead to lots of debug messages, you are not interested
                   in, there are 2 options to reduce the number of the messages.</span></p>

                <p><span class="bodyGrey">If you are interested in all accesses to a specific cache type you set
                   the logging level of this implementation to debug.</span></p>

                <p><span class="bodyGrey">To get debug messages of accesses to objects of a specific class
                   there are 2 things you need to do. To be able to get debug messages at
                   all you need to set logging level of <b>org.castor.cache.Cache</b> to
                   debug first. Then you only need to set the debug attribute of the class
                   you are interested in to <b>true</b> in the mapping.</span></p>

                <p><span class="bodyGrey">Note: By allowing to pass individual configuration properties from
                   mapping to cache we again changed the way debugging is enabled. The
                   property in castor.properties file from relaese 1.0M1 is no longer
                   supported.</span></p>
            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1310">1310</a></td><td>20060206</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added identity key generator support for Borland Pointbase to Castor JDO.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1305">1305</a></td><td>20060201</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for Borland Pointbase to Castor JDO.
                    <br><i><b>Reporter: </b><a href="mailto:jgreene %0A        AT%0A        cwjamaica%0A        DOT%0A        com">John</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1238">1238</a></td><td>20060202</td><td><a href="mailto:Ulrich.Post %0A        AT%0A        softwareag%0A        DOT%0A        com">Ulrich Post</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Allowed restricting an complexType with complexContent to
                        complexType with simpleContent.
                    <br><i><b>Reporter: </b><a href="mailto:Ulrich.Post %0A        AT%0A        softwareag%0A        DOT%0A        com">Ulrich Post</a></i></td><td>Enh.</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-903">903</a></td><td>20060131</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added documentation about Castor JDO Persistence interface.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1288">1288</a></td><td>20060130</td><td><a href="mailto:willowmck %0A        AT%0A        yahoo%0A        DOT%0A        com">Will McKinley</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Allowed case insensitive lookups for enumerated type values.
                    <br><i><b>Reporter: </b><a href="mailto:willowmck %0A        AT%0A        yahoo%0A        DOT%0A        com">Will McKinley</a></i></td><td>Enh.</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1308">1308</a></td><td>20060130</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed NullPointerException in MappingTool.
                    <br><i><b>Reporter: </b><a href="mailto:mike.wannamaker %0A        AT%0A        kingston%0A        DOT%0A        hummingbird%0A        DOT%0A        com">Mike Wannamaker</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-785">785</a></td><td>20060129</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Move class loading code for Castor JDO to a single utility class
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1282">1282</a></td><td>20060127</td><td><a href="mailto:bash %0A        AT%0A        ll%0A        DOT%0A        mit%0A        DOT%0A        edu">Stephen Bash</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added HOW-TO document for enabling XML parser validation.
                    <br><i><b>Reporter: </b><a href="mailto:bash %0A        AT%0A        ll%0A        DOT%0A        mit%0A        DOT%0A        edu">Stephen Bash</a></i></td><td>Bug</td><td></td><td>Enh.</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1139">1139</a></td><td>20060127</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added Database.isLocked(Class, Object) method.
                    <br><i><b>Reporter: </b><a href="mailto:andre.teubner %0A        AT%0A        web%0A        DOT%0A        de">Andre Teubner</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1304">1304</a></td><td>20060127</td><td><a href="mailto:clovis.wichoski %0A        AT%0A        gmail%0A        DOT%0A        com">Clovis Wichosky</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed some errors in some XML files.
                    <br><i><b>Reporter: </b><a href="mailto:clovis.wichoski %0A        AT%0A        gmail%0A        DOT%0A        com">Clovis Wichosky</a></i></td><td>Bug</td><td></td><td>All</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1268">1268</a></td><td>20060124</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Replaced incorrect use of URL.toString() with URL.toExternalForm().
                    <br><i><b>Reporter: </b><a href="mailto:trygvis %0A        AT%0A        codehaus%0A        DOT%0A        org">Trygve Laugstol</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-379">379</a></td><td>20060124</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Improved exception handling by chaining original exception.
                    <br><i><b>Reporter: </b><a href="mailto:nicolas %0A        AT%0A        marchildon%0A        DOT%0A        net">Nicolas Marchildon</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1267">1267</a></td><td>20060121</td><td><a href="mailto:wleng %0A        AT%0A        metatomix%0A        DOT%0A        com">Bill Leng</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed bug in SourceGenerator that caused xsd:enumeration values
                        for NMTOKENS and integer being created with wrong type.
                    <br><i><b>Reporter: </b><a href="mailto:wleng %0A        AT%0A        metatomix%0A        DOT%0A        com">Bill Leng</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1303">1303</a></td><td>20060121</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Code cleanup at SQLEngine.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1301">1301</a></td><td>20060119</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        De-deprecated getDatabasePooling() and setDatabasePooling(boolean) methods.
                    <br><i><b>Reporter: </b><a href="mailto:rsanz %0A        AT%0A        cein%0A        DOT%0A        es">Ra&uacute;l Sanz de Acedo P&eacute;rez</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1292">1292</a></td><td>20060118</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with SQL generated for classes that are part of an extend hierarchy.
                    <br><i><b>Reporter: </b><a href="mailto:dematte %0A        AT%0A        ieee%0A        DOT%0A        org">Lorenzo Dematte</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1273">1273</a></td><td>20060108</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Removed compile &amp; runtime dependencies for Apache Xerces.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1300">1300</a></td><td>20060114</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed NPE in SourceCodeGenerator.
                    <br><i><b>Reporter: </b><a href="mailto:jason.boutwell %0A        AT%0A        comcast%0A        DOT%0A        net">Jason Boutwell</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1272">1272</a></td><td>20060113</td><td><a href="mailto:code %0A        AT%0A        obtiva%0A        DOT%0A        com">Kevin Taylor</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for List interface during marshalling of collections
                    <br><i><b>Reporter: </b><a href="mailto:code %0A        AT%0A        obtiva%0A        DOT%0A        com">Kevin Taylor</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1299">1299</a></td><td>20060107</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Allowed to specify individual parameters for cache initialization
                        in mapping.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1280">1280</a></td><td>20060106</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Made CacheRegistry non static.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1298">1298</a></td><td>20060105</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added ReadWriteLock's and ConcurrentHashMap from Doug Lea.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>All</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-551">551</a></td><td>20060104</td><td><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Removed exception-dependency in Parser and Lexer
                        including some code improvements.
                    <br><i><b>Reporter: </b><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1289">1289</a></td><td>20051231</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed problem with generated ClassChoice instances.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1218">1218</a></td><td>20051228</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Moved all script/batch files to new bin directory.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Enh.</td><td></td><td>All</td></tr></table></td></tr></table><br>
        <br><hr><h1>Release 1.0M1</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>Milestone release for Castor XML and JDO</td></tr><tr><td>released:</td><td>December 22, 2005</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>New features</h2>

                <h3>Support for collections of type 'SortedSet' (incl. use of Comparator)</h3>

                <p><span class="bodyGrey">Support has been added for the new collection type 'sortedset'. This allows users
                of Castor (XML and JDO) to use collections of type <tt>java.util.SortedSet</tt> to allow
                for automatic ordering of the collection upon e.g. insertion of the data.</span></p>

                <p><span class="bodyGrey">User can either specify a <tt>java.util.Comparator</tt> instance using the <i>comparator</i>
                attribute on the field mapping, or make the entities stored within the <tt>SortedSet</tt>
                implement <tt>java.util.Comparable</tt>.</span></p>

                <h2>Changes</h2>

                <h3>Moved JDO configuration from org.exolab.castor to org.castor package</h3>

                <p><span class="bodyGrey">With this refactoring JDOConfFactory has also been moved from
                   <b>org.exolab.castor.jdo.util</b> to <b>org.castor.jdo.util</b> package.
                   In addition we allowed to specify a name attribute on the jdo-conf tag that
                   will be used in future to distinguish between different configurations.</span></p>

                <h3>Refactored cache into new org.castor.cache package</h3>

                <p><span class="bodyGrey">Take care to adjust your custom castor.properties file to reflect
                   the changed packages of CacheFactories.</span></p>

                <span class="bodyBlack"><pre>
#
# Cache implementations
#
org.castor.jdo.cacheFactories=\
  org.castor.cache.simple.NoCacheFactory,\
  org.castor.cache.simple.TimeLimitedFactory,\
  org.castor.cache.simple.CountLimitedFactory,\
  org.castor.cache.simple.UnlimitedFactory,\
  org.castor.cache.distributed.FKCacheFactory,\
  org.castor.cache.distributed.JcsCacheFactory,\
  org.castor.cache.distributed.JCacheFactory,\
  org.castor.cache.distributed.CoherenceCacheFactory
                </pre></span>

                <h3>Added debugging of cache access</h3>

                <p><span class="bodyGrey">By setting the property <b>org.castor.jdo.cacheDebug</b> to
                   <b>true</b> you are able to get debug messages for every cache
                   access in the configured log.</span></p>

                <span class="bodyBlack"><pre>
#
# True if proxy class should be used to debug access to cache
# (default: false).
#
#org.castor.jdo.cacheDebug=false
                </pre></span>

                <h3>Moved transaction manager from org.exolab.castor to org.castor package</h3>

                <p><span class="bodyGrey">Take care to adjust your custom castor.properties file to reflect
                   the changed packages of TransactionManagerFactories.</span></p>

                <span class="bodyBlack"><pre>
#
# TransactionManagerFactory implementations
#
org.castor.transactionmanager.Factories=\
  org.castor.transactionmanager.WebSphereTransactionManagerFactory,\
  org.castor.transactionmanager.WebSphere5TransactionManagerFactory,\
  org.castor.transactionmanager.WebSphere51TransactionManagerFactory,\
  org.castor.transactionmanager.LocalTransactionManagerFactory,\
  org.castor.transactionmanager.JNDIENCTransactionManagerFactory,\
  org.castor.transactionmanager.JOTMTransactionManagerFactory
                </pre></span>

                <p><span class="bodyGrey">In addition a new property has been introduced that allows to
                   configure if the transaction manager shell be acquired instantly when
                   he is registered or lazy when it is needed for the first time.</span></p>

                <span class="bodyBlack"><pre>
#
# Shell the TransactionManager be initialized at registration or lazily when
# requested for the first time? Defaults to false.
#
org.castor.transactionmanager.InitializeAtRegistration=false
                </pre></span>
            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1274">1274</a></td><td>20051219</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Made TransactionManagerRegistry non static and moved it
                        to org.castor.transactionmanager package.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-719">719</a></td><td>20051213</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added serialVersionUID to serializable classes.
                    <br><i><b>Reporter: </b><a href="mailto:gblock %0A        AT%0A        ctoforaday%0A        DOT%0A        com">Gregory Block</a></i></td><td>Bug</td><td></td><td>All</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1279">1279</a></td><td>20051206</td><td><a href="mailto:dbrosius %0A        AT%0A        qis%0A        DOT%0A        net">Dave Brosius</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Removed some unnecessary object constructions
                        and removed manual array copy.
                    <br><i><b>Reporter: </b><a href="mailto:dbrosius %0A        AT%0A        qis%0A        DOT%0A        net">Dave Brosius</a></i></td><td>Enh.</td><td></td><td>All</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1278">1278</a></td><td>20051206</td><td><a href="mailto:dbrosius %0A        AT%0A        qis%0A        DOT%0A        net">Dave Brosius</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Allowed java to be on a path with spaces.
                    <br><i><b>Reporter: </b><a href="mailto:dbrosius %0A        AT%0A        qis%0A        DOT%0A        net">Dave Brosius</a></i></td><td>Enh.</td><td></td><td>All</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1240">1240</a></td><td>20051206</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for specifying a java.util.Comparator instance for sortedset collections.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1230">1230</a></td><td>20051201</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Refactored cache to implement java.util.Map interface into
                        new org.castor.cache package.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1271">1271</a></td><td>20051201</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with special mappings that have a 'foreign' relation as first
                        field mapping.
                    <br><i><b>Reporter: </b><a href="mailto:mailto:xiaoyong.liang %0A        AT%0A        1cm%0A        DOT%0A        com%0A        DOT%0A        cn">Sean</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1171">1171</a></td><td>20051126</td><td><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Refactored SQLTypes into SQLTypeInfos and SQLTypeConverters.
                    <br><i><b>Reporter: </b><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1265">1265</a></td><td>20051125</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with OQL queries and CALL SQL statements
                    <br><i><b>Reporter: </b><a href="mailto:mailto:xiaoyong.liang %0A        AT%0A        1cm%0A        DOT%0A        com%0A        DOT%0A        cn">Sean</a></i></td><td>Bug.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-766">766</a></td><td>20051124</td><td><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Refactored TransactionContext into an interface and global/local
                        implementations.
                    <br><i><b>Reporter: </b><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1264">1264</a></td><td>20051124</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Resolved problem with keygenerator RETURNING.
                    <br><i><b>Reporter: </b><a href="mailto:helene.wiebe %0A        AT%0A        t-systems%0A        DOT%0A        com">Helene Wiebe</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1233">1233</a></td><td>20051021</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for collections of type java.util.SortedSet.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Enh.</td><td></td><td>All</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1266">1266</a></td><td>20051119</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Move org.exolab.castor.jdo.conf to org.castor.jdo.conf.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr></table></td></tr></table><br>
        <br><hr><h1>Release 0.9.9.1</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>Maintenance release for Castor XML and JDO</td></tr><tr><td>released:</td><td>November 15, 2005</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>New features</h2>

                <h3>Added support for JOTM as transaction manager</h3>

                <p><span class="bodyGrey">Added support for JOTM as transaction co-ordinator. As a result, the
                   following transaction managers are supported.</span></p>

                <table bgcolor="#7270c2" cellpadding="2" cellspacing="1" width="100%" border="0"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" width="100%" border="0"><caption></caption><tr class="cheader"><td class="cheader">Name</td><td class="cheader">Description</td></tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">jndi</span></td><td><span class="bodyGrey">TM looked up in the JNDI ENC</span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">websphere</span></td><td><span class="bodyGrey">IBM WebSphere 4 and previous releases</span></td>
                    </tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">websphere5</span></td><td><span class="bodyGrey">IBM WebSphere 5</span></td>
                    </tr><tr bgcolor="#FFFFFF">
                        <td><span class="bodyGrey">websphere51</span></td><td><span class="bodyGrey">IBM WebSphere 5.1</span></td>
                    </tr><tr bgcolor="#DDDDDD">
                        <td><span class="bodyGrey">jotm</span></td><td><span class="bodyGrey">Java Object Transaction Monitor</span></td>
                    </tr></table></td></tr></table>

                <h3>Improved Database.getIdentity(Object)</h3>

                <p><span class="bodyGrey">The new implementation of the Database.getIdentity(Object) does not rely on the
                   object being loaded in the same transaction anymore. It is even not required to
                   have an active transaction. The identity will now be determined by calling the
                   getters of the fields defined as identities in the mapping. If a mapping for the
                   objects class could not be found a ClassNotPersistenceCapableException will be
                   thrown. Null is only returned if the objects identity is null.</span></p>

                <p><span class="bodyGrey"><b>Note:</b>Care should be take if you previously used the null return of
                   Database.getIdentity(Object) to determine if the object has been loaded in
                   the current transaction before.</span></p>

                <h3>Added helper method to close database</h3>

                <p><span class="bodyGrey">Added org.castor.jdo.util.JDOUtils.closeDatabase() method to close an open
                   database instance without throwing exceptions. Any active transaction will be
                   silently rolled back.</span></p>

                <h2>Bugs</h2>

                <h3>Improved 'caching' of Castor DTDs/XML Schemas</h3>

                <p><span class="bodyGrey">Added code to DTDResolver so that any URL/URIs against http://castor.org/... will
                   be resolved against (local) files from within the Castor JAR(s).</span></p>

                <h3>Problem obtaining underlying JDBC connections</h3>

                <p><span class="bodyGrey">Fixed a problem with obtaining the underlying JDBC connection used by Castor
                   internally when there was no valud transaction. The code has been changed so that
                   a <i>PersistenceException</i> will be thrown to indicate the lack of a valid
                   transaction.</span></p>

            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1024">1024</a></td><td>20051230</td><td><a href="mailto:rvirostko %0A        AT%0A        cox%0A        DOT%0A        net">Ross Virostko</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed issue where whitespace have been deleted by Unmarshaller.
                    <br><i><b>Reporter: </b><a href="mailto:peter %0A        AT%0A        wyngaard%0A        DOT%0A        com">Peter Wyngaard</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1241">1241</a></td><td>20051113</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Improved documentation about locking modes.
                    <br><i><b>Reporter: </b><a href="mailto:vishal.madan %0A        AT%0A        wipro%0A        DOT%0A        com">Vish Madan</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1247">1247</a></td><td>20051112</td><td><a href="mailto:vishal.madan %0A        AT%0A        wipro%0A        DOT%0A        com">Vish Madan</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with releasing object lock due to a
                        LockNotGrantedException.
                    <br><i><b>Reporter: </b><a href="mailto:vishal.madan %0A        AT%0A        wipro%0A        DOT%0A        com">Vish Madan</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1239">1239</a></td><td>20051110</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Improved Database.getIdentity(Object) to be able to resolve identity without
                        relying on the object been loaded from the database in the same transaction.
                    <br><i><b>Reporter: </b><a href="mailto:voorth %0A        AT%0A        xs4all%0A        DOT%0A        nl">Henk van Voorthujsen</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1260">1260</a></td><td>20051110</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added org.castor.jdo.util.JDOUtils.closeDatabase() helper method.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1259">1259</a></td><td>20051110</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Refactored org.exolab.castor.jdo.Utils into org.castor.jdo.util.JDOUtils.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1249">1249</a></td><td>20051107</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Included new implementations of Base64Encoder/-Decoder with
                        castor-0.9.9-xml.jar.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1253">1253</a></td><td>20051105</td><td><a href="mailto:aoyong.liang %0A        AT%0A        1cm%0A        DOT%0A        com%0A        DOT%0A        cn">Sean</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with with using count() in OQL queries that
                        involve extend relations.
                    <br><i><b>Reporter: </b><a href="mailto:aoyong.liang %0A        AT%0A        1cm%0A        DOT%0A        com%0A        DOT%0A        cn">Sean</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1254">1254</a></td><td>20051103</td><td><a href="mailto:aoyong.liang %0A        AT%0A        1cm%0A        DOT%0A        com%0A        DOT%0A        cn">Sean</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for distinct keyword in count() functions.
                    <br><i><b>Reporter: </b><a href="mailto:aoyong.liang %0A        AT%0A        1cm%0A        DOT%0A        com%0A        DOT%0A        cn">Sean</a></i></td><td>New feature</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1256">1256</a></td><td>20051103</td><td><a href="mailto:martin.graney %0A        AT%0A        leanapps%0A        DOT%0A        com">Martin Graney</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added non-trivial sample for usage of binding file
                    <br><i><b>Reporter: </b><a href="mailto:martin.graney %0A        AT%0A        leanapps%0A        DOT%0A        com">Martin Graney</a></i></td><td>Addition</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1223">1223</a></td><td>20051020</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added TransactionManagerFactory for JOTM.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>New feature</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1220">1220</a></td><td>20051013</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added config entries for http://castor.org/* to DTDResolver.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1219">1219</a></td><td>20051012</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Changed many references to http://castor.exolab.org to http://castor.org
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Bug</td><td></td><td>All</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1224">1224</a></td><td>20051013</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with obtaining JDBC connection when no transaction
                        in progress.
                    <br><i><b>Reporter: </b><a href="mailto:bschlining %0A        AT%0A        gmail%0A        DOT%0A        com">Brian Schlining</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1231">1231</a></td><td>20051013</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with SQL generated for OQL queries where only id fields
                        are present.
                    <br><i><b>Reporter: </b><a href="mailto:tranle %0A        AT%0A        gmail%0A        DOT%0A        com">Minh Tran-LeJeremy Whitlock</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1216">1216</a></td><td>20051011</td><td><a href="mailto:keith AT kvisco DOT com">Keith Visco</a></td><td><a href="mailto:keith AT kvisco DOT com">Keith Visco</a></td><td>
                        Generated java source files won't compile.
                    <br><i><b>Reporter: </b><a href="mailto:wleng %0A        AT%0A        metatomix%0A        DOT%0A        com">Bill Leng</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1153">1153</a></td><td>20051010</td><td><a href="mailto:keith AT kvisco DOT com">Keith Visco</a></td><td><a href="mailto:keith AT kvisco DOT com">Keith Visco</a></td><td>
                        Unable to generate binding using SourceGen.
                    <br><i><b>Reporter: </b><a href="mailto:neiltaylor %0A        AT%0A        mac%0A        DOT%0A        com">Neil Taylor</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1152">1152</a></td><td>20051010</td><td><a href="mailto:andrew.fawcett %0A        AT%0A        coda%0A        DOT%0A        com">Andrew Fawcett</a></td><td><a href="mailto:">David Green</a></td><td>
                        PropertyChangeListeners for bound properties should not be serialized.
                    <br><i><b>Reporter: </b><a href="mailto:">David Green</a></i></td><td>Bug</td><td></td><td>XML</td></tr></table></td></tr></table><br>
        <br><hr><h1>Release 0.9.9</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>Feature release for Castor XML and JDO</td></tr><tr><td>released:</td><td>September 22, 2005</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>Download &amp; installation instructions</h2>

                <p><span class="bodyGrey">This is the final 0.9.9 release, a feature release for Castor JDO and XML.</span></p>

                <p><span class="bodyGrey">Please note that we are providing the usual suspects (binaries, docs and
                   sources) for this release at <a href="http://dist.codehaus.org/castor/0.9.9.">
                   the Codehaus</a>.</span></p>


                <p><span class="bodyGrey">We are currently planning for a <b>Castor 1.0</b> release in about 8+ weeks,
                which we mainly see as a bug fix release and a one-time opportunity
                to get the HTML documentation into a better shape .. ;-).</span></p>

                <p><span class="bodyGrey">Please note that we have - in addition to the features added and bugs fixed
                   as documented with 0.9.9M1 and 0.9.9M2 - started to makes substantial changes
                   to the project documentation as follows:</span></p>

                <p><span class="bodyGrey">
                    <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
                        <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">Addition of the first Castor JDO HOW-TO pages</span></td></tr>
                        <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">Addition of an initial (hence draft) Castor JDO best practice
                            document</span></td></tr>
                        <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">Addition of a Castor JDO feature page</span></td></tr>
                    </span></table>
                </span></p>

                <p><span class="bodyGrey">As mentioned above, these pages are work in progress and shall be expanded
                   for the upcoming 1.0 release.</span></p>

            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1215">1215</a></td><td>20050919</td><td><a href="mailto:gblock %0A        AT%0A        ctoforaday%0A        DOT%0A        com">Gregory Block</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fixed JDO.getDatabase()NullPointerException.
                    <br><i><b>Reporter: </b><a href="mailto:jcscoobyrs %0A        AT%0A        gmail%0A        DOT%0A        com">Jeremy Whitlock</a></i></td><td>Bug</td><td></td><td>JDO</td></tr></table></td></tr></table><br>
        <br><hr><h1>Release 0.9.9M2</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>2nd Milestone release for 0.9.9</td></tr><tr><td>released:</td><td>Sep 13, 2005</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>Download &amp; installation instructions</h2>

                <p><span class="bodyGrey">Please note that we are providing the usual suspects (binaries, docs and
                   sources) for this release at <a href="http://dist.codehaus.org/castor/0.9.9.">
                   the Codehaus</a>. We recommend, though, to download the complete package,
                   as the HTML docs at <a href="http://castor.codehaus.org">the main Castor site</a> has
                   not been updated, and to build the documentation yourself.</span></p>

                <p><span class="bodyGrey">Preparations for the final release have started. Since the last release candidate,
                   the following problem areas have been addressed.</span></p>
            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1210">1210</a></td><td>20050907</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Removed references to Poolman from documentation on pooling.
                    </td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1195">1195</a></td><td>20050908</td><td><a href="mailto:nicholas.stuart %0A        AT%0A        gmail%0A        DOT%0A        com">Nicholas Stuart</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Integrated original test case provided into Castor CTF.
                    </td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1207">1207</a></td><td>20050907</td><td><a href="mailto:clovis.wichoski %0A        AT%0A        gmail%0A        DOT%0A        com">Clovis Wichosky</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Prefer to use setter with reference type before setter with primitive
                        type if multiple setters are available.
                    <br><i><b>Reporter: </b><a href="mailto:clovis.wichoski %0A        AT%0A        gmail%0A        DOT%0A        com">Clovis Wichosky</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1195">1195</a></td><td>20050905</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Fixed problem with class resolution during loading polymorphic objects.
                    </td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1071">1071</a></td><td>20050901</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added marketplace section
                    </td><td>Enh</td><td></td><td>General</td></tr></table></td></tr></table><br>
        <br><hr><h1>Release 0.9.9M1</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>Milestone release for 0.9.9</td></tr><tr><td>released:</td><td>Aug 24, 2005</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>Download &amp; installation instructions</h2>

                <p><span class="bodyGrey">Please note that we are providing the usual suspects (binaries, docs and
                   sources) for this release at <a href="http://dist.codehaus.org/castor/0.9.9.">
                   the Codehaus</a>. We recommend, though, to download the complete package,
                   as the HTML docs at <a href="http://castor.codehaus.org">the main Castor site</a> has
                   not been updated, and to build the documentation yourself.</span></p>

                <h2>Changes</h2>

                <h3>Support for polymorphism</h3>

                <p><span class="bodyGrey">Support for polymorphism has been completely rewritten, allowing you
                   to load objects that are part of an extend relationship by their base
                   types, with Castor JDO returning the actual (leaf) classes.</span></p>

                <p><span class="bodyGrey">With the following class hierarchy ...</span></p>

                <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
                    <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">Server extends Computer</span></td></tr>
                    <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">Laptop extends Computer</span></td></tr>
                    <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">Computer extends Product</span></td></tr>
                </span></table>

                <p><span class="bodyGrey">it will be possible to execute OQL queries as follows:</span></p>

                <span class="bodyBlack"><pre>
SELECT product FROM Product product
                </pre></span>

                <p><span class="bodyGrey">and Castor JDO will return the actual <tt>Laptop</tt> and
                   <tt>Server</tt> instances. For a complete set of code examples,
                   please review <tt>src/tests/ctf/jdo/tc9x/TestPolymorphism.java</tt>.</span></p>

                <h3>Updated MANIFEST files</h3>

                <p><span class="bodyGrey">Both castor-0.x.y.jar and castor-0.x.y-xml.jar now carry an updated
                   and up-to-date MANIFEST file.</span></p>

                <h2>New features</h2>

                <h3>Support for Derby</h3>

                <p><span class="bodyGrey">Support for <a href="http://db.apache.org/derby">Apache Derby</a>
                   (starting with release 10.1.1.0) has been added. For initial information
                   about configuration of Castor JDO for the use with Apache Derby,
                   please see <tt>src/tests/jdo/derby.xml</tt>.</span></p>

                <p><span class="bodyGrey">Known issues:<br>
                   <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey">
                      <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">No support for LIMIT clause</span></td></tr>
                      <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">No support for identity key generator (temporarily)</span></td></tr>
                      <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">No support for SELECT .. FOR UPDATE statements.</span></td></tr>
                   </span></table>
                </span></p>

                <h3>Added support for distributed caches</h3>

                <p><span class="bodyGrey">As of this release, four new cache types have been added:</span></p>

                <p><span class="bodyGrey">
                    <ol>
                        <li>Tangosol Coherence (coherence)</li>
                        <li>JCache (jcache)</li>
                        <li>FKCache (fkcache)</li>
                        <li>JCS (jcs)</li>
                    </ol>
                </span></p>

                <p><span class="bodyGrey">As some of these cache implementations allow you to use it in a
                   distributed mode, this allows Castor JDO to be used in a clustered
                   (multi-JVM) environment. In such an environment, Castor JDO
                   wil make use of the underlying cache provider to replicate/distribute
                   the cache content between the various JDOManager instances.</span></p>

                <h3>Support for transient attribute for &lt;sql&gt; mappings</h3>

                <p><span class="bodyGrey">Support for the <tt>transient</tt> attribute has been added to
                   the &lt;sql&gt; element has been added. This allows you to define a
                   field mapping as follows:</span></p>

                <span class="bodyBlack"><pre>
&lt;field name="prop1" type="string"&gt;
   &lt;sql name="prop_1" <font color="red">transient="true"</font> /&gt;
   &lt;bind-xml name="property1" /&gt;
&lt;/field&gt;
                </pre></span>

                <p><span class="bodyGrey">allowing you to include a field for XML un-/marshalling, but exclude
                   it from persistence.</span></p>

                <h3>Support for typesafe enumerations</h3>

                <p><span class="bodyGrey">Enumerations are a common method for ensuring data integrity, both in software and
                   in relational databases. As a platform for linking the two, we added support for
                   persisting class fields whose type is a Java typesafe enumeration to Castor JDO.</span></p>

                <p><span class="bodyGrey">To use this new feature your typesafe enumeration should follow the enum pattern
                   commonly used and provide a <tt>static valueOf(String)</tt> method. An enum of
                   different kinds of computer equipment may look like:</span></p>

                <span class="bodyBlack"><pre>
public class KindEnum {
    private static final Map KINDS = new HashMap();

    public static final KindEnum MOUSE = new KindEnum("Mouse");
    public static final KindEnum KEYBOARD = new KindEnum("Keyboard");
    public static final KindEnum COMPUTER = new KindEnum("Computer");
    public static final KindEnum PRINTER = new KindEnum("Printer");
    public static final KindEnum MONITOR = new KindEnum("Monitor");

    private final String _kind;

    private KindEnum(final String kind) {
        _kind = kind;
        KINDS.put(kind, this);
    }

    public static KindEnum valueOf(final String kind) {
        return (KindEnum) KINDS.get(kind);
    }

    public String toString() { return _kind; }
}
                </pre></span>

                <p><span class="bodyGrey">At your Product class you may want to have a property that tells you what kind of
                   computer equipment a product is of.</span></p>

                <span class="bodyBlack"><pre>
public class Product {
    private int         _id;
    private String      _name;
    private KindEnum    _kind;

    public Product() { }

    public int getId() { return _id; }
    public void setId(int id) { _id = id; }

    public String getName() { return _name; }
    public void setName(String name) { _name = name; }

    public KindEnum getKind() { return _kind; }
    public void setKind(KindEnum kind) { _kind = kind; }
}
                </pre></span>

                <p><span class="bodyGrey">Your mapping for the Product class should be:</span></p>

                <span class="bodyBlack"><pre>
&lt;class name="Product" identity="id"&gt;
  &lt;description&gt;Product with kind enum&lt;/description&gt;
  &lt;map-to table="enum_prod"/&gt;
  &lt;field name="id" type="integer"&gt;
    &lt;sql name="id" type="integer"/&gt;
  &lt;/field&gt;
  &lt;field name="name" type="string"&gt;
    &lt;sql name="name" type="char"/&gt;
  &lt;/field&gt;
  &lt;field name="kind" type="KindEnum"&gt;
    &lt;sql name="kind" type="char"/&gt;
  &lt;/field&gt;
&lt;/class&gt;
                </pre></span>

                <p><span class="bodyGrey">To add this new feature we added an additional check when searching for field types.
                   Like before Castor first searches for know types and thereafter for a mapping for
                   the class you specified as type. If both of them do not match it now checks if the
                   class specified as type is available at classpath and has a static valueOf(String)
                   method. Only if all of this conditions are met it will be viewed as a valid mapping.</span></p>

                <h3>Parametrized boolean-&gt;char type converter</h3>

                <p><span class="bodyGrey">Pre patch we always returned a boolean value even if the database contained a value
                   which does not conform to the rules defined. This behaviour caused that we could
                   load records with wrong values without problems but got a ObjectModifiedException
                   when we tried to update these values as our update statment includes checking of
                   all old values in the where clause of SQL statement.</span></p>

                <p><span class="bodyGrey">With the patch this behavier changes to strict checking if the loaded char/string
                   value matches one of the boolean characters defined by conversion rule. If the value
                   does not match a ClassCastException explaing the fail reason will be thrown.</span></p>

                <h3>Performance improvements</h3>

                <p><span class="bodyGrey">Several code areas of Castor JDO have been severly refactored or rewritten
                   from scratch, leading to some significantly improved runtime performance. This
                   includes amongst others a reduced execution time when dealing with a large
                   number of entities loaded as part of a single transaction, etc. </span></p>


            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1204">1204</a></td><td>20050823</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added release notes for 0.9.9M1.
                    </td><td>Bug</td><td></td><td>General</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-999">999</a></td><td>20050823</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added ant targets to to check code conventions with checkstyle.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>ALL</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1203">1203</a></td><td>20050823</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Calculation of priority to execute create and delete statements at commit returns
                        wrong results when no keygen is used or class depends/extends another.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-920">920</a></td><td>20050822</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Changed argument handling code.
                    </td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1151">1151</a></td><td>20050821</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Completely refactored ClassMolder, introducing strategy objects for field resolution.
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1132">1132</a></td><td>20050817</td><td><a href="mailto:westbay AT users DOT sourceforge DOT net">Michael Westbay</a></td><td><a href="mailto:keith AT kvisco DOT com">Keith Visco</a></td><td>
                       Added additional check for various built-in types
                       when deciding whether or not to use the parent classes namespace
                       if no local namespace has been defined.
                    <br><i><b>Reporter: </b><a href="mailto:westbay AT users DOT sourceforge DOT net">Michael Westbay</a></i></td><td>Bug</td><td></td><td>XML</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1179">1179</a></td><td>20050817</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Refactored how transaction managers are maintained.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1158">1158</a></td><td>20050808</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Stricter checking at type conversion from string to boolean.
                    <br><i><b>Reporter: </b><a href="mailto:nick %0A        AT%0A        newtsplace%0A        DOT%0A        com">Nick Stuart</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-943">943</a></td><td>20050806</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Created a test case for configuring JDO DataSource using a Properties
                        collection.
                    <br><i><b>Reporter: </b><a href="mailto:martin-fuchs %0A        AT%0A        gmx%0A        DOT%0A        net">Martin Fuchs</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1190">1190</a></td><td>20050806</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Fix syntax failures in sapdb.sql script and improve sapdb test coverage.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1185">1185</a></td><td>20050805</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Replaced MimeBase64Encoder/Decoder with new implementation
                        Base64Encoder/Decoder.
                    <br><i><b>Reporter: </b><a href="mailto:bruce DOT snyder AT gmail DOT com">Bruce Snyder</a></i></td><td>Enh.</td><td></td><td>All</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-799">799</a></td><td>20050805</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Refactored MANIFEST files and their usage within Castor
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1102">1102</a></td><td>20050801</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for various distributed caches.
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-300">300</a></td><td>20050730</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        JDO support for typesafe enumerations.
                    <br><i><b>Reporter: </b><a href="mailto:rhett-sutphin %0A        AT%0A        uiowa%0A        DOT%0A        edu">Rhett Sutphin</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1178">1178</a></td><td>20050803</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added code to set identity upon registering objects with ObjectTracker
                    </td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1183">1183</a></td><td>20050803</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Allow to initialize JDOManager with a preconfigured DataSource.
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1173">1173</a></td><td>20050801</td><td><a href="mailto:gblock %0A        AT%0A        ctoforaday%0A        DOT%0A        com">Gregory Block</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Solved problem using JDOConfFactory and transaction demarcation
                        specification.
                    <br><i><b>Reporter: </b><a href="mailto:gblock %0A        AT%0A        ctoforaday%0A        DOT%0A        com">Gregory Block</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-755">755</a></td><td>20050731</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Place all JDO unit tests in a new src/tests/utf/org/exolab/castor/ tree.
                    <br><i><b>Reporter: </b><a href="mailto:bruce DOT snyder AT gmail DOT com">Bruce Snyder</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1114">1114</a></td><td>20050731</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Update docs on the limit clause support for OQL.
                    <br><i><b>Reporter: </b><a href="mailto:bruce DOT snyder AT gmail DOT com">Bruce Snyder</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1169">1169</a></td><td>20050727</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Refactored access to caches, adding CacheEntry class and making OID and
                        CacheEntry implement java.io.Serializable.
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-778">778</a></td><td>20050725</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Remove deleteExtend method from ClassMolder.
                    </td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1135">1135</a></td><td>20050724</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Refactor how JDBC connection factories are maintained.
                    <br><i><b>Reporter: </b><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1018">1018</a></td><td>20050715</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for polymorphism.
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1110">1110</a></td><td>20050705</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Refactor CTF-JDO tests into subdirectories (part 2).
                    <br><i><b>Reporter: </b><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-874">874</a></td><td>20050703</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added DB2 category to src/tests/tests.xml.
                    </td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1085">1085</a></td><td>20050620</td><td><a href="mailto:gblock %0A        AT%0A        ctoforaday%0A        DOT%0A        com">Gregory Block</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Complete rewrite of TransactionContext with regards to obejct tracking.
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1155">1155</a></td><td>20050617</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added org.castor package to src/main.
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-732">732</a></td><td>20050616</td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        Added performance test-suite for 1:n relations of JDO.
                    <br><i><b>Reporter: </b><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></i></td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-352">352</a></td><td>20050615</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Added support for transient attribute at the &lt;sql&gt; element.
                    </td><td>Enh.</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-633">633</a></td><td>20050614</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Removed hidden catch-block in LockEngine.updateCache().
                    <br><i><b>Reporter: </b><a href="mailto:dulci %0A        AT%0A        start%0A        DOT%0A        no">Stein M. Hugubakken</a></i></td><td>Ref.</td><td></td><td>JDO</td></tr></table></td></tr></table><br>

        <br><hr><h1>Release 0.9.7</h1><hr><table cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td>Description:</td><td>Maintenance release for Castor XML and JDO</td></tr><tr><td>released:</td><td>June 8, 2005</td></tr><tr><td>managed by:</td><td>Werner Guttmann</td></tr></table><br><summary>
                <h2>Download &amp; installation instructions</h2>

                <p><span class="bodyGrey">This is the final 0.9.7. release, mainly a maintenance release. We are currently
                   planning the next release which will be Castor 0.9.9, a feature release.</span></p>

                <h2>Changes</h2>

                <h3>Moved key generators to jdo.keygen package</h3>

                <p><span class="bodyGrey">Whilst this change is non-intrusive per se, please note that you might have to
                   change a local <tt>castor.properties</tt> file if you happened to re-specify key generators
                   in there.</span></p>

                <h3>Fixed problem with multiple &lt;database&gt; configurations</h3>

                <p><span class="bodyGrey">Support for multiple database configurations has been re-enabled.</span></p>

            </summary><br><table bgcolor="#7270c2" cellpadding="2" cellspacing="1" border="0" width="100%"><tr><td><table bgcolor="#ededed" cellpadding="8" cellspacing="1" border="0" width="100%"><CAPTION style="font-weight:bold">
          Bug Fixes And Issues Addressed
        </CAPTION><tr bgcolor="#7270c2"><th align="left">Id</th><th align="left">Date</th><th align="left">Fixed by</th><th align="left">Committed by </th><th align="left">Description</th><th align="left">Type</th><th align="left">Project</th><th align="left">Module</th></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-1147">1147</a></td><td>20050607</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Reverted addition to src/tests/jdo/Collections due to problem with missing
                        setItem(ArrayList).
                    </td><td>Bug</td><td></td><td>General</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1138">1138</a></td><td>20050530</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Moved key generators to jdo.keygen package.
                    </td><td>Bug</td><td></td><td>General</td></tr><tr valign="top"><td><a href="http://jira.codehaus.org/browse/CASTOR-881">881</a></td><td>20050530</td><td><a href="mailto:nick %0A        AT%0A        newtsplace%0A        DOT%0A        com">Nick Stuart</a></td><td><a href="mailto:ralf.joachim %0A        AT%0A        syscon%0A        DOT%0A        eu">Ralf Joachim</a></td><td>
                        JDOManager can now handle more then one jdo-conf.
                    <br><i><b>Reporter: </b><a href="mailto:nick %0A        AT%0A        newtsplace%0A        DOT%0A        com">Nick Stuart</a></i></td><td>Bug</td><td></td><td>JDO</td></tr><tr valign="top" bgcolor="#FFFFFF"><td><a href="http://jira.codehaus.org/browse/CASTOR-1131">1131</a></td><td>20050525</td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td><a href="mailto:werner.guttmann %0A        AT%0A        gmx%0A        DOT%0A        net">Werner Guttmann</a></td><td>
                        Update project documentation.
                    </td><td>Bug</td><td></td><td>General</td></tr></table></td></tr></table><br>

        <p><span class="bodyGrey">For all the releases prior to 0.9.7, the release notes can be found
           at <a href="release-notes-0.9.7pre.html">here</a> or <a href="changelog.html">here</a>.</span></p>

    </td></tr><tr height="5"><td align="left" valign="top" bgcolor="#7270c2" height="5" width="10">&nbsp;</td><td valign="top" bgcolor="#7270c2" height="5" width="150"><img border="0" height="15" width="1" src="images/dotTrans.gif"><br><img align="right" border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="5" width="7">&nbsp;</td><td align="left" valign="top" height="5" width="70">&nbsp;</td><td align="left" valign="top" height="5" width="120">&nbsp;</td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" height="5" width="10">&nbsp;</td><td align="left" valign="top" bgcolor="#7270c2" width="150"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="70"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="10"><img border="0" height="125" width="10" src="images/stripes1.gif"></td><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="150"><img border="0" height="125" width="105" src="images/stripe105.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="100%" rowspan="2" width="7">&nbsp;</td><td align="left" valign="top" height="100%" width="70">&nbsp;</td><td align="left" valign="top" height="100%" width="120">&nbsp;</td></tr><tr height="5"><td align="left" valign="top" height="25" width="70">&nbsp;</td><td align="left" valign="bottom" height="25" width="400"><br><br><img height="3" width="400" border="0" src="images/line_light.gif"><br><p></p><span class="bodyGrey"><small><notice>
    Copyright &copy; 1999-2005 <a href="http://www.exolab.org">ExoLab Group</a>, Intalio Inc.,
    and Contributors.  All rights reserved.
  </notice><br>&nbsp;<br></small><small><notice>
    Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered
    trademarks of Sun Microsystems, Inc. in the United States and in other
    countries. XML, XML Schema, XSLT and related standards are trademarks or registered
    trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web
    Consortium. All other product names mentioned herein are trademarks of their respective
    owners.
  </notice><br>&nbsp;<br></small></span><p></p>
          &nbsp;
        </td><td align="left" valign="top" height="25" width="120">&nbsp;</td></tr></table><script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script><script type="text/javascript">
        var pageTracker = _gat._getTracker("UA-3544187-1");
        pageTracker._trackPageview();
    </script></body></html>