License     Codehaus     OpenEJB     OpenJMS     OpenORB     Tyrex     

Old releases
  General
  Release 1.3
  Release 1.3rc1
  Release 1.2

Main
  Home
  About
  Features
  Download
  Dependencies
  Reference guide
  Publications
  JavaDoc
  Maven 2 support
  Maven 2 archetypes
  DTD & Schemas
  Recent HTML changes
  News Archive
  RSS news feed
  Project Wiki

Development/Support
  Mailing Lists
  SVN/JIRA
  Contributing
  Support
  Continuous builds
  Prof. services

Related projects
  Spring ORM support
  Spring XML factories
  WS frameworks

XML
  XML

XML Code Generator
  XML Code Generator

JDO
  Introduction
  First steps
  Using JDO
  JDO Config
  Types
  JDO Mapping
  JDO FAQ
  JDO Examples
  JDO HOW-TOs
  Tips & Tricks
  Other Features
  JDO sample JAR

Tools
  Schema generator

Advanced JDO
  Caching
  OQL
  Trans. & Locks
  Design
  KeyGen
  Long Trans.
  Nested Attrs.
  Pooling Examples
  LOBs
  Best practice

DDL Generator
  Using DDL Generator
  Properties
  Ant task
  Type Mapping

More
  The Examples
  3rd Party Tools
  JDO Tests
  XML Tests
  Configuration
 
 

About
  License
  User stories
  Contributors
  Marketplace
  Status, Todo
  Changelog
  Library
  Contact
  Project Name

  



Release notes


Releases


Releases

For all releases prior to 0.9.6, the release notes can be found here.



Release 1.3.2


Description:Maintenance release
released:March 29, 2011
managed by:Werner Guttmann

Changes

Java enum handling

To persist an Java enum it needs to be converted to a string. To do so Castor previously called toString() method of the enum. This worked out well until the toString() method got overwritten by a user to provide localized messages to be displayed for the enum values. In such a case the localized message got written to the database which caused failures when entity was loaded from database again. By calling name() method to convert the enum value to an string this will not happen any more.

Removed deprecated artefacts of CPA module

The following Interfaces, Classes, Methods and Properties that had been deprecated at previous Castor releases have been removed.

-Class: org.exolab.castor.jdo.JDO
-Property: org.exolab.castor.jdo.Database.ReadOnly
-Property: org.exolab.castor.jdo.Database.Shared
-Property: org.exolab.castor.jdo.Database.Exclusive
-Property: org.exolab.castor.jdo.Database.DbLocked
-Class: org.exolab.castor.persist.spi.Complex
-Interface: org.exolab.castor.persist.Lazy
-Class: org.castor.cpa.CPAConfiguration
-Method: org.castor.jdo.util.JdoConfFactory.createDatabase(String, String, DataSource, Mapping)
-Method: org.castor.jdo.util.JdoConfFactory.createDatabase(String, String, DataSource, Mapping[])
-Method: org.castor.jdo.util.JdoConfFactory.createDatabase(String, String, Driver driver, Mapping)
-Method: org.castor.jdo.util.JdoConfFactory.createDatabase(String, String, Driver driver, Mapping[])
-Method: org.castor.jdo.util.JdoConfFactory.createMapping(String)
-Method: org.castor.jdo.util.JdoConfFactory.createTransactionDemarcation()

Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
300520100917Dennis ButtersteinRalf Joachim Use info classes at buildStatement() of SQLStatementLoad.
Reporter: Dennis Butterstein
Enh.JDO
300420100916Dennis ButtersteinRalf Joachim Use info classes at SQLStatementUpdate and SQLStatementDelete.
Reporter: Dennis Butterstein
Enh.JDO
300320100916Dennis ButtersteinRalf Joachim Created info classes that provide a view on mapping from database perspective.
Reporter: Dennis Butterstein
Enh.JDO
299720100907Ralf JoachimRalf Joachim Removed jdo-extensions-it module.
Reporter: Ralf Joachim
Enh.JDO
299620100907Ralf JoachimRalf Joachim Integrated tests of jdo-extensions-it into CPACTF.
Reporter: Ralf Joachim
Enh.JDO
299520100907Ralf JoachimRalf Joachim Removed requirement to specify default mapping/configuration for CPACTF.
Reporter: Ralf Joachim
Enh.JDO
299420100906Ralf JoachimRalf Joachim Added support to specify class and package mapping in jdo-conf.
Reporter: Ralf Joachim
Enh.JDO
299320100906Ralf JoachimRalf Joachim Allowed definition of jdo-conf without XML mapping.
Reporter: Ralf Joachim
Enh.JDO
299020100906Ralf JoachimRalf Joachim Changed handling of Java enums to call name() instead of toString() when converting to a string value.
Reporter: Ralf Joachim
Enh.JDO
285820100906Clovis WichoskiRalf Joachim Fixed wrong priority for references to extended class hierarchy.
Reporter: Clovis Wichoski
BugJDO
295720100819Dennis ButtersteinRalf Joachim Used select class hierarchy at SQLStatementLoad.
Reporter: Dennis Butterstein
Enh.JDO
295620100705Dennis ButtersteinRalf Joachim Removed mapping hack from cpactf-testcase 70.
Reporter: Dennis Butterstein
Enh.JDO
295420100705Dennis ButtersteinRalf Joachim Added ability to handle joins to current class hierarchy.
Reporter: Dennis Butterstein
Enh.JDO
295220100623Dennis ButtersteinRalf Joachim Used visitor pattern to uncouple the order of select-columns from the order of the resulset-columns.
Reporter: Dennis Butterstein
Enh.JDO
294820100623Dennis ButtersteinRalf Joachim Cleaned up code by removing QueryContext brownfields.
Reporter: Dennis Butterstein
Enh.JDO
294520100607Dennis ButtersteinRalf Joachim Implemented visitor pattern for SQL statements and started using it.
Reporter: Dennis Butterstein
Enh.JDO
294420100607Dennis ButtersteinRalf Joachim Adapted some classes to use CastorStatement / CastorConnection.
Reporter: Dennis Butterstein
Enh.JDO
293820100531Dennis ButtersteinRalf Joachim Minor code cleanup at key generator.
Reporter: Dennis Butterstein
Enh.JDO
283420100512Torsten JuergeleitWerner Guttmann Made the use of cycle breaker code in generated equals()/hashcode() methods configurable.
Reporter: Jean-Marc Borer
BugXML
274620100512Jean-Marc BorerWerner Guttmann Fixed bug in CycleBreaker.
Reporter: Jean-Marc Borer
BugXML
289620100501Ralf JoachimRalf Joachim Prevented exceptions at shutdown of cache factories.
Reporter: Ralf Joachim
BugJDO
291720100501Ralf JoachimRalf Joachim Removed deprecated artefacts of CPA module.
Reporter: Ralf Joachim
Enh.JDO
290620100430Dennis ButtersteinRalf Joachim Used CastorConnection in SQLStatementUpdate.
Reporter: Dennis Butterstein
Enh.JDO
289020100330Dennis ButtersteinRalf Joachim Implemented first step of improvement of SQL statement classes.
Reporter: Dennis Butterstein
Enh.JDO
287920100220Ralf JoachimRalf Joachim Use Java 5 enums for mapping.
Reporter: Ralf Joachim
Enh.All
204520100131Clovis WichoskiRalf Joachim Polymorphism issues with ClassMolder.load().
Reporter: August Detlefsen
BugJDO
287420100131Ralf JoachimRalf Joachim Reset resolvers only once after all ClassMolders are initialized.
Reporter: Ralf Joachim
Enh.JDO
287320100131Ralf JoachimRalf Joachim Remove obscure debug flag from PersistenceCapableRelationResolver.
Reporter: Ralf Joachim
Enh.JDO
287120100115Ralf JoachimRalf Joachim Fix DataObjectAccessException thrown in multi threaded environment at loading of extended entities because of wrong ClassMolder.
Reporter: Clovis Wichoski
BugJDO
287020100113Clovis WichoskiRalf Joachim Extend CPACTF for multi threaded tests.
Reporter: Clovis Wichoski
Enh.JDO
286420100107Udai GuptaRalf Joachim Add SQL parser as created during GSoC 2008 to SVN trunc.
Reporter: Ralf Joachim
Enh.JDO
286620100107Ralf JoachimRalf Joachim Update ant from 1.6 to 1.7.1.
Reporter: Ralf Joachim
Enh.All
286220100107Ralf JoachimRalf Joachim Refactor handling of lazy collections.
Reporter: Ralf Joachim
Enh.JDO
286520100107Ralf JoachimRalf Joachim Improve solution to prevent reference set to null during long transaction.
Reporter: Ralf Joachim
Enh.JDO
286320100106Ralf JoachimRalf Joachim Wrap PreparedStatementMock with a dynamic proxy to be able to compile with Java 5 and 6.
Reporter: Ralf Joachim
BugJDO



Release 1.3.1


Description:Maintenance release
released:January 3, 2010
managed by:Werner Guttmann

Changes

Moved connection proxies into new org.castor.cpa.persistence.sql.connection package

The entry in to enable connection proxies in properties file should now be:

# True if proxy classes should be used for JDBC connections and prepared statements.
# Defaults to true.
#
org.castor.cpa.persistence.sql.connection.proxies=false

Castor XML and the use of regular expressions

If regular expressions are being used with Castor XML, Castor XML now throws a IllegalStateException when no regular expression engine id specified in a custom castor.properties file (using the org.exolab.castor.regexp property). Please check with the reference guide to see what regular expression engines are supported.

Additions

Added support for Atomikos transaction manager

You can configure Castor to use Atomikos transaction manager as follows:

<transaction-demarcation mode="global">
   <transaction-manager name="atomikos" />
</transaction-demarcation>

Added support for named native queries at the class level

It is now possible to specify named native (SQL) queries at the class level:

<class name="org.castor.cpa.test.test1503.Entity" identity="id">
    <description>Named native query entity</description>
    <map-to table="test1503_entity"/>
    <field name="id" type="integer">
        <sql name="id" type="integer"/>
    </field>
    <field name="name" type="string">
        <sql name="name" type="char"/>
    </field>
    <named-native-query name="nativeSelectEntity">
        <query>SELECT * FROM test1503_entity</query>
    </named-native-query>
</class>


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
286120091231Clovis WichoskiRalf Joachim Reference set to null during long transaction.
Reporter: Clovis Wichoski
BugJDO
278420091228Ahmad HassanRalf Joachim Create junit tests for SQL class hierarchy.
Reporter: Ahmad Hassan
Enh.JDO
285620091129Clovis WichoskiRalf Joachim Add support for LIMIT and OFFSET clause on sapdb/maxdb.
Reporter: Clovis Wichoski
Enh.JDO
285020091109Ralf JoachimRalf Joachim Separate building of SQL statements for queries from SQLStatementLoad.
Reporter: Ralf Joachim
Enh.JDO
284920091109Ralf JoachimRalf Joachim Remove DTX engine.
Reporter: Ralf Joachim
TaskAll
2833200909028Udai GuptaUdai Gupta Enabled execution of CPACTF tests against HSQLDB.
Reporter: Udai Gupta
Enh.JDO
283620090910Ahmad HassanRalf Joachim Shift identity check from SQLStatementLoad to SQLEngine.
Reporter: Ahmad Hassan
Enh.JDO
282220090902Ralf JoachimRalf Joachim Remove remaining artefacts of old castor persistence test framework after migration of all tests.
Reporter: Ralf Joachim
Enh.JDO
223720090902Udai GuptaUdai Gupta Refactor available tests to use the new castor persistence test framework.
Reporter: Ralf Joachim
Enh.JDO
282920090828Werner GuttmannWerner Guttmann Added a new property on SourceGenerator to allow specification of the desdtination for resource files generated during code generation (incl. SourceGeneratorMain, Ant task definition).
Reporter: Stevo Slavic
Enh.XMLGen.
282720090825Stevo SlavicWerner Guttmann Optimized code generation for Java 5 enums.
Reporter: Stevo Slavic
Enh.XMLGen.
282820090820Ahmad HassanRalf Joachim Move Database specific code from KeyGenerators to PersistenceFactory.
Reporter: Ahmad Hassan
BugJDO
272420090815Ahmad HassanRalf Joachim Sequence key generator on MaxDB generates wrong command.
Reporter: Ahmad Hassan
BugJDO
279920090815Ahmad HassanRalf Joachim Improve SQLStatementInsertCheck to incorporate all the exception handling for executeStatement method of KeyGenerators.
Reporter: Ahmad Hassan
Enh.JDO
272220090812Ahmad HassanRalf Joachim Add missing javadoc to KeyGeneratorTypeHandler interface and its implementations.
Reporter: Ahmad Hassan
Enh.JDO
272320090812Ahmad HassanRalf Joachim Add missing javadoc to KeyGenerator interface and its implementations.
Reporter: Ahmad Hassan
Enh.JDO
281220090810Ahmad HassanRalf Joachim Improve SQL Insert class hierarchy to treat Sequence NextVal as an Expression.
Reporter: Ahmad Hassan
Enh.JDO
281120090810Ahmad HassanRalf Joachim Move SQLStatementCreate to org.castor.cpa.persistence.sql.engine package.
Reporter: Ahmad Hassan
Enh.JDO
281020090810Ahmad HassanRalf Joachim Move common method to AbstractKeyGenerator and remove getStyle method from KeyGenerator Interface.
Reporter: Ahmad Hassan
Enh.JDO
279420090804Ahmad HassanRalf Joachim Build statements with Insert class hierarchy where no special syntax is required.
Reporter: Ahmad Hassan
Enh.JDO
280120090804Ralf JoachimRalf Joachim Castor does not care on registered TxSynchronizable implementations when using global transaction demarcation.
Reporter: Ralf Joachim
BugJDO
279120090803Ahmad HassanRalf Joachim Move buildStatement from SQLStatementCreate to Key Generators.
Reporter: Ahmad Hassan
Enh.JDO
279620090802Ralf JoachimRalf Joachim Add query objects as created at GSoC 2008 to SVN trunc.
Reporter: Ralf Joachim
Enh.JDO
278320090802Ahmad HassanRalf Joachim Move executeStatementAfterInsert() method from SQLStatementCreate to AbstractAfterKeyGenerator.
Reporter: Ahmad Hassan
Enh.JDO
269420090802Udai GuptaUdai Gupta Migrating TC80 - TC83 from old to new CPACTF test suit.
Reporter: Udai Gupta
Enh.JDO
278220090731Ahmad HassanRalf Joachim Move executeStatementBeforeInsert() method from SQLStatementCreate to AbstractBeforeKeyGenerator.
Reporter: Ahmad Hassan
Enh.JDO
279020090731Ahmad HassanRalf Joachim Declare executeStatement Method in the KeyGenerator Interface.
Reporter: Ahmad Hassan
Enh.JDO
276920090730Ludovic MaîtreWerner Guttmann Fixed NPE problem at JInterface constructor (that was a result of fixing a Checkstyle warning).
Reporter: Ludovic Maître
BugXMLGen
278120090730Ahmad HassanRalf Joachim Move executeStatementDuringInsert() method from SQLStatementCreate to SequenceDuringKeyGenerator.
Reporter: Ahmad Hassan
Enh.JDO
278020090730Ahmad HassanRalf Joachim Move executeStatementNoKeyGen() method from SQLStatementCreate to NoKeyGenerator.
Reporter: Ahmad Hassan
Enh.JDO
277620090729Ahmad HassanRalf Joachim Improve SQLStatementInsertCheck similar to SQLStatementUpdateCheck.
Reporter: Ahmad Hassan
Enh.JDO
277920090729Ahmad HassanRalf Joachim Create key generator implementation and factory that does not generate key.
Reporter: Ahmad Hassan
Enh.JDO
277820090729Ahmad HassanRalf Joachim Create abstract base classes for all key generators using same style.
Reporter: Ahmad Hassan
Enh.JDO
278920090729Ralf JoachimRalf Joachim Wrong syntax and missing quotation to retrieve generated keys for PostGreSQL.
Reporter: Ralf Joachim
BugJDO
277720090728Ahmad HassanRalf Joachim Improve SQL class hierarchy to support insert queries.
Reporter: Ahmad Hassan
Enh.JDO
278620090728Ralf JoachimRalf Joachim SQLRelationLoader does not quote column and table names.
Reporter: Ralf Joachim
BugJDO
277420090728Ahmad HassanRalf Joachim Add support for simple select queries to class hierarchy and use it at SQLStatementUpdateCheck.
Reporter: Ahmad Hassan
Enh.JDO
277220090728Ahmad HassanRalf Joachim Change logic for PostgreSQL to retrieve generated key at SequenceAfterKeyGenerator.
Reporter: Ahmad Hassan
Enh.JDO
277520090728Ahmad HassanRalf Joachim Rename SQLStatementLookup to SQLStatementInsertCheck.
Reporter: Ahmad Hassan
Enh.JDO
277320090728Ahmad HassanRalf Joachim Change logic for Oracle to use before instead of after key generator when neiter trigger nor returning is used.
Reporter: Ahmad Hassan
Enh.JDO
277120090727Ahmad HassanRalf Joachim Construct SQL SELECT Query inside SQLStatementUpdateCheck.
Reporter: Ahmad Hassan
Enh.JDO
272120090727Ahmad HassanRalf Joachim Split SequenceKeyGenerator into 3 implementations handling one of the styles before, during and after.
Reporter: Ahmad Hassan
Enh.JDO
276420090723Ahmad HassanRalf Joachim Move SQLStatementStore org.castor.cpa.persistence.sql.engine and rename to SQLStatementUpdate.
Reporter: Ahmad Hassan
Enh.JDO
275020090722Ahmad HassanRalf Joachim Delegate query construction from SQLStatementStore to separate class hierarchy.
Reporter: Ahmad Hassan
Enh.JDO
272020090722Ahmad HassanRalf Joachim Move differences of database engines from IdentityKeyGenerator to PersistenceFactory.
Reporter: Ahmad Hassan
Enh.JDO
275920090720Ralf JoachimRalf Joachim Added support for Atomikos transaction manager.
Reporter: Ralf Joachim
Enh.JDO
274320090715Ahmad HassanRalf Joachim Delegate query construction from SQLStatementRemove to separate class hierarchy.
Reporter: Ahmad Hassan
Enh.JDO
273520090708Ahmad HassanRalf Joachim Build where condition of SQLStatementStore in getStoreStatement() method
Reporter: Ahmad Hassan
Enh.JDO
273420090703Werner GuttmannWerner Guttmann Fixed a regression issue with the XML code generator in the context of <complexType> restirctions.
Reporter: umasankar
BugXMLGen
201920090629Torsten JuergeleitWerner Guttmann Added thread safety-ness to CycleBreaker class.
Reporter: Torsten Juergeleit
BugXML
194020090612Ralf JoachimRalf Joachim Fixed broken support for sequence key generator with trigger at PostgreSQL.
Reporter: Tommie Gannert
BugJDO
269320090609Udai GuptaRalf Joachim Migrated TC73, TC74 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
273820090609Ralf JoachimRalf Joachim Use only lower case table and column names in cpactf tests.
Reporter: Ralf Joachim
Enh.JDO
269220090607Udai GuptaRalf Joachim Migrated TC70 - TC72 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
272520090607Ahmad HassanRalf Joachim Remove support for PersistenceFactory.supportsSetNullInWhere().
Reporter: Ahmad Hassan
Enh.JDO
269120090531Udai GuptaRalf Joachim Migrated TC32 - TC37 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
273320090531Ahmad HassanRalf Joachim Move check of failure reason from SQLStatementStore into a separate class.
Reporter: Ahmad Hassan
Enh.JDO
269020090528Udai GuptaRalf Joachim Migrated TC25 - TC29 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
272720090527Ahmad HassanRalf Joachim Remove synchronization of executeStatement() at SQLStatementStore.
Reporter: Ahmad Hassan
Enh.JDO
273020090525Ralf JoachimRalf Joachim Migrated TC38 and TC39 from old to new CPACTF test suite.
Reporter: Ralf Joachim
Enh.JDO
272920090525Ralf JoachimRalf Joachim Search method of SafeStack must be synchronized.
Reporter: Bardouillet
BugXML
272820090524Ralf JoachimRalf Joachim Migrated TC14 from old to new CPACTF test suite.
Reporter: Ralf Joachim
Enh.JDO
271820090523Ahmad HassanRalf Joachim Shift update of records of extended objects from SQLStatementStore to ClassMolder.
Reporter: Ahmad Hassan
Enh.JDO
272620090523Ahmad HassanRalf Joachim Remove synchronization of executeStatement() at SQLStatementRemove.
Reporter: Ahmad Hassan
Enh.JDO
271720090522Ahmad HassanRalf Joachim Shift Identity size check from SQLStatementStore to SQLEngine.
Reporter: Ahmad Hassan
Enh.JDO
268920090522Udai GuptaRalf Joachim Migrated TC20 - TC24 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
269920090521Werner GuttmannWerner Guttmann Changed the way Castor deals with regular expression (patterns) when no regular expression engine is defined.
Reporter: Patrick van Kann
BugXML
268820090517Udai GuptaRalf Joachim Migrated TC17, TC18, TC19 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
271620090518Ahmad HassanRalf Joachim Separates the PrepareStatement functionality from executeStatement.
Reporter: Ahmad Hassan
Enh.JDO
271020090518Clovis WichoskiRalf Joachim Enabled execution of new JDO test suite against SAPDB/MAXDB.
Reporter: Ralf Joachim
Enh.JDO
271520090517Ahmad HassanRalf Joachim Shift the SQLColumnInfo array contents to constructor.
Reporter: Ahmad Hassan
Enh.JDO
268720090517Udai GuptaRalf Joachim Migrated TC15, TC15a, TC16 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
271420090516Ahmad HassanRalf Joachim Shift the SQLFieldInfo array contents to constructor.
Reporter: Ahmad Hassan
Enh.JDO
270520090514Ahmad HassanRalf Joachim Prepare statement of SQLStatementRemove in a separate method.
Reporter: Ahmad Hassan
Enh.JDO
270920090514Clovis WichoskiRalf Joachim Fixed ctf.jdo.tc1x.TestMultiPrimKeysOnly failing on MaxDB/SapDB.
Reporter: Clovis Wichoski
BugJDO
150320090511Emir CausevicRalf Joachim Added support for named native queries at the class level.
Reporter: Werner Guttmann
Enh.JDO
270720090511Ahmad HassanRalf Joachim Shift deletion of records of extended objects from SQLStatementRemove to ClassMolder.
Reporter: Ahmad Hassan
Enh.JDO
201920090510Torsten JuergeleitWerner Guttmann Added thread safety-ness to XMLClassDescriptorResolverImpl.DescriptorCacheImpl.
Reporter: Torsten Juergeleit
BugXML
270420090510Ahmad HassanRalf Joachim Pass ID's array to constructor of SQLStatementRemove.
Reporter: Ahmad Hassan
Enh.JDO
270820090509Ralf JoachimRalf Joachim Migrated TC38a from old to new CPACTF test suit.
Reporter: Ralf Joachim
Enh.JDO
270620090509Ahmad HassanRalf Joachim Shifted identity check from SQLStatementRemove to SQLEngine.
Reporter: Ahmad Hassan
Enh.JDO
265020090509Ralf JoachimRalf Joachim Enabled testing against derby-embedded within eclipse by execution of ddl scripts through test framework before test execution.
Reporter: Ralf Joachim
Enh.JDO
268620090503Udai GuptaRalf Joachim Migrated TC10 - TC13 from old to new CPACTF test suite.
Reporter: Udai Gupta
Enh.JDO
269920090429Werner GuttmannWerner Guttmann Fixed a problem related to handling of invalid values for boolean types.
Reporter: Andrew Liu
BugXML
268520090421Ralf JoachimRalf Joachim Updated Maven dependency for JTA to 1.1.
Reporter: Werner Guttmann
Enh.JDO
267420090331Werner GuttmannWerner Guttmann Added support for name spaces for <xs:union> during serialization using SchemaWriter.
Reporter: Holger
BugXML
267720090330Werner GuttmannWerner Guttmann Removed restrictions that Castor XML supports only nine (9) constructor arguments in mapping mode.
Reporter: Darrick Coleman
BugXML
267920090329Joao SchimWerner Guttmann Fixed problem related to the use of namespaces with any nodes (during marshalling).
Reporter: Joao Schim
BugXML
267820090329Joao SchimWerner Guttmann Fixed problem related to the use of namespaces with any nodes.
Reporter: Joao Schim
BugXML
267320090322Udai GuptaRalf Joachim Fixed issue that caused Test87 of new CPA test suite fails on some systems.
Reporter: Ralf Joachim
BugJDO
264820090319Udai GuptaRalf Joachim Use ANSI outer join operators in query for Microsoft SQL engine.
Reporter: Udai Gupta
BugJDO
222120090318Udai GuptaRalf Joachim Fixed exception thrown by HighLowKeyGenerator on SQL Server 2005.
Reporter: Brian Schlining
BugJDO
30320090311Ralf JoachimRalf Joachim Fixed bug that caused Castor to not save id of related object that uses key generator if it is detached.
Reporter: Dan Daugherty
BugJDO
266920090304Ralf JoachimRalf Joachim Separated responsibility of ConnectionFactory to create connections and initialize/hold other database related objects.
Reporter: Ralf Joachim
Enh.JDO
266520090228Ralf JoachimRalf Joachim Moved connection proxies from org.castor.jdo.drivers to org.castor.cpa.persistence.sql.connection package.
Reporter: Ralf Joachim
Enh.JDO
266320090225Ralf JoachimRalf Joachim Changed code generation for mapping.xsd from Java 1.4 to Java 5.
Reporter: Ralf Joachim
Enh.All
107320090222Ralf JoachimRalf Joachim Added org.exolab.castor.types.Time <--> java.util.Long convertor.
Reporter: Werner Guttmann
Enh.JDO
265820090222Ralf JoachimRalf Joachim Fixed bug in normalize() method of org.exolab.castor.types.DateTimeBase.
Reporter: Ralf Joachim
BugXML
24120090220Ralf JoachimRalf Joachim Added test to verify that ObjectNotFoundException during load() releases in-memory read lock.
Reporter: Levi Purvis
Enh.JDO
264920090214Ralf JoachimRalf Joachim Enabled execution of tests with derby.
Reporter: Ralf Joachim
Enh.JDO
265520090214Werner GuttmannWerner Guttmann Added SQL scripts for Derby.
Reporter: Werner Guttmann
Enh.JDO
121720090214Ralf JoachimRalf Joachim Fixed wrong timestamps for same object having hierarchy when loaded by many referers.
Reporter: Clovis Wichoski
BugJDO
265420090214Ralf JoachimRalf Joachim Refactored handling of KeyGenerator and extracted ValueHandlers.
Reporter: Ralf Joachim
Enh.JDO
265120090211Peter SchmidtWerner Guttmann Extended SqlTypeInfos to support new conversion method.
Reporter: Peter Schmidt
Enh.JPA
264520090212Ralf JoachimLukas Lang Set up cpactf tests running on Derby when building with Maven.
Reporter: Lukas Lang
Enh.JDO
264720090212Werner GuttmannWerner Guttmann Added registerDescriptor(ClassDescriptor) method to JDOClassDescriptorResolver interface.
Reporter: Werner Guttmann
Enh.JPA
263620090211Werner GuttmannWerner Guttmann Extended annotation processing framework to allow target aware processors and service (including base implementation).
Reporter: Peter Schmidt
Enh.JPA



Release 1.3


Description:Feature release
released:February 11, 2009
managed by:Werner Guttmann

Changes

Support for Ant as build tool dropped

For various reasons, support for Ant as build tool has been dropped altogether. Please switch to use Maven 2, with the relevant project-specific details available at here.

Please note that the code base still includes Ant build files. Please do not use them! Ant files in the trunk are in the process of being removed, though this will take us some time.

*Configuration have been replaced by *Properties

The classes CoreConfiguration, XMLConfiguration and CPAConfiguration have been replaced by CoreProperties, XMLProperties and CPAProperties respectively. For backward compatibility we have kept the *Configuration classes and declared them deprecated. As we intend to remove *Configuration classes with next Castor release we encourage you to change your code to use *Properties instead.

Additions

New system property for specifying location of custom Castor XML properties

A new option has been added to specify the location of a custom Castor properties file by the means of a system property. This alters the sequence with which Castor XML searches for a custom properties as weil.

To specify the location of a Castor XML property file by using a system property, please use ....

> java -Dorg.castor.user.properties.location=/home/user/user.properties
                


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
263020090205Joachim GrueneisJoachim Grueneis Marshaller performance - loadDefaultProperties
Reporter: Michael McMaster
Enh.XML
261420090205Joachim GrueneisJoachim Grueneis XML_NAMING configuration cannot be set programmatically
Reporter: John Huss
Enh.XML
263820090203Werner GuttmannWerner Guttmann Added JConstant class to J* class hierarchy.
Reporter: Werner Guttmann
Enh.XMLgen
263120090201Ralf JoachimUdai Gupta Improved new cpa test suite to be executed with Microsoft SQL Server.
Reporter: Udai Gupta
Enh.JDO
218420090126Ralf JoachimRalf Joachim Renamed all *Configuration classes (such as XMLConfiguration, CPAConfiguration, ... ) to *Properties.
Reporter: Werner Guttmann
Enh.All
262920090125Ralf JoachimRalf Joachim Added generation of files for jdo-conf.xsd with maven.
Reporter: Ralf Joachim
Enh.JDO
262820090124Ralf JoachimRalf Joachim Added generation of files for cpactf-conf.xsd with maven.
Reporter: Ralf Joachim
Enh.JDO
262620090124Ralf JoachimRalf Joachim Removed TC30 and TC31 from old test suite.
Reporter: Ralf Joachim
Enh.JDO
262520090124Ralf JoachimRalf Joachim Added comments why tests are included/excluded in new test suite.
Reporter: Ralf Joachim
Enh.JDO
262420090124Ralf JoachimRalf Joachim Fixed failing test TC203 of old Castor JDO test suite.
Reporter: Ralf Joachim
BugJDO
262320090124Ralf JoachimRalf Joachim Replaced references in .classpath from jar's of lib directory to jar's of maven repository using M2_REPO variable.
Reporter: Ralf Joachim
Enh.All
262220090121Allan GillisWerner Guttmann Minor code cleanup.
Reporter: Allan Gillis
Enh.XML
259220090121Werner GuttmannWerner Guttmann Fixed a problem with primitive constructor-mapped fields in the context of 'null' vales (i.e. where the field was not present in the XML document).
Reporter: No Matter
BugXML
261320090121Werner GuttmannWerner Guttmann Added a new option to specify the location of a custom Castor properties file by the means of a system property.
Reporter: John Huss
Enh.XML
260420081231Herve BoutemyWerner Guttmann Enhanced the code generator so that empty line will not be 'white-spaced'.
Reporter: Herve Boutemy
Enh.XMLGen.
260420081231Herve BoutemyWerner Guttmann Added methods to (Abstract)JClass to inject complete source code fragments.
Reporter: Herve Boutemy
Enh.XMLGen.
260720081230Herve BoutemyWerner Guttmann Removed OrderedHashMap and replaced its usage with java.util.LinkedHashMap.
Reporter: Herve Boutemy
Enh.XML
260820081230Werner GuttmannWerner Guttmann Improved castor.xml.properties to be coherent in style, content and handling of default values.
Reporter: Martin Weber
BugXML
260920081230Werner GuttmannWerner Guttmann Improved castorbuilder.properties to be coherent in style, content and handling of default values (but org.exolab.castor.builder.javaclassmapping)
Reporter: Martin Weber
BugXMLGen.
259320081212Werner GuttmannWerner Guttmann Improved exception reporting in the context of custom field handlers by adding the root cause to the stack trace.
Reporter: Werner Guttmann
BugXML
258820080203Werner GuttmannWerner Guttmann Added missing setGenerateMapping(boolean) method to CastorCodeGenTask class.
Reporter: Werner Guttmann
BugAntTask
256420081127Werner GuttmannWerner Guttmann Fixed problem with (Maven) build when Castor resides in a directory structure that has spaces in its path.
Reporter: Martin S. Weber
BugGeneral
256920081126Joachim GrueneisWerner Guttmann Migrated a small framework to process annotations from the JAXB project to the core module.
Reporter: Alexander Eibner
Enh.Core
258020081125Werner GuttmannWerner Guttmann Fixed problem with line feeds when used as part of a default value definition in XML schemas.
Reporter: Al Jacinto
BugXMLGen
256520081114Werner GuttmannWerner Guttmann Fixed problem with handling of nil artifacts during unmarshalling for primitive values.
Reporter: Denis Cabasson
BugXML
257820081119Werner GuttmannWerner Guttmann Fixed problem code generation for <xs:simpleTypes> that are derived from NMTOKENS.
Reporter: Renee Rivas
BugXML
258520081119Ralf JoachimRalf Joachim Fixed bug in HighLowKeyGenerator that caused TC20 to fail at Oracle.
Reporter: Ralf Joachim
BugJDO
258320081118Ralf JoachimRalf Joachim Fixed test954 of new cpactf test suite failing with datasource.
Reporter: Ralf Joachim
BugJDO
258220081118Ralf JoachimRalf Joachim Enabled execution of new cpactf test suite against oracle.
Reporter: Ralf Joachim
TaskJDO
256720081113Ralf JoachimRalf Joachim Fixed SQLException 'Invalid column type' at execution of query.
Reporter: Ralf Joachim
BugJDO
254620081031Dave BrosiusWerner Guttmann Fixed problem with the use of 'auto-complete' attributes in mapping file and namespace handling.
Reporter: Alex Edwards
BugXML
255020081013Ralf JoachimRalf Joachim Fixed NullPointerException thrown at SQLStatementLookup when database constraint was violated at call to db.create().
Reporter: Ralf Joachim
BugJDO
255420081009Ralf JoachimRalf Joachim Fixed some eclipse and checkstyle warnings at cpa.
Reporter: Ralf Joachim
Enh.JDO
255220081003Ralf JoachimRalf Joachim Fixed eclipse and checkstyle warnings at cpactf and cpaptf.
Reporter: Ralf Joachim
Enh.JDO
254820081002Dave BrosiusWerner Guttmann Generified 'codegen' module.
Reporter: Dave Brosius
Enh.XML
254820081001Dave BrosiusWerner Guttmann Removed needless creation of Boolean instances in XML code.
Reporter: Dave Brosius
Enh.XML
254920081001Dave BrosiusWerner Guttmann Fixed wrong exception handling in class descriptor resolution.
Reporter: Dave Brosius
BugXML
254720081001Dave BrosiusWerner Guttmann Fixed problem in incorrect usage of collection related to removal of data during iteration.
Reporter: Dave Brosius
BugXML



Release 1.3rc1


Description:1st release candidate for Castor 1.3
released:October 1, 2008
managed by:Werner Guttmann

Changes

Java 5.0 compliance

As of this release, Castor requires a Java 5.0 (and above) JVM at run-time. In addition, the XML code generator now emits Java 5.0-complaint code as well (which can be changed back to Java 1.4 compliance by setting the org.exolab.castor.builder.javaVersion property.

Re-introduced backwards compatibility for code generated from <xs:integer>

Added new org.exolab.castor.xml.lenient.integer.validation property to allow configuration of leniency for validation for Java properties generated from <xs:integer> types during code generation. This will allow successful validation for Java members that have been generated with Castor versions of 1.0.5 and older.

Long transactions that do not depend on cache

For long transactions (detached objects) to work it was required that the entity has been kept in cache from being loaded until its update. If the entity was expired from cache before the update an ObjectModifiedException had been thrown. While this is no problem if all entities of an application can be kept in cache all the time, it is one for large scale applications with millions of entities.

With release 1.3 we have changed the handling of timestamps. While it is still possible to rely on cache only it is now also possible to persist the timestamp together with the other properties of the entity. Doing so will ensure that the timestamp do not change even if the entity got expired from cache from being loaded until it get updated. If this happens the entity gets reloaded during update which also loads the previous timestamp. Having said that it still is possible that an ObjectModifiedException is thrown when another user has changed the same entity in the meantime.

See an example entity and its mapping below:

public class Entity implements TimeStampable {
    private Integer _id;
    private String _name;
    private long _timeStamp;
    
    public Integer getId() { return _id; }
    public void setId(final Integer id) { _id = id; }
    
    public String getName() { return _name; }
    public void setName(final String name) { _name = name; }
    
    public long getTimeStamp() { return _timeStamp; }
    public void setTimeStamp(final long timeStamp) {
        _timeStamp = timeStamp;
    }
    
    public long jdoGetTimeStamp() { return _timeStamp; }
    public void jdoSetTimeStamp(final long timestamp) {
        _timeStamp = timestamp;
    }
}

<class name="Entity">
    <cache-type type="time-limited" capacity="300"/>
    <map-to table="entity"/>
    <field name="id" type="integer" identity="true">
        <sql name="id" type="integer"/>
    </field>
    <field name="name" type="string">
        <sql name="name" type="char"/>
    </field>
    <field name="timeStamp" type="long">
        <sql name="timestamp" type="numeric" />
    </field>
</class>

Moved SQL drivers into new org.castor.cpa.persistence.sql.driver package

As we had to change the package of the drivers in castor.properties anyway, we also renamed the property that configures the classnames of the available drivers from org.exolab.castor.jdo.engines to org.castor.cpa.persistence.sql.driver.factories.

The entry in properties file should now be:

# List of persistence factories for the supported database servers:
#
org.castor.cpa.persistence.sql.driver.factories=\
  org.castor.cpa.persistence.sql.driver.OracleFactory,\
  org.castor.cpa.persistence.sql.driver.PostgreSQLFactory,\
  org.castor.cpa.persistence.sql.driver.SybaseFactory,\
  org.castor.cpa.persistence.sql.driver.SQLServerFactory,\
  org.castor.cpa.persistence.sql.driver.DB2Factory,\
  org.castor.cpa.persistence.sql.driver.InformixFactory,\
  org.castor.cpa.persistence.sql.driver.HsqlFactory,\
  org.castor.cpa.persistence.sql.driver.InstantDBFactory,\
  org.castor.cpa.persistence.sql.driver.InterbaseFactory,\
  org.castor.cpa.persistence.sql.driver.MySQLFactory,\
  org.castor.cpa.persistence.sql.driver.SapDbFactory,\
  org.castor.cpa.persistence.sql.driver.GenericFactory,\
  org.castor.cpa.persistence.sql.driver.DerbyFactory,\
  org.castor.cpa.persistence.sql.driver.PointbaseFactory,\
  org.castor.cpa.persistence.sql.driver.ProgressFactory

Moved SQL keygenerators into new org.castor.cpa.persistence.sql.keygen package

As we had to change the package of the drivers in castor.properties anyway, we also renamed the property that configures the classnames of the available drivers from org.exolab.castor.jdo.keyGeneratorFactories to org.castor.cpa.persistence.sql.keygen.factories.

The entry in properties file should now be:

# List of key generator factories:
#
org.castor.cpa.persistence.sql.keygen.factories=\
  org.castor.cpa.persistence.sql.keygen.MaxKeyGeneratorFactory,\
  org.castor.cpa.persistence.sql.keygen.HighLowKeyGeneratorFactory,\
  org.castor.cpa.persistence.sql.keygen.IdentityKeyGeneratorFactory,\
  org.castor.cpa.persistence.sql.keygen.SequenceKeyGeneratorFactory,\
  org.castor.cpa.persistence.sql.keygen.UUIDKeyGeneratorFactory


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
254520080930Ralf JoachimRalf Joachim Refactored load method of ClassMolder and LockEngine.
Reporter: Ralf Joachim
Enh.JDO
254120080928Ralf JoachimDave Brosius Removed needless synchronization afforded by java 5.
Reporter: Dave Brosius
Enh.XMLgen.
254220080928Ralf JoachimRalf Joachim Fixed faulty logic of DTXQuery.initQuery.
Reporter: Dave Brosius
BugJDO
254020080928Werner GuttmannDave Brosius Removed (duplicated) code from SourceFactory.
Reporter: Dave Brosius
BugXML
253120080925Werner GuttmannWerner Guttmann Fixed problems with namespace inheritance for non-simple mapped entities.
Reporter: Christophe Delory
BugXML
252120080925Werner GuttmannWerner Guttmann Fixed problems in the area of using (nested) locations with attribute-typed nodes.
Reporter: Santiago Aucejo
BugXML
253620080924Ralf JoachimRalf Joachim Refactor LockEngine.TypeInfo.acquire() method.
Reporter: Ralf Joachim
Enh.JDO
119620080923Ralf JoachimRalf Joachim Allowed an entity to reference another entity that has been loaded in a different transaction.
Reporter: Clovis Wichoski
BugJDO
120620080923Ralf JoachimRalf Joachim Enabled to save changes to field references with dirthy="ignore" in database.
Reporter: Clovis Wichoski
BugJDO
8720080920Ralf JoachimRalf Joachim Added ability to persist timestamps to allow long transaction that do not depend on cache.
Reporter: Thomas Yip
Enh.JDO
253220080919Ralf JoachimRalf Joachim Fixed issue with object not being untracked when creation of JDBC connection fails.
Reporter: Ralf Joachim
BugJDO
253020080917Werner GuttmannWerner Guttmann Fixed problem with namespace handling when there's a big number of 'extra' (unmapped) content.
Reporter: Werner Guttmann
BugXML
252820080916Werner GuttmannWerner Guttmann Fixed a problem with the lookup of types already marked 'missing' in XMLClassDescriptor(Impl).resolve().
Reporter: Werner Guttmann
BugXML
252720080916Ralf JoachimRalf Joachim Fixed issue with query returning entities of wrong type for extended class hierarchies.
Reporter: Ralf Joachim
BugJDO
252020080914Werner GuttmannWerner Guttmann Fixed a problem with code generation of <list> of simple type definitions where enumerations are used.
Reporter: R.O. Shore
Enh.XMLgen.
252420080912Ralf JoachimRalf Joachim Simplified configuration of new castor persistence test framework
Reporter: Ralf Joachim
Enh.JDO
250420080803Werner GuttmannWerner Guttmann Refactored FieldDescriptor(Impl) to use natures (JDO only) and removed JDOFieldDescriptor(Impl).
Reporter: Werner Guttmann
Enh.JDO
250320080801Werner GuttmannWerner Guttmann Refactored ClassDescriptor(Impl) to use natures (JDO only) and removed JDOClassDescriptor(Impl).
Reporter: Werner Guttmann
Enh.JDO
249320080725Werner GuttmannWerner Guttmann Moved 'castor.core.properties' from xml module to core module.
Reporter: Werner Guttmann
BugCore
243420080723Werner GuttmannWerner Guttmann Added 'detachable' attribute to JDO extension for the Castor XML code generator.
Reporter: Werner Guttmann
Enh.XMLGen.
245220080722Sebastian GabmeyerWerner Guttmann Amended JDOClassDescriptorResolver(Impl) to additonally use .castor.jdo.cdr files for class descriptor resolution.
Reporter: Sebastian Gabmeyer
Enh.XMLGen.
239020080721Filip HianikWerner Guttmann Added ability to generate JDO descriptors for 1:M relations.
Reporter: Filip Hianik
Enh.XMLgen.
241220080720Filip HianikWerner Guttmann Improved <appinfo> processing to cover for 'dirty' and 'read-only' settings.
Reporter: Filip Hianik
Enh.XMLgen.
236520080720Filip HianikWerner Guttmann Improved SchemaUnmarshallerTest to cover 1:M relations as well.
Reporter: Filip Hianik
Enh.XMLgen.
247020080720Filip HianikWerner Guttmann Added 'dirty' and 'read-only' properties to JDO-specific 1:M relation nature.
Reporter: Filip Hianik
Enh.XMLgen.
246920080720Filip HianikWerner Guttmann Added 'dirty' and 'read-only' properties to JDO-specific 1:1 relation nature.
Reporter: Filip Hianik
Enh.XMLgen.
244820080720Filip HianikWerner Guttmann Added 'dirty' and 'read-only' attributes to <one-to-one> and <one-to-many> elements.
Reporter: Filip Hianik
Enh.XMLgen.
239020080720Filip HianikWerner Guttmann Added functionality to generate sources for 1:1 relations.
Reporter: Filip Hianik
Enh.XMLGen.
245520080718Werner GuttmannWerner Guttmann Consolidated CPA/JDO constants used by JDOClassDescriptorFactory.
Reporter: Lukas Lang
XMLGen.Schema
245420080718Werner GuttmannWerner Guttmann Consolidated CPA/JDO constants used by AppInfoUnmarshaller.
Reporter: Lukas Lang
Enh.Schema
241220080716Filip HianikWerner Guttmann Extended AppInfoUnmarshaller to support 1:1 and 1:M relations as well.
Reporter: Filip Hianik
Enh.XMLGen.
241220080716Filip HianikWerner Guttmann Added code to support 1:1 and 1:M relations during <appinfo> processing.
Reporter: Filip Hianik
Enh.XMLGen.
245920080715Lukas LangWerner Guttmann Adapted JDOMappingLoader to allow resolution of JDO descriptors from the file system as well, to support 'mixed mode'.
Reporter: Lukas Lang
Enh.XMLGen.
247020080715Lukas LangWerner Guttmann Added a JDO-specific nature for 1:M relations.
Reporter: Lukas Lang
Enh.XMLGen.
246720080715Lukas LangWerner Guttmann Added a getFields() method to JDOClassInfoNature.
Reporter: Lukas Lang
Enh.XMLGen.
247920080714Ralf JoachimRalf Joachim Removed unused code from ClassMolder, LockEngine and ObjectLock
Reporter: Ralf Joachim
Enh.JDO
247820080714Ralf JoachimRalf Joachim Made ObjectLock and CachEntry independent from each other.
Reporter: Ralf Joachim
Enh.JDO
253720080714Ralf JoachimRalf Joachim Refactored HighLow, Identity, Max and UUID key generators.
Reporter: Ralf Joachim
Enh.JDO
246920080709Lukas LangWerner Guttmann Added a JDO-specific nature for 1:1 relations.
Reporter: Lukas Lang
Enh.XMLGen.
247120080709Werner GuttmannWerner Guttmann Refactored XMLInfo usage (part II) - Inlined all remaining XMLInfo methods() that internally use XMLInfoNature.
Reporter: Werner Guttmann
Enh.XMLGen.
246620080708Werner GuttmannWerner Guttmann Refactored XMLInfo usage (part I) - Inline all XMLInfo.set* methods() that internally use XMLInfoNature
Reporter: Werner Guttmann
Enh.XMLGen.
244620080707Lukas LangWerner Guttmann Refactored JDOClassDescriptorResolver to use command pattern for resolution.
Reporter: Lukas Lang
Enh.CPA
244620080707Lukas LangWerner Guttmann Created a set of "naturable" commands for (JDO) class descriptor resolution.
Reporter: Lukas Lang
Enh.CPA
244520080707Lukas LangWerner Guttmann Created JDOConstants in core module.
Reporter: Lukas Lang
Enh.Core
244720080706Sebastian GabmeyerWerner Guttmann Enable creation of a JDO-specific CDR File.
Reporter: Sebastian Gabmeyer
Enh.XMLGen.
245320080704Werner GuttmannWerner Guttmann Added new core module.
Reporter: Lukas Lang
Enh.General
241220080703Sebastian GabmeyerWerner Guttmann Extract JDO annotations from XML schema (object model) and fill {Class|Field}Infos using the proper JDO natures.
Reporter: Sebastian Gabmeyer
Enh.Schema
244820080703Lukas LangWerner Guttmann Add more JDO specific attributes to the simple-schema.xsd.
Reporter: Lukas Lang
Enh.XMLgen.
245020080703Werner GuttmannWerner Guttmann Switch to a Maven driven approach for the generation of the JDO annotations for code generation.
Reporter: Werner Guttmann
Enh.Schema
236520080702Lukas LangWerner Guttmann Added code to process JDO-specific annotations of an XML schema.
Reporter: Lukas Lang
Enh.Schema
243620080628Werner GuttmannWerner Guttmann Added new JDOClassDescriptorResolver interface and refactored code to use it.
Reporter: Werner Guttmann
Enh.CPA
239420080628Lukas LangWerner Guttmann Added new loadConfiguration() method to JDOManager that allows to pass in a JDOClassDescriptorResolver.
Reporter: Lukas Lang
Enh.CPA
241920080628Werner GuttmannWerner Guttmann Refactored code to use new JDOClassDescriptor interface.
Reporter: Werner Guttmann
Enh.CPA
238020080628Lukas LangWerner Guttmann Added Nature concept to XML code generator to make Class-/FieldInfo instances more extendible.
Reporter: Lukas Lang
Enh.XMLGen.
242620080621Lukas LangWerner Guttmann JDOClassDescriptorResolver(Impl) now supports loading class descriptors from the file system.
Reporter: Lukas Lang
Enh.CPA
241820080613Werner GuttmannWerner Guttmann Introduced new JDOClassDescriptor interface.
Reporter: Werner Guttmann
RefactoringCPA
241720080613Werner GuttmannWerner Guttmann Renamed JDOClassDescriptor to JDOClassDescriptorImpl.
Reporter: Werner Guttmann
RefactoringCPA
240520080606Sebastian GabmeyerWerner Guttmann Removed code duplication across FieldInfoAccessFactory and FieldInfo.
Reporter: Sebastian Gabmeyer
RefactoringXMLGen
237920080530Werner GuttmannWerner Guttmann Fixed inconsistency with code generation binding for global complex type definitions.
Reporter: Gaël Lhez
BugXMLGen
237520080518Ralf JoachimRalf Joachim Moved SQL keygenerators into new org.castor.cpa.persistence.sql.keygen package.
Reporter: Ralf Joachim
Enh.JDO
236820080516Udai GuptaRalf Joachim Created how to's for setting up Castor with eclipse and execution of JDO test suites.
Reporter: Udai Gupta
Enh.JDO
237720080512Udai GuptaRalf Joachim Transferred old tests TC30 and TC31 to new JDO test framework.
Reporter: Udai Gupta
Enh.JDO
237820080505Werner GuttmannWerner Guttmann Added unmarshal(AnyNode) method to Unmarshaller.
Reporter: Mattias Jiderhamn
Enh.XML
237420080503Ralf JoachimRalf Joachim Moved SQL drivers into new org.castor.cpa.persistence.sql.driver package.
Reporter: Ralf Joachim
Enh.JDO
237320080502Ralf JoachimRalf Joachim Fixed failing cpactf tests on derby.
Reporter: Ralf Joachim
BugJDO
79620080502Ralf JoachimRalf Joachim Refactored SequenceKeyGenerator.
Reporter: Werner Guttmann
Enh.JDO
237220080502Ralf JoachimRalf Joachim Fixed failing cpactf tests on oracle.
Reporter: Ralf Joachim
BugJDO
237120080501Ralf JoachimRalf Joachim Fixed failing cpactf tests on mysql.
Reporter: Ralf Joachim
BugJDO
235820080425Joachim GrueneisWerner Guttmann Improved HTML docs on SVN access.
Reporter: Bernhard Woditschka
Enh.HTML
234320080422Ralf JoachimRalf Joachim Prepared SQLStatementCreate to move whole generation code into KeyGenerator implementations.
Reporter: Ralf Joachim
Enh.JDO
235220080422Ralf JoachimRalf Joachim Fixed to long table names and some failures in SQL script of oracle.
Reporter: Ralf Joachim
BugJDO
169920080420Ralf JoachimRalf Joachim Removed dependency for mockejb.jar.
Reporter: Werner Guttmann
Enh.JDO
233020080418Werner GuttmannWerner Guttmann Fixed problem with attribute resolution at unmarshalling for attributes that use a location and are rooted at the root node.
Reporter: Nikolai Grigoriev
BugXML
196120080412Martin FuchsRalf Joachim Fixed NumberFormatException: For input string: "10g".
Reporter: Radovana Straube
BugJDO
229120080411Ralf JoachimRalf Joachim Renamed cpactf/src/test to cpactf/src/old and cpactf/src/temp to cpactf/src/test.
Reporter: Joachim Grueneis
Enh.JDO
232620080411Werner GuttmannWerner Guttmann Fixed problem with persistence of entities that has fields that are all part of object identity.
Reporter: Victor Manuel Iniestra Alvarez
BugJDO
232320080401Werner GuttmannWerner Guttmann Fixed problem with name collision detection for Windows-specific keywords.
Reporter: Andreas Stergiou
Enh.XML
228920080401Dennis SpenkelinkWerner Guttmann Added support for changing the binding (name, namespace) of an anonymous enumeration in a binding file.
Reporter: Dennis Spenkelink
Enh.XML
214320080330Werner GuttmannWerner Guttmann Added support for 'nillable' content (actually elements only) in the mapping file.
Reporter: Tausif Farooqi
Enh.XML
194820080321Simon LordWerner Guttmann (Re-)introduced full backwards compatibility for code generated for <xs:integer> XML artefacts, allowing for classes generated with Castor 1.1 and older to be used again for un-/marshalling.
Reporter: Simon Lord
BugXML
231220080319Philippe RouxelWerner Guttmann Fixed problem with property resolution when setting a new InternalContext instance on an existing Un-/Marshaller.
Reporter: Philippe Rouxel
BugXML
223120080314Werner GuttmannWerner Guttmann Added namespace definition for a "java:" prefix when used by Castor.
Reporter: Nicolas Cazottes
BugXML
230820080314Werner GuttmannWerner Guttmann Improved the XPATH statements produced for the location attribute of a ValidationException to cater for positions within multi-valued fields as well.
Reporter: Dave Sinclair
Enh.XML
230220080313Werner GuttmannWerner Guttmann Refactored JClassPrinterFactory approach and added a registy for these factories so that Velocity classes are really optional when executing the XML code generator in standard (= default) mode.
Reporter: Werner Guttmann
BugXMLGen
110720080311Werner GuttmannWerner Guttmann Added code to the XML code generator to validate XML schema constraints (partially).
Reporter: Sergei Ivanov
Enh.XMLGen
229520080301Joachim GrueneisJoachim Grueneis Two things have been changed. First the AbstractResolverPackageCommand will work even if no ClassLoader was set before. Second XMLClassDescriptorResolverImpl does no longer work with InternalContext but gets all required values directly set.
Reporter: Nikita Mekh
BugXML
230020080219Joachim GrueneisWerner Guttmann Fixed the (snapshot) repository references in the Maven integration HTML docs.
Reporter: Joachim Grueneis
BugGeneral
229320080216Werner GuttmannWerner Guttmann Fixed problem with method signatures during code generation, when generics are used with Java 5.0
Reporter: Mario Däpp
BugXMLGen
229720080215Werner GuttmannWerner Guttmann Fixed problem with class generation where a binding file is used such that the package name is based upon a target namespace.
Reporter: Keith
BugXMLGen
229920080215Werner GuttmannWerner Guttmann Fixed problem with element name collisions between child and parent complex type definitions when a binding file is used to address this name collision.
Reporter: Michael
BugXMLGen
229420080214Werner GuttmannWerner Guttmann Cleaned up XML code generator code to avoid generation of unnecessary import statements.
Reporter: John Gollan
BugXMLGen
227520080209Werner GuttmannWerner Guttmann Fixed problem with <simpleContent> derived from <xsd:integer< where the type of the Java property generatd was BigDecimal (rathr than long).
Reporter: Kelvin Chung
BugXMLGen
228220080206Joachim GrueneisJoachim Grueneis Introduced a new (extended) UnmarshalListener interface meant to replace the existing.
Reporter: Joachim Grueneis
ImprovementXML
228320080206Joachim GrueneisJoachim Grueneis Removed static initialization of XMLClassDescriptorImpl which wasn't used but caused problems in the JAXB implementation.
Reporter: Joachim Grueneis
ImprovementXML
227920080205Alexandre DelargeWerner Guttmann Fixed problem with handling of simple types where the base type is defined in an imported XML schema during XML schema serialization.
Reporter: Alexandre Delarge
BugXMLSchema
227720080205Werner GuttmannWerner Guttmann Fixed problem with class name resolution for referenced attribute definitions that use an anynymous simple type enumeration.
Reporter: Kelvin Chung
BugXMLGen



Release 1.2


Description:Release of Castor 1.2 GA
released:February 4, 2008
managed by:Werner Guttmann

Additions

Code generator now supports use of Velocity as template engine

Castor now supports the use of Velocity-based code templates for code generation. For the time being, Castor will support two modes for code generation, i.e. the new Velocity-based and an old legacy mode. Default will be the legacy mode; this will be changed with a later release of Castor.

In order to use the new Velocity-based code generation, please override the following code generator property in a custom castorbuilder.properties as shown:

org.exolab.castor.builder.jclassPrinterTypes=\
   org.exolab.castor.builder.printing.TemplateJClassPrinter,\
   org.exolab.castor.builder.printing.WriterJClassPrinter

Users are encouraged the use the new Velocity-based mode and to provide us with (valuable) feedback.

Execution of CTF test suite in Maven

Added support for executing CTF test suite as part of a standard Maven build. To execute the CTF test suite from Maven, simply issue a mvn test in the xmlctf module, and the test suite will be run in addition to the standard unit tests.

Once the remainder of the code in the parent module has been moved to its own xml module, it will be possible to have the execution of the test suite as part of the release process, which will only succeed if all tests (including those from the CTF suite) pass successfully.

Added special processing of proxied classes

Objects that were lazy loaded from a persistence layer often are wrapped by dynamic proxies. This usually happens by extending the original class. In this case a call to getClass() does not return the original call but the proxy instead. As the class respectively its name is used to lookup class mapping or ClassDescriptor of any class to marshal, Castor fail to find the right one. The result is that the object gets introspected and the XML document produced does not look as expected. Even if you do not use ClassDescriptors generated by Castor's code generator or a mapping file as you want objects to get introspected, the resulting XML document is crap. The problem here is, that introspection not only finds the properties of your object but also those of the proxy which also get marshalled.

The solution to all of this problems is a new property in castor.properties file. It allows you to specify a list of interfaces that such proxied objects implement. If your object implements one of these interfaces Castor will not use the class itself but its superclass at introspection or to find class mappings and ClassDescriptors.

# Property specifying whether or not to search for an proxy interface at marshalling.
# If property is not empty the objects to be marshalled will be searched if they
# implement one of the given interface names. If the interface is implemented the
# superclass will be marshalled instead of the class itself.
#
org.exolab.castor.xml.proxyInterfaces=\
  net.sf.cglib.proxy.Factory, \
  org.hibernate.proxy.HibernateProxy

Be aware that no proxy interfaces are defined by default as the interface search slightly decreases marshalling performance.

Added support for (programmatic) access to XML schema documentation information

The Castor XML code generator - if configured as shown below - now generates additional methods to allow programmatic access to <xs:documentation> elements for top-level type/element definitions as follows:

    public java.lang.String getXmlSchemaDocumentation(final java.lang.String source);
    public java.util.Map getXmlSchemaDocumentations();

In order to have these additional methods generated as shown above, please override the following code generator property in a custom castorbuilder.properties as shown:

# Property specifying whether extra members/methods for extracting XML schema
# documentation should be made available; defaults to false
org.exolab.castor.builder.extraDocumentationMethods=true

Added support for complex Java 5 enums for simple type enumerations

In previous versions, Castor only supported (un)marshalling of "simple" Java 5 enums, meaning enums where all facet values are valid java identifiers. In these cases, every enum constant name can be mapped directly to the xml value.

So if there is at least ONE facet that cannot be mapped directly to a valid java identifier, we need to extend the enum pattern. The actual value of the enumeration facet is stored in a private String property, the name of the enum constant is translated into a valid identifier.

<xs:simpleType name="CompositeType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="5"/>
    <xs:enumeration value="10"/>
  </xs:restriction>
</xs:simpleType>

public enum CompositeType {
    VALUE_5("5"),
    VALUE_10("10");

    private final java.lang.String value;

    private CompositeType(final java.lang.String value) {
        this.value = value;
    }

    public static CompositeType fromValue(final java.lang.String value) {
        for (CompositeType c: CompositeType.values()) {
            if (c.value.equals(value)) {
                return c;
            }
        }
        throw new IllegalArgumentException(value);
    }

    public java.lang.String value() {
        return this.value;
    }

    public java.lang.String toString() {
        return this.value;
    }
}

<root>
  <CompositeType>5</CompositeType>
</root>

    

See the description in the Source Generator Properties section for details.

Added support for configurable field handlers

Although it was already possible to create custom XML field handers, it was not possible to configure them. It is now possible to define your custom ConfigurableFieldHander and add any number of parameters to it, in the mapping file as follows:

<mapping>

   <field-handler name="myHandler" class="org.some.package.CustomFieldHandlerImpl">
      <param name="date-format" value="yyyyMMddHHmmss"/>
   </field-handler>

   <class .... />

   <class .../>

</mapping>

and subsequently refer to this custom (configurable) field handler by its name as shown in the following field mapping:

<class name="Root">
   <field name="date" type="string" handler="myHandler"/>
</class>

A typical example is the need to process multiple date formats in one xml file. This can now be done elegantly by configuring multiple instances of a configurable date field handler, each with a different date format.

Please check the new HOW-TO on using custom (configurable) field handlers with Castor.

Added support for custom JDO type convertors

You are now able to specify the type convertors for Castor JDO through a castor.properties file. Usually you will need two type convertors: one that converts from your custom type to a type supported by the database and another one for the opposite conversion. Both type convertor have to implement the org.castor.cpa.persistence.convertor.TypeConvertor interface. To ease the implemention task you can also extend one of our abstract implementations:

org.castor.cpa.persistence.convertor.AbstractTypeConvertor
org.castor.cpa.persistence.convertor.AbstractSimpleTypeConvertor
org.castor.cpa.persistence.convertor.AbstractLobTypeConvertor
org.castor.cpa.persistence.convertor.AbstractDateTypeConvertor

When adding your type convertors to the list of internal ones you have to take care not to drop any of them. An excerpt of that definition looks as follows:

# Type convertors
#
org.castor.cpa.persistence.TypeConvertors=\
  org.castor.cpa.persistence.convertor.BigDecimalToBoolean,\
  org.castor.cpa.persistence.convertor.BigDecimalToByte,\
    :
    :
    :
  org.castor.cpa.persistence.convertor.StringToSqlClob,\
  org.castor.cpa.persistence.convertor.StringToSqlTimestamp

Changes

Refactored Castor configuration

We have added a new class hierarchy to handle independent configurations for every module of Castor. Having said that, this should not change anything for any Castor user, as you still specify properties in a single castor.properties file for all modules.

Refactored JavaNaming

New JavaNaming is an exchangeable service instantiated trough XMLContext and accessed in a non-static way.

Refactored XMLClassDescriptorResolver

New XMLClassDescriptorResolver internally works with strategy and command pattern to have the possibility to enhance class resolving for future implementations (e.g. JAXB support).

Refactored XMLContext

New XMLContext is the information centerpiece and point to start for Castor XML stuff. It provides:

-Factory methods for:
  1. Marshaller
  2. Unmarshaller
  3. SchemaReader
  4. SchemaWriter
  5. MappingTool
  6. SourceGenerator
-Methods which are used by different XML classes, have (keep) central information or services and had been creeping into LocalConfiguration but have nothing to do with Configuration itself.

We had to remove static usage to make Castor more loosely linked than before.

Fixed support for 'strict elements'

When instructing Castor XML during unmarshalling to handle elements 'strict', this worked only in the presence of a mapping file. When the element/class in question was analyzed using Castor's introspector, setting this mode didn't produce the correct results. As part of a patch, this problem has now been fixed so that the behavior is the same irrespective of whether a mapping (file) is provided for a class or not.

For those of you relying on the old behavior, a new property has been introduced to allow leniency and to switch back to pre-patch behavior:

# Property specifying whether element strictness for introspected
# classes/elements should be lenient (aka allowed); defaults to false
org.exolab.castor.xml.lenient.introspected.element.strictness=false
                

Castor XML and JAXP - used per default

We have made some modifications to the way Castor XML obtains XML parser instances. As per this releae, Castor XML will - per default - use JAXP and its SAXParser(Factory) to obtain an instance of a SAX parser.

For this to work, we had to comment out the org.exolab.castor.parser property from the default castor.properties as shipped with Castor XML. As of this release, the property definition in the default castor.properties file reads:

# Defines a non-default XML parser to be used by Castor. By default,
# Castor will use JAXP internally to obtain an XML parser.
# The parser must implement org.xml.sax.Parser. (???)
#
# Should be used in the following situations:
# a) A different XML parser vendor should be used.
# b) With Java 5.0, an external XML parser should be used.
#
#org.exolab.castor.parser=org.apache.xerces.parsers.SAXParser

With this change, Castor XML will now use JAXP to create XML parsers, a mechanism that works works equally with Java 1.4 and Java 5.0, and thus does not require changes to the org.exolab.castor.parser property anymore as with older releases of Castor. In other words, with Java 5.0 Castor XML will now make use of the XML parser packaged with the JVM.

You should still consider setting this property manually in the following cases:

  1. You are on Java 5.0, and you want to use a different XML parser (vendor) than the one shipped with the JVM.
  2. You are on Java 5.0, and you want to use a different version of the XML parser shipped with the JVM.

Note: If you happen to have a custom castor.properties file packaged with your application, please consider removing the org.exolab.castor.parser property from this file to switch to the new default mechanism.

Static unmarshal methods on generated classes with Java 5.0 and above

For classes generated to be used with Java 5.0 (and above) that are part of a type hierarchy, the static unmarshal methods will now return the exact sub-type (i.e. the class where the method is defined), and not the parent type. This should improve type strictness and help in avoiding unnecessary casts.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
228520080130Werner GuttmannWerner Guttmann Created new SchemaContext class and switched schema related code to using it.
Reporter: Werner Guttmann
BugXML
226820080129Werner GuttmannWerner Guttmann Added full support for defining collections using the <xs:list> construct.
Reporter: Joachim Grueneis
BugXML
226620080125Joachim GrueneisJoachim Grueneis For JAXB implementation an additional method in JavaNaming interface - extractFieldNameFromField is required
Reporter: Joachim Grueneis
ImprXML
227020080123Werner GuttmannWerner Guttmann Fixed problem with usage of 'java.util.Iterator' as return type during marshalling.
Reporter: Abhinav Sopory
BugXML
226920080123Werner GuttmannWerner Guttmann Fixed problems with the source tarballs and the Javadoc release files by including the CPA module.
Reporter: Jon Wilmoth
BugAll
226520080118Vikas RawatWerner Guttmann Fixed problem where marshaller won't correctly handle situations where a namespace URI is bound to more than one prefix on sibling AnyNode elements, i.e. preserve the namespace prefices.
Reporter: Vikas Rawat
Bug.Gen.
226420080118Werner GuttmannWerner Guttmann Added support for usage of 'mixed="1"' attributes for XML code generation.
Reporter: Roy van der Kuil
Bug.Gen.
204720080110Matthias EpheserWerner Guttmann Added support for executing the CTF test suite as part of a 'mvn test' in the 'xmlctf' module.
Reporter: Werner Guttmann
Enh.XML
191720080110Werner GuttmannWerner Guttmann Restored pre-1.0 behavior with regards to unresolvable type references in XML code generation.
Reporter: Simon Lord
BugGen.
213220080109Werner GuttmannWerner Guttmann Fixed problem with unmarshalling the same element from 2 different namespaces using a mapping file.
Reporter: Christophe Delory
BugXML
225520080107Joachim GrueneisJoachim Grueneis Introduced interface XMLNaming and renamed abstract class XMLNaming to AbstractXMLNaming.
Reporter: Joachim Grueneis
EnhancementXML
225420080106Edward KunsEdward Kuns XMLCTF: If a properties file is specified but not provided, the CTF complaint is not helpful
Reporter: Edward Kuns
BugCTF
225220080104Werner GuttmannWerner Guttmann Fixed problem with marshalling multiple 'nested' attributes (where a location path is used).
Reporter: Liehann Loots
BugXML
225320080104Joachim GrueneisJoachim Grueneis castor.xml.properties: org.exolab.castor.parser setting is wrong
Reporter: Joachim Grueneis
BugXML
198320080102Werner GuttmannWerner Guttmann Added support for programmatic access to <xs:annotation> node information.
Reporter: Régis Décamps
Enh.Gen.
197220080101Matthias EpheserWerner Guttmann Added Velocity as templating engine for code generation.
Reporter: Matthias Epheser
Enh.Gen.
223520071227Werner GuttmannWerner Guttmann Fixed problem related to sequence ordering and substitution groups.
Reporter: Aldrin d'Souza
BugGen.
224120071225Ralf JoachimRalf Joachim Refactored special tests proxy, 1214, 1781 and 1865.
Reporter: Ralf Joachim
Enh.JDO
223620071223Werner GuttmannWerner Guttmann Added command line parameter to Castor source generator (cline, Ant task) to allow specification of the input source via a valid URL
Reporter: Carlo Romero
Enh.Gen.
223420071223Werner GuttmannWerner Guttmann Fixed problem with code generation related to the use of attributes on <xs:annotation>, <xs:appInfo>, etc. that are declared on a namespace other than the default schema namespace.
Reporter: Aparajitha
BugGen.
224020071223Ralf JoachimRalf Joachim Refactored special tests 881 and 2177.
Reporter: Ralf Joachim
Enh.JDO
223920071223Ralf JoachimRalf Joachim Added method to dispose JDOManager instances.
Reporter: Ralf Joachim
Enh.JDO
223820071222Ralf JoachimRalf Joachim Refactored special tests 972, 1158, 1355 and 1379.
Reporter: Ralf Joachim
Enh.JDO
190620071222Ralf JoachimRalf Joachim Added new test framework for castor persistence.
Reporter: Ralf Joachim
Enh.JDO
197220071216Matthias EpheserWerner Guttmann Moved logic to write JClass instances to the file system to a new interface, named JClassPrinter.
Reporter: Matthias Epheser
BugXML
222920071216Edward KunsEdward Kuns CTFRun.sh needs tools.jar to be added to the classpath
Reporter: Edward Kuns
BugXML
6720071214Edward KunsEdward Kuns Generated classes don't compile when using "default" on an element that extends xsd:string
Reporter: Arnaud Blandin
BugXML
217420071211Werner GuttmannWerner Guttmann Marshalling 'hexBinary' types produces upper-case hex digits [A-F] only.
Reporter: Dave Wilmes
BugXML
222020071206Mark FemalWerner Guttmann Fixed problem with not 'using' time zone in DateFieldHandler.
Reporter: Mark Femal
BugXML
220620071205Werner GuttmannWerner Guttmann Fixed problem handling references to identically named global elements from different namespaces.
Reporter: Mitesh Soni
BugXML
219620071127Werner GuttmannWerner Guttmann FieldHandler.getFieldDescriptor() now returns an instance of XMLFieldDescriptor.
Reporter: Bastian
BugXML
221720071123Werner GuttmannWerner Guttmann Fixed problem in propagation of facets for unions.
Reporter: Patrick Marchwiak
BugGen
221320071123Werner GuttmannWerner Guttmann Added documentation for integration of Castor with web service frameworks.
Reporter: Werner Guttmann
Enh.Doc
220920071122Werner GuttmannWerner Guttmann Improved 'contract' for static unmarshal methods on generated classes for Java 5.
Reporter: Aslam Karachiwala
BugXML
221520071107Werner GuttmannWerner Guttmann Exposed isChoice() method to org.exolab.castor.xml.XMLClassDescriptor.
Reporter: Werner Guttmann
Enh.XML
221220071107Werner GuttmannWerner Guttmann Partially refactored class hierarchy of (some) descriptor classes.
Reporter: Werner Guttmann
Enh.XML
115020071106Steven DolgWerner Guttmann Fixed problem related to unmarshalling unbounded <sequence>s of <choice>s.
Reporter: Leif Oines
BugXML
218920071023Werner GuttmannWerner Guttmann Refactored regexp evaluation code.
Reporter: Werner Guttmann
Enh.XML
219120071022Werner GuttmannWerner Guttmann Removed usage of org.exolab.castor.types.OperationNotSupportedException and switched to using java.lang.UnsupportedOperationException
Reporter: Werner Guttmann
Enh.XML
220020071019Ralf JoachimRalf Joachim Included classes of org.castor.xml and org.castor.core packages in castor-xml.jar.
Reporter: Ralf Joachim
BugAll
188120071019Werner GuttmannWerner Guttmann Fixed problem with 'unwanted' generated classes for (complex) type definitions defined in an imported XML schema.
Reporter: Matthias Hanisch
BugGen.
219820071018Werner GuttmannWerner Guttmann Fixed problem with incorrect @Override annotation on getJavaClass() methods on generated classes.
Reporter: Aslam Karachiwala
BugGen.
195020071013Werner GuttmannWerner Guttmann Fixed problems with code generation for <xs:unsignedShort>.
Reporter: Raghavan Eachampadi
BugGen.
218820071012Joachim GrueneisJoachim Grueneis Remove old Configuration and LocalConfiguration
Reporter: Joachim Grueneis
Enh.All
219020071011Joachim GrueneisJoachim Grueneis (Re-)added empty default constructor for Unmarshaller
Reporter: Werner Guttmann
Enh.All
205320071010Matthias EpheserWerner Guttmann Fixed problem in code generation related to complex elements with default value.
Reporter: Matthias Epheser
BugGen.
218520071009Joachim GrueneisJoachim Grueneis Create interface for InternalContext and make all existing *InternalContext classes implement this interface
Reporter: Joachim Grueneis
Enh.All
215720071006Joachim GrueneisWerner Guttmann Fixed different behaviour of Configuration constructors.
Reporter: Joachim Grueneis
Enh.All
211920071002Joachim GrueneisWerner Guttmann Introduced new internal configuration handling for Castor XML.
Reporter: Joachim Grueneis
Enh.XML
2177200710002Ralf JoachimRalf Joachim Added support for custom type convertors.
Reporter: Ralf Joachim
Enh.JDO
216620071001Joachim GrueneisJoachim Grueneis 'bin/build clean' cleans all build directories including those of test
Reporter: Joachim Grueneis
ImprovementGeneral
216720071001Joachim GrueneisJoachim Grueneis Modify CTFRun.sh to match changes in CTFRun.bat
Reporter: Joachim Grueneis
ImprovementGeneral
216220070923Werner GuttmannWerner Guttmann Switched Castor XML to fully use JAXP to obtain XML parsers
Reporter: Werner Guttmann
BugXML
215820070922Werner GuttmannWerner Guttmann Fixed NullPointerException in FieldValidator.validate(Object, ValidationContext)
Reporter: Werner Guttmann
BugXML
215320070921Werner GuttmannWerner Guttmann Fixed problem with validation of <xs:NMTOKEN> during unmarshalling.
Reporter: Rahul Mahboobani
Enh.XML
214720070921Tom van den BergeWerner Guttmann Added HTML documentation for configurable field handlers.
Reporter: Tom van den Berge
Enh.XML
214920070921Tom van den BergeWerner Guttmann Added 'changes' section to release notes re: configurable field handlers.
Reporter: Tom van den Berge
Enh.XML
214820070921Tom van den BergeWerner Guttmann Added HOW-TO configurable field handlers.
Reporter: Tom van den Berge
Enh.XML
201520070911Werner GuttmannWerner Guttmann Fixed a problem with support for 'strict elements' related to introspection during XML unmarshalling.
Reporter: Reginals Ratherfurp
BugXML
204420070911Shawn CrookWerner Guttmann Fixed support for milliseconds with XML schema durations.
Reporter: Shawn Crook
BugXML
204220070911Tom van den BergeWerner Guttmann Added support for configurable field handlers.
Reporter: Tom van den Berge
Enh.XML
212720070910Werner GuttmannWerner Guttmann Improved documentation for using mapping files with Castor XML.
Reporter: Michael Moynihan
Enh.HTML
204620070910Werner GuttmannWerner Guttmann Moved section on dependencies to a new HTML page.
Reporter: Werner Guttmann
BugHTML
205120070910Werner GuttmannWerner Guttmann Fixed problem with low centuries and the use of dates.
Reporter: Lars Bilger
BugXML
211020070909Werner GuttmannWerner Guttmann Fixed problem related to the usage of <xs:unsignedInt> in extensions
Reporter: Bastian Doetsch
BugGen.
214120070906Matthias EpheserWerner Guttmann Fixed problem with code generation of Java 5 enums related to default values
Reporter: Ron Corcuera
BugGen.
212420070829Matthias EpheserWerner Guttmann Introduced pluggable interface for handling (JAXB and other) annotations during XML code generation.
Reporter: Matthias Epheser
Enh.Gen.
212220070828Matthias EpheserWerner Guttmann Added 'org.exolab.castor.builder.forceJava4Enums' property to fine-tune code generation for enums in Java 5.
Reporter: Matthias Epheser
Enh.Gen.
210920070827Matthias EpheserWerner Guttmann Added support for un-/marshalling extended JAVA 5 enums.
Reporter: Matthias Epheser
BugXML
211220070824Werner GuttmannWerner Guttmann Fixed performance issue with validation related to IDHREFs.
Reporter: Carlo Romero
Enh.Gen.
211720070824Matthias EpheserWerner Guttmann Added support for generating genuine Java 5 enums for simply type enumerations.
Reporter: Matthias Epheser
Enh.Gen.
207820070816Werner GuttmannWerner Guttmann Fixed problem with code generation for nested choices.
Reporter: Ron Corcuera
Enh.Gen.
211420070814Joachim GrüneisWerner Guttmann Removed code duplication from static Marshaller.marshal() methods.
Reporter: Joachim Grüneis
Enh.XML
210620070814Matthias EpheserWerner Guttmann Moved code for field and method creation (out of FieldInfos) into new factory classes. This is in preparation for JAXB work.
Reporter: Matthias Epheser
Enh.XML
211320070814Werner GuttmannWerner Guttmann Removed code duplication from static Unmarshaller.unmarshal() methods.
Reporter: Werner Guttmann
Enh.XML
210420070811Joachim GrüneisRalf Joachim Refactored JavaNaming.
Reporter: Joachim Grüneis
Enh.XML
209920070810Werner GuttmannWerner Guttmann Fixed problem with creation of example sources JAR.
Reporter: Alex Vendrow
BugXML
207720070809Werner GuttmannWerner Guttmann Fixed problem with code generation for hexBinary collections.
Reporter: Jeremie Poutrin
BugXML
205520070806Ralf JoachimRalf Joachim Use refactored Castor configuration at JDO modul.
Reporter: Ralf Joachim
Enh.JDO
201220070804Jim ProcterRalf Joachim Fixed infinite recursion with cyclid IDREFs at hashCode() and equals().
Reporter: Jim Procter
Enh.XML
201120070804Jim ProcterRalf Joachim Call hashCode() of the base XML type at hashCode() of generated class.
Reporter: Jim Procter
Enh.XML
210020070804Ralf JoachimRalf Joachim Fixed sealing violation occured when using castor-jdo.
Reporter: Brian Schlining
BugJDO
205820070804Ralf JoachimRalf Joachim Cleaned up checkstyle and compiler warnings at JDO modul.
Reporter: Ralf Joachim
Enh.JDO
204820070802Werner GuttmannWerner Guttmann Fixed NPE related to usage of <xsd:union>.
Reporter: Ezequiel Puig
BugXML
193220070728Joachim GrüneisRalf Joachim Splited ClassDescriptorResolver to be more expandable for future needs.
Reporter: Joachim Grüneis
Enh.XML
192720070725Ralf JoachimRalf Joachim Refactored Castor configuration.
Reporter: Ralf Joachim
Enh.All
134220070724Ralf JoachimRalf Joachim Added special processing of proxied classes.
Reporter: Stephen Bash
Enh.XML
203720070713Water GuoWerner Guttmann Added missing property to XML FAQ entry on Xerces and Java 5.
Reporter: Water Guo
Bug.XML
203420070711Sachith DhanushkaWerner Guttmann Changed visibility for various schema-related classes to support JAXB 2.x work.
Reporter: Sachith Dhanushka
Enh.XML
203420070703Werner GuttmannWerner Guttmann Fixed broken complex type bindings in 'bindings' HOW-TO.
Reporter: Mauricio Hiroshi Nagaoka
BugXML
203220070702Werner GuttmannWerner Guttmann Improved documentation for use of JDK-internal Xerces instance.
Reporter: Belkorin
BugXML



Release 1.1.2.1


Description:Maintenance release for Castor 1.1
released:June 28, 2007
managed by:Werner Guttmann

Changes

This release is a minor release only and essentially fixes a regression issue of 1.1.2 that basically prevents specific user groups from using 1.1.2. Please see below issue list for details.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
201320070625Ralf JoachimRalf Joachim Fixed wasting of processing time on string concatenation in log statements.
Reporter: Ralf Joachim
Enh.All
202320070623Werner GuttmannWerner Guttmann Fixed problem with duplicate IDs in id/idhref leniency mode.
Reporter: Carlo Romero
BugXML



Release 1.1.2


Description:Maintenance release for Castor 1.1
released:June 17, 2007
managed by:Werner Guttmann

Additions

Added support for (un-)marshalling Java 5 enums

Castor XML now supports Java 5 enums in all cases where either a mapping file is used or it is relied upon default introspection.

Changes

Binary JARs restructured

As part of this release, we have again moved several areas of functionality to separate deployment units, resulting into additional JARs available for download:

-Castor JDO

Please note that the Castor JAR does not include this component anymore. In other words, if you want to use Castor JDO as a persistence framework, you will have to download both the Castor XML and Castor JDO JARs, as Castor JDO internally uses Castor XML. For details, please have a look at the download instructions.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
192620070617Werner GuttmannWerner Guttmann Extended code that depends on id/href leniency.
Reporter: Werner Guttmann
BugXML
200720070614Ralf JoachimRalf Joachim SVN moved JDO files from src/bugs and src/tests to cpactf/src/test.
Reporter: Ralf Joachim
Enh.JDO
201720070614Werner GuttmannWerner Guttmann Fixed ArrayIndexOutOfBoundException in related to timezone offsets that include minutes.
Reporter: Bill Robertson
BugXML
200920070611Werner GuttmannWerner Guttmann Added 'xmlctf' module to source JARs.
Reporter: Petteri Räty
BugGen
200820070609Ralf JoachimPetteri Räty Fixed CLONE-BigDecimal usage in Types.java that can't run on jre1.4.2.
Reporter: Ralf Joachim
Enh.XML
200520070607Ralf JoachimRalf Joachim SVN moved log4j database appender to examples modul.
Reporter: Ralf Joachim
Enh.JDO
200620070607Ralf JoachimRalf Joachim SVN moved JDO files from src/test/java into cpa/src/test/java.
Reporter: Ralf Joachim
Enh.JDO
200420070607Ralf JoachimRalf Joachim SVN moved JDO files from src/main/resources into cpa/src/main/resources.
Reporter: Ralf Joachim
Enh.JDO
200120070607Ralf JoachimRalf Joachim SVN moved JDO files from src/main/java into cpa/src/main/java.
Reporter: Ralf Joachim
Enh.JDO
200020070607Ralf JoachimRalf Joachim Created basic modul structur for JDO modul including eclipse configuration.
Reporter: Ralf Joachim
Enh.JDO
177420070607Le Duc BaoRalf Joachim Replaced PrintStream and StringBuffer by a Writer implementation.
Reporter: Ralf Joachim
Enh.JDO
99120070601Werner GuttmannWerner Guttmann Fixed a problem with incorrect import statements/class name references in the context of included/imported XML schemas.
Reporter: Godmar Back
BugGen.
99120070528Michael KoppWerner Guttmann Added support for Java 5 enums during unmarshalling.
Reporter: Michael Kopp
Enh.XML
122120070526Werner GuttmannWerner Guttmann Added support for Java 5 enums during marshalling.
Reporter: Benoit Xhenseval
Enh.XML
198520070524Werner GuttmannWerner Guttmann Trace statements output only if in trace mode.
Reporter: Ed Wallen
BugXML
185020070515Werner GuttmannPaul Philion Refactored toString() method of XMLException.
Reporter: Paul Philion
BugXML
176920070515Werner GuttmannWerner Guttmann Added get-/setProperty() methods to (un-)Marshaller so that properties can be set programmatically.
Reporter: Werner Guttmann
Enh.XML
198220070514Werner GuttmannWerner Guttmann Fixed a problem with namespace processing in the context of substitution groups.
Reporter: Ted Troccola
BugGen
198120070514Werner GuttmannWerner Guttmann Fixed a problem with the processing of substitution groups if sequence + order validation enabled..
Reporter: Ted Troccola
BugGen
197120070509Werner GuttmannWerner Guttmann Made org.exolab.castor.persists.spi.Identity implement java.io.Serializable.
Reporter: Gonzalo Abollado
BugJDO
196420070506Werner GuttmannWerner Guttmann Fixed problem with picking up SAX features from custom castor.properties.
Reporter: Anti Orgla
BugXML
196220070505Werner GuttmannWerner Guttmann Introduced new 'lenient' properties in castor.properties so that new sequence order and id/href validation can be selectively turned off.
Reporter: Carlo Romero
EnhXML
189620070430Werner GuttmannWerner Guttmann Removed (illegal) underscores from calls to PropertyChangeListeners.
Reporter: Azgard
BugXML
195720070430Paul PhilionWerner Guttmann Switched logging for Unmarshaller/UnmarshalHandler to commons-logging.
Reporter: Paul Philion
BugXML
194720070429Werner GuttmannWerner Guttmann Fixed problem with access to values stored in ehcache related to expiration.
Reporter: Gonzalo Abollado
BugJDO
195520070426Werner GuttmannWerner Guttmann Improved handling of global/local element collisions with identical type for automatic class conflict resolution
Reporter: Werner Guttmann
BugXML
192120070425Werner GuttmannWerner Guttmann Fixed incorrect Java version number (as used in Marshaller).
Reporter: Dmitry Savenko
BugXML
195420070425Werner GuttmannWerner Guttmann XML code generator does not create property* methods for enumerations anymore.
Reporter: Godmar Back
BugGen
195220070423Ralf JoachimRalf Joachim Moved examples into a separate modul.
Reporter: Ralf Joachim
Enh.All



Release 1.1.1


Description:Maintenance release for Castor 1.1
released:April 22, 2007
managed by:Werner Guttmann

Additions

Added support for substitution groups

Support for substitution groups has been added. This new feature is marked as experimental simply to indicate that we'd appreciate as much feedback and testing as possible.

Added 'automatic class name conflict resolution' mode

The XML code generator now support a new 'automatic class name conflict resolution' mode that will minimize - if not completely prevent - class name conflicts during code generation.

To enable this mode, please set the following property in your custom castorbuilder.properties file as shown below:

# Specifies whether automatic class name conflict resolution
# should be used or not; defaults to false.
#
org.exolab.castor.builder.automaticConflictResolution=true

This new mode will avoid class name conflicts by prepending XPATH fragments or type suffices to the 'normal' class name as generated otherwise.

Validation of <xs:sequence> order

Added support for validation of correct order of elements of <xsd:sequence> typed complex types during unmarshaling. A ValidationException will be thrown if the expected order cannot be matched.

Added support for <xs:hexBinary>

Added support for the XML schema type <xs:hexBinary> during XML code generation.

Added new <contentMember> element to binding filesupport for the hexBinary data type

This new element (child of a <componentBinding>) allows one to specify a custom member name for the content member as generated for a mixed mode complex type definition.

Added support for the hexBinary data type

The XML (Un-)Marshaller now supports the data type hexBinary.

Improved interface of XMLClassDescriptorResolver

The public interface of XMLClassDescriptorResolver has been improved and streamlined, adding various new methods for pre-loading class descriptors. Please check here for details.

Added Unmarshaller.setObject(Object)

To specify an existing root object to be used during unmarshalling, setObject(Object) has been added, alternatively to the Unmarshaller(Object) constructor.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
194520070418Doug DanielsWerner Guttmann Fixed problem with 'time' type handling in XML instance to schema generator.
Reporter: Doug Daniels
BugXML
193720070416Paul CroarkinWerner Guttmann Relaxed various checks in the default ID resolver implementation so that those checks are executed only when the Unmarshaller is configured to be 'validating'.
Reporter: Paul Croarkin
BugXML
194320070409Werner GuttmannWerner Guttmann Added Unmarshaller.setObject(Object) to allow setting of a root object for unmarshalling.
Reporter: Werner Guttmann
BugGen
193920070409Werner GuttmannWerner Guttmann Fixed regression issue with automatic conflict resolution and global element conflicts.
Reporter: Werner Guttmann
BugGen
193520070406Chris KellerWerner Guttmann Fixed problem with importing from same namespace multiple times where one import actually includes the other.
Reporter: Chris Keller
BugGen
193820070406Werner GuttmannWerner Guttmann Fixed NPE for extended types with <xs:any> members
Reporter: Dave Hauver
BugGen
193620070404Werner GuttmannWerner Guttmann Made XPathLocation implement java.io.Serializable.
Reporter: Dan Smith
BugGen
193120070403Werner GuttmannWerner Guttmann Fixed problem with enum bindings for interger-based enumerations.
Reporter: Scott C Arnold
BugGen
192820070401Werner GuttmannWerner Guttmann Fixed problem with not-specified binding file during automatic naming collision resolution.
Reporter: David M. Karr
BugGen
23820070401Werner GuttmannWerner Guttmann Added support for 'overriding' the name of the Java 'content' member.
Reporter: Werner Guttmann
BugGen
42320070401Johan LindquistWerner Guttmann Added support for <xs:hexBinary> for XML code generation and support for HEX en-/decoding during (un)marshalling.
Reporter: Johan Lindquist
BugXML
192620070331Werner GuttmannWerner Guttmann Renamed XMLClassDescriptorResolver.resolveXML(Class) back to resolve(Class).
Reporter: Werner Guttmann
TaskXML
192520070330Werner GuttmannWerner Guttmann Fixed syntax of closing <forces> tag in JClassRegistry.printSummary().
Reporter: Werner Guttmann
BugGen
189120070319Werner GuttmannWerner Guttmann Fixed problem with using enum types as constructor arguments
Reporter: Uwe Langbecker
BugXML
190020070319Werner GuttmannWerner Guttmann Fixed problem with choices during automatic name conflict resolution
Reporter: Werner Guttmann
BugXML
190920070318Werner GuttmannWerner Guttmann Improved validation for global elements during XML schema processing
Reporter: Stoil Valchkov
BugXML
191420070316Werner GuttmannWerner Guttmann Replaced custom java.util.Enumeration implementation with java.util.Iterator.
Reporter: Werner Guttmann
Enh.XML
191120070316Werner GuttmannWerner Guttmann Improved and stream-lined public interface of XMLClassDescriptorResolver.
Reporter: Werner Guttmann
BugXML
191020070316Steven DolgWerner Guttmann Fixed problem with (incorrectly) caching class descriptors in XMLClassDescriptorResolver.
Reporter: Simon Lord
BugXML
190520070313Werner GuttmannWerner Guttmann Fixed bug in string normalization during code generation.
Reporter: Simon Lord
BugGen
189720070313Werner GuttmannWerner Guttmann Added documentation for 'org.exolab.castor.builder.automaticConflictResolution' property.
Reporter: Werner Guttmann
BugGen
189920070313Werner GuttmannWerner Guttmann Fixed problem in ElementDecl.getSubstitutionGroup() related to global element references.
Reporter: Werner Guttmann
BugGen
190220070313Werner GuttmannWerner Guttmann Fixed problem with validation of empty choices during unmarshalling.
Reporter: Pascal Maugeri
BugXML
127620070316Brian SchliningRalf Joachim Added a method for forcing the timezone for dates written to the database.
Reporter: Brian Schlining
BugJDO
189520070312Werner GuttmannWerner Guttmann Fixed problem with printing annotations correctly (schema writer).
Reporter: Oliver Fourman
BugXML
189320070307Werner GuttmannWerner Guttmann Fixed problem with sequence validation and substitution groups.
Reporter: Werner Guttmann
BugXML
181220070303Steven DolgRalf Joachim Fixed problem with SQLException: Column Index out of range.
Reporter: Igarki San Millan
BugJDO
188620070228Werner GuttmannWerner Guttmann Fixed problem with ClassChoice() creation in MappingFileSourceFactory.
Reporter: Michele Lazzeri
BugGen.
188020070223Steven DolgWerner Guttmann Fixed problem with illegal field name suffix 'Choice'.
Reporter: Steven Dolg
BugGen.
188220070223Werner GuttmannWerner Guttmann Fixed problem with IDREF validation with 'forward references'.
Reporter: Werner Guttmann
BugGen.
187720070223Werner GuttmannWerner Guttmann Fixed problem with build scripts (Windows) related to blanks as part of ENV variables.
Reporter: Guy Coleman
BugGen.
187920070223Werner GuttmannWerner Guttmann Added 'setClass(Class)' method to Unmarshaller to allow sepecification of an 'expected' class.
Reporter: Saladin Sharif
Enh.XML
187520070219Werner GuttmannWerner Guttmann Added new command line parameter 'nameConflictStrategy' to SourceGeneratorMain.
Reporter: David M. Karr
Enh.JDO
178720070219Werner GuttmannRalf Joachim Added ant task for DDL generator.
Reporter: Werner Guttmann
Enh.JDO
186920070219Ralf JoachimWerner Guttmann Fixed problem with identifying 'identity' field in the context of extension hierarchies.
Reporter: Uwe Langbecker
BugXML
187320070218Ralf JoachimRalf Joachim Moved Test Framework of Castor Persistence to its own module.
Reporter: Ralf Joachim
Enh.JDO
187220070218Werner GuttmannWerner Guttmann Fixed problem with completeness of tarballs in the download area.
Reporter: David M. Karr
BugGen
187120070217Ralf JoachimRalf Joachim Changed package name of performance test framework.
Reporter: Ralf Joachim
Enh.JDO
187020070217Ralf JoachimRalf Joachim Moved Performance Test Framework of Castor Persistence to its own module.
Reporter: Ralf Joachim
Enh.JDO
186620070217Werner GuttmannWerner Guttmann Fixed problem with 'required' attributes in the context of containers.
Reporter: Werner Guttmann
Enh.Gen
186520070211Guy ColemanWerner Guttmann Fixed problem with 'required' attributes in the context of containers.
Reporter: Guy Coleman
Enh.Gen
185220070211Werner GuttmannWerner Guttmann Added an 'automatic class name conflict resolution' mode to the XML code generator.
Reporter: Werner Guttmann
Enh.Gen
181120070211Werner GuttmannWerner Guttmann Added support for validation of correct order of elements of <xsd:sequence> during unmarshalling.
Reporter: Werner Guttmann
BugGen



Release 1.1


Description:Release of Castor 1.1 GA
released:February 10, 2007
managed by:Werner Guttmann

Additions

Extended XMLClassDescriptorResolver

Added new functionality to XMLClassDescriptorResolver to pre-load class descriptors for a package. Please find details about this new feature at the best practises for Castor XML.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
119820070201Werner GuttmannWerner Guttmann ID resolution now takes validation configuration into account.
Reporter: Stephen Bash
BugXML
186120070131Werner GuttmannWerner Guttmann Added new functionality to XMLClassDescriptorResolver to pre-load class descriptors for a package.
Reporter: Nick Pilch
Enh.XML



Release 1.1-M3


Description:3rd milestone release for Castor 1.1
released:January 29, 2007
managed by:Werner Guttmann

Changes

XML serialization with JDK 5.0

As Sun has included Apache's Xerces with Java 5.0 by default, we have added support for using the Xerces instance as shipped with the JRE/JDK for serialization. As such, for Java 5.0 users, this removes the requirement to download Xerces separately.

To enable this new feature, please change the following property in your local castor.properties file (thus redefining the default value) as shown below:

# 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.XercesJDK5XMLSerializerFactory
              

Castor under JDK 6

As of this release, Castor now builds under JDK 6.0. Castor XML has been tested under JDK 6.0. However, Castor JDO has not really been tested under JDK 6.0. Note that you may need to use a JDBC 4.0 compatible connector with this new JDK.

Codegen

If you are using the Castor code generator to generate code from schemas that use xsd:import, whether or not code was generated from the imported schemas was controlled by a combination of switches. Now it is controlled only by the "-generateImportedSchemas" option of SourceGeneratorMain, the Ant task option of the same name, or if you are calling codegen programmatically, the method sgen.setGenerateImportedSchemas(true);.

XML CTF

The XML CTF has been moved to its own area. It has been moved from ./src/tests/ into ./xmlctf/. All scripts to run the CTF have been updated for this change.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
186020070128Edward KunsEdward Kuns Move CTF-XML classes to a new package
Reporter: Edward Kuns
Enh.CTF
185920070128Edward KunsEdward Kuns Clean up JavaDoc build errors
Reporter: Edward Kuns
Enh.Gen
185820070128Edward KunsEdward Kuns Move XML CTF from src/tests to xmlctf
Reporter: Edward Kuns
Enh.CTF
164420070127Ralf JoachimRalf Joachim Refactored creation of ClassDescriptors through MappingLoader.
Reporter: Ralf Joachim
Enh.All
185420070122Werner GuttmannWerner Guttmann Fixed problem with not closed file handles for '.castor.cdr' during code generation.
Reporter: Werner Guttmann
BugGen
185120070118Edward KunsEdward Kuns Add to CTF the ability to control whether or not code is generated from imported schema
Reporter: Edward Kuns
Enh.CTF
183920070118Werner GuttmannWerner Guttmann Re-generated classes for binding files, in preparation for adding support for new <componentBinding>
Reporter: Werner Guttmann
Enh.Gen
184720070117Edward KunsEdward Kuns Minor improvement in validation classes
Reporter: Edward Kuns
Enh.XML
183920070117Werner GuttmannWerner Guttmann Fixed problem with derivation of Java types for UNIONs that are part of restriction hierarchies.
Reporter: Daniel Nilsson
BugGen
184120070117Werner GuttmannWerner Guttmann Fixed documentation for 'defaultBindingType' attribute in XMl code generation documentation.
Reporter: David M. Karr
BugDoc
176220070116Edward KunsEdward Kuns Castor does not build under JDK 6; jdo/engine/ClobImpl does not override abstract getCharacterStream(long,long)
Reporter: Edward Kuns
Enh.JDO
182720070115Werner GuttmannWerner Guttmann Moved part sof XSList code into new XSNMTokens and XSIdRefs classes.
Reporter: Werner Guttmann
Enh.Gen
183720070114Edward KunsEdward Kuns Fix small Java 1.3 regressions in XML code
Reporter: Edward Kuns
Enh.XML
183220070113Edward KunsEdward Kuns Fix minor inaccuracies in CTF
Reporter: Edward Kuns
Enh.CTF
183120070113Edward KunsEdward Kuns Remove Adaptx from Castor; add new implementation of xmldiff for CTF
Reporter: Edward Kuns
Enh.CTF
182920070112Werner GuttmannWerner Guttmann Fully qualified references to java.lang.Object in CollectionInfo.createRemobeByIndexMethod().
Reporter: Werner Guttmann
BugGen
181720070108Edward KunsEdward Kuns Clean up Java 5 build complaints in ddlgen
Reporter: Edward Kuns
Enh.JDO
181620070108Edward KunsEdward Kuns Cleanup on ddlgen properties doc
Reporter: Edward Kuns
Enh.Doc
181320070109Ralf JoachimRalf Joachim Refactored org.exolab.castor.builder.types package.
Reporter: Ralf Joachim
Enh.XML
181420070108Werner GuttmannWerner Guttmann Added support for XML serialization using Xerces as bundled with JDK 5.0
Reporter: Werner Guttmann
BugXML
180420070104Edward KunsEdward Kuns RandomHelper needs updates
Reporter: Edward Kuns
BugTest
181020070104Edward KunsEdward Kuns Incorrect import lines in generated classes: dots are missing
Reporter: Carlo Romero
BugGen
180920070103Edward KunsEdward Kuns Finish cleanup of RSS file
Reporter: Edward Kuns
EnhRSS
180820070103Edward KunsEdward Kuns Cleanup of misc documentation
Reporter: Edward Kuns
EnhDoc
180720070103Edward KunsEdward Kuns Add RSS feed link to index + news page
Reporter: Edward Kuns
EnhDoc
179820070103Ralf JoachimRalf Joachim Cleaned up 246 warnings of differnet kind in builder package.
Reporter: Ralf Joachim
Enh.XML
180520070103Ralf JoachimRalf Joachim Made org.exolab.castor.tools.ant.taskdefs.CastorSourceGenTask delegate to CastorCodeGenTask.
Reporter: Edward Kuns
Enh.XML
179720070102Ralf JoachimRalf Joachim Cleaned up 929 'Design For Extension' warnings at builder package.
Reporter: Ralf Joachim
Enh.XML
179620070102Ralf JoachimRalf Joachim Cleaned up 351 'Maximum Line Length' warnings at builder package.
Reporter: Ralf Joachim
Enh.XML
179320070102Ralf JoachimRalf Joachim Cleaned up 635 warnings with braces and whitespaces at builder package.
Reporter: Ralf Joachim
Enh.XML
179520070102Ralf JoachimRalf Joachim Cleaned up 466 'Final Parameters' warnings at builder package.
Reporter: Ralf Joachim
Enh.XML
179420070102Ralf JoachimRalf Joachim Cleaned up 316 'Style Javadoc' warnings at builder package.
Reporter: Ralf Joachim
Enh.XML
180020070101Edward KunsEdward Kuns Tune checkstyle rules
Reporter: Edward Kuns
EnhAll
179920070101Edward KunsEdward Kuns XML handler & descriptor checkstyle cleanup
Reporter: Edward Kuns
EnhXML
179220070102Ralf JoachimRalf Joachim Cleaned up 344 'Paren Pad' warnings at builder package.
Reporter: Ralf Joachim
Enh.XML
179020070102Ralf JoachimRalf Joachim Refactored javasource package to resolve 'Design by extension' complaints of checkstyle.
Reporter: Ralf Joachim
Enh.XML
178920070101Ralf JoachimRalf Joachim Cleaned up checkstyle warnings/infos at javasource package of codegen module.
Reporter: Ralf Joachim
Enh.XML
177620061231Ralf JoachimRalf Joachim Cleaned up checkstyle warnings at anttask module and introduce new CastorCodeGenTask.
Reporter: Ralf Joachim
Enh.XML
178620061229Edward KunsEdward Kuns Checkstyle-based corrections in codegen
Reporter: Edward Kuns
EnhXML
178520061229Edward KunsEdward Kuns Update checkstyle to work under UNIX + Windows both
Reporter: Edward Kuns
EnhAll
178420061229Edward KunsEdward Kuns Checkstyle-based corrections in anttask
Reporter: Edward Kuns
EnhAnt



Release 1.1-M2


Description:2nd milestone release for Castor 1.1
released:December 29, 2006
managed by:Werner Guttmann

Additions

DDL Generator

At the Google Summer of Code program for 2006, the student Le Duc Bao worked for Castor. With support of his mentor Ralf Joachim, he implemented a generator for DDL scripts from scratch.

Castor DDL Generator creates a SQL script to drop/create tables, unique keys, sequences and so on, from a Castor JDO mapping file.

Example:
java org.castor.ddlgen.Main -m mapping.xml

This will generate the SQL script mapping.sql in the same directory mapping.xml is located.

The code generator now supports multiple pattern facets properly.

Changes

Binary JARs restructured

As part of this release, we have started to move several areas of functionality to separate deployment units, resulting into additional JARs available for download:

-XML code generator
-Ant task for XML code generator

In addition, as outlined above, the new DDL generator has been made available as a separate deployment unit as well, resulting into ...

-DDL generator

Please note that the Castor XML (and JDO) JARs do not include these components anymore. In other words, if you want to use both Castor XML (for (un-)marshaling) and the XML code generator for code generation from an XML schema, you will have to download both JARs. For details, please have a look at the download instructions.

Code generation for <xs:int> and <xs:integer>

As part of the work for fixing bug 1760, it has been recognized that the approach taken as part of working on issue 1741 was slightly too ambitious.

As such, the XML code generator has been changed (again) to generate the following Java types for elements/attributes typed with <xs:int> and <xs:integer>:

Type

Old Java type

New Java type

<xs:int> java.lang.Integer/int java.lang.Integer/int
<xs:integer> java.lang.Integer/int java.lang.Long/long

Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
11220061229Le Duc BaoRalf Joachim Added generation of SQL scripts from mapping file.
Reporter: Erwin Bolwidt
Enh.All
176320061228Werner GuttmannWerner Guttmann Moved Ant task definition for XML code generator to separate deployment unit.
Reporter: Werner Guttmann
BugXML
27920061228Edward KunsEdward Kuns Source Generator: Multiple pattern strings ignored
Reporter: jcarter
BugXML
18820061227Edward KunsEdward Kuns SourceGen: ClassDescriptor.getExtends() returns always null
Reporter: rhierlmeier
BugXML
176520061225Edward KunsEdward Kuns Add xml/validators to checkstyle and do checkstyle cleanup
Reporter: Edward Kuns
Enh.XML
172220061225Werner GuttmannWerner Guttmann Added support for validating <xsd:IDREF>> and <xsd:IDREFS> during (un)marshalling.
Reporter: Werner Guttmann
BugXML
176420061225Werner GuttmannWerner Guttmann Fixed problem with incorrectly generated qualified class name for classes in type hierarchies.
Reporter: Werner Guttmann
BugXML
176020061225Werner GuttmannWerner Guttmann <xsd:int> mappes onto Java type 'int/java.lang.Integer' again.
Reporter: Werner Guttmann
BugXML
176120061223Edward KunsEdward Kuns Java 5 breaks BigDecimal validation
Reporter: Edward Kuns
BugXML
175820061223Edward KunsEdward Kuns Complete facet handling for numerical types
Reporter: Edward Kuns
EnhXML



Release 1.1-M1


Description:Milestone release for Castor 1.1
released:December 23, 2006
managed by:Werner Guttmann

Changes

Code generation for <xs:int> and <xs:integer>

As part of the work for fixing bug 1421, it has been recognized that the code generated pre-patch did not comply with the set of rules defined in the XML schema specification.

As such, the XML code generator has been changed to generate the following Java types for elements/attributes typed with <xs:int> and <xs:integer>:

Type

Old Java type

New Java type

<xs:int> java.lang.Integer/int java.lang.Long/long
<xs:integer> java.lang.Integer/int java.lang.Long/long

The only difference between the artifacts generated is that a different Java type is used with a different (and appropriate to the specification) value range. Thus, the value range that will be accepted by the generated Java instance variables has changed.

XML test suite execution

The CTF currently requires the Sun JDK (or SDK) to execute, although it may be possible to execute with GNU gcj or with JRockit. The CTF will not work if you are using only a JRE. This is because the CTF uses the Sun Java compiler API to compile code as needed for Source Generator and Marshaling Framework tests. The CTF code is written to allow easy extension for additional compiler frameworks, so if you use a compiler or runtime that is not supported, you should be able to easily add support for a new framework. If you want to do this, contact Castor committors for assistance and direction and they'll set you on the right course.

Two new features have been added to the CTF that allow users to add Java-version-specific tests. The first new feature applies to an entire test, that is, the full suite of tests described by a single TestDescriptor.xml file. If you add the following tag to a TestDescriptor.xml:

<MinimumJavaVersion>1.5</MinimumJavaVersion>

then the entire suite of tests described by that test descriptor will be skipped if the version of Java executing the test suite is not at least the minimum version specified.

For the second new feature, if you add the following tag to an individual Unit Test in a TestDescriptor.xml:

<JavaSourceVersion>1.2</JavaSourceVersion>

then for that individual unit test, all code will be compiled with the javac parameter -source 1.2, using the version specified.

For both of these parameters, you are expected to supply a value that is allowed by the javac -source command-line option, although if you specify an integer between 5 and 9 (inclusive), that value will automatically be converted to the correct value.

In the source generator, all facets are now implemented for all of the XML Schema date/time types with one exception: validation for the "fixed" facet of xsd:dateTime is not implemented. This is because Castor marshals dateTime as a java.util.Date, which does not contain time zone information. A later release of Castor may marshal xsd:dateTime into a java.util.Calendar instead of java.util.Date.

An additional unit test type has been added to the MarshallingTest and SourceGeneratorTest test types that allows invoking user-supplied arbitrary code that will either return a boolean "false" or an Exception if the user-test fails or it will throw an exception if the user-test fails. For a sample of this new unit test type, see the tests in the directory

MasterTestSuite/sourcegenerator/Facets/DateTimeNoTimeZone/

The Source Generator now creates class descriptors in a subdirectory

Previously, the class descriptors (used during marshaling and unmarshaling to provide constraints, validation assistance, etc.) were generated into the same directory (same package) as the classes they describe. Starting with this release, the class descriptors are generated into a subpackage named "descriptors" one directory lower than the package where the classes being described are generated. Doing so prevents the class descriptors from cluttering up the directory where the code the developer cares about will be generated.

An additional benefit of this change occurs if you generate source into a directory that already contains other source code. In this instance, it can be difficult for ANT to determine whether or not you need to regenerate the generated source code, that is, whether the XSD file is newer or older than the generated source. Under the usual circumstance where the descriptors subpackage contains only generated code, you can use the ANT <uptodate> task to compare the timestamp of the XSD file against the timestamps of the descriptors, and thus reliably know whether or not you have to regenerate source code.

For marshaling and unmarshaling, the class descriptors will be located via the ".castor.cdr" files located in the directories (packages) where the classes are generated. If these files are deleted or are not kept (we highly recommend including these files in your JAR file) then the class descriptor resolver will first look for the class descriptors in the same package where the classes to be described are. If they are not found there, then the class descriptor resolver will look in a subpackage "descriptors." This maintains backwards compatibility with code generated under older Castor releases.

Additions

Code generation -- Specifying member visibility in binding file

It is now -- at the <member> level -- possible to specify a Java member's visibility (different from the default value "private") similar to ...

<elementBinding name="complexType:rootType/value">
  <member visibility="protected"/>
</elementBinding>

Valid values for the visibility attribute are protected, private and public, as per the definition in binding.xsd.

<xsd:attribute name="visibility">
   <xsd:simpleType>
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="public"/>
         <xsd:enumeration value="protected"/>
         <xsd:enumeration value="private"/>
      </xsd:restriction>
   </xsd:simpleType>
</xsd:attribute>

Support for additional collection types in binding file

Added support for specifying additional collection types in a binding file, similar to ...

<elementBinding name="complexType:rootType/list">
  <member name="myList" collection="set"/>
</elementBinding>

The following types have been added: 'collection', 'set' and 'sortedset'.

Extended support for validation of IDs during unmarshaling

The default IDResolverImpl class has been changed so that a validation exception will be thrown if an empty or duplicate ID value is encountered.

Added support for <enumBinding>s

The XML code generator has been enhanced so that it is possible to provide a binding for the following enumeration ...

<xs:simpleType name="durationUnitType">
  <xs:restriction base='xs:string'>
    <xs:enumeration value='Y' />
    <xs:enumeration value='M' />
    <xs:enumeration value='D' />
    <xs:enumeration value='h' />
    <xs:enumeration value='m' />
    <xs:enumeration value='s' />
  </xs:restriction>
</simpleType>

as follows:

<enumBinding name="/enumType:durationUnitType">
  <enum-def>
    <enumMember>
      <value>M</value>
      <javaName>CUSTOM_M</javaName>
    </enumMember>
  </enum-def>
</enumBinding>

Add support for validating <xsd:ID> during marshaling.

Castor XML now supports validation of <xsd:ID>s during marshaling, preventing the following scenarios from being marshaled successfully (throwing a ValidationException instead):

-<xsd:ID> with empty values
-<xsd:ID> with duplicate values

Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
175620061222Edward KunsEdward Kuns Checkstyle-based cleanup in builder/types
Reporter: Edward Kuns
EnhXML
175520061222Edward KunsEdward Kuns Complete (to first pass) the test for all date/time types
Reporter: Edward Kuns
EnhXML
174820061222Werner GuttmannWerner Guttmann Removed state pool in UnmarshalHandler.
Reporter: Werner Guttmann
Enh.XML
175220061222Edward KunsEdward Kuns Update xmlschema.xml srcgen documentation
Reporter: Edward Kuns
EnhDoc
175120061221Edward KunsEdward Kuns Cleanup/update of srcgen/test documentation
Reporter: Edward Kuns
EnhDoc
175020061221Edward KunsEdward Kuns General cleanup of several documentation files
Reporter: Edward Kuns
EnhDoc
174920061221Edward KunsEdward Kuns Update comments in castor.properties
Reporter: Edward Kuns
EnhAll
173820061220Edward KunsEdward Kuns Clean up Castor XML; remove unnecessary replacements of Java 1.2 classes
Reporter: Edward Kuns
EnhXML
59720061220Edward KunsEdward Kuns Have SourceGenerator use a separate packages for class descriptor classes
Reporter: Robert La Ferla
EnhXML
174620061220Werner GuttmannWerner Guttmann Enhanced ClassNameCRStrategy with dealWithFileOverwrite() functionality.
Reporter: Werner Guttmann
Enh.XML
174520061219Edward KunsEdward Kuns Update and extend comments in castorbuilder.properties
Reporter: Edward Kuns
EnhXML
174420061218Edward KunsEdward Kuns Fix build for <api> links in web page
Reporter: Edward Kuns
EnhAll
174020061218Werner GuttmannWerner Guttmann Moved all XMLFieldHandler-related code within DescriptorSourceFactory to new XMLFieldHandlerFactory component.
Reporter: Werner Guttmann
Enh.XML
174120061218Werner GuttmannWerner Guttmann Moved all *Info classes to a new 'builder.info' package.
Reporter: Werner Guttmann
Enh.XML
172020061215Werner GuttmannWerner Guttmann Add support for validating <xsd:ID>s during marshalling.
Reporter: Werner Guttmann
Enh.XML
173720061215Werner GuttmannWerner Guttmann Added new ClassNameCRStrategy that simply logs such conflicts without possibility of user intervention
Reporter: Werner Guttmann
Enh.XML
173620061214Werner GuttmannWerner Guttmann Added registry for ClassNameConflictResolutionStrategy implementations.
Reporter: Werner Guttmann
Enh.XML
153920061213Edward KunsEdward Kuns toArray instead of loop
Reporter: Roland Spatzenegger
EnhXML
64420061213Edward KunsEdward Kuns unable to create a file called Con.java on Windows
Reporter: Adrian Smith
EnhXML
173420061213Werner GuttmannWerner Guttmann Introduced strategy pattern for class name conflict resolution during code generation (foundation)
Reporter: Werner Guttmann
Enh.XML
169320061210Werner GuttmannWerner Guttmann Moved Ant JARs into bin/lib (and thus out of lib), and amended build scripts accordingly.
Reporter: Werner Guttmann
Enh.General
168820061213James AbleyRalf Joachim Fixed NullPointerException thrown in ClassMolderHelper.getFullFields() during JDO initialization.
Reporter: James Abley
BugJDO
107220061212Erik PearsonWerner Guttmann Fixed problem with incorrectly marshalled location tags for null collections.
Reporter: Erik Pearson
BugXML
169620061212Werner GuttmannWerner Guttmann Fixed problem related to creating incorrectly typed setXXXAsReference() method for 'j2' mode.
Reporter: Werner Guttmann
Enh.XML
168920061212Werner GuttmannWerner Guttmann Removed redundant 'API' Javadocs from build/HTML docs.
Reporter: Werner Guttmann
Enh.All
159220061211Edward KunsEdward Kuns regression import test fails
Reporter: Edward Kuns
BugTest
167220061211Edward KunsEdward Kuns Add to CTF test header the minimum JVM version for this test
Reporter: Edward Kuns
Enh.Test
171620061210Edward KunsEdward Kuns Enhance CTF test names to include the directory tree path information
Reporter: Edward Kuns
Enh.Test
172620061210Werner GuttmannWerner Guttmann Add documentation about support for anonymous complex/simply types in binding files
Reporter: Werner Guttmann
Enh.XML
172520061210Werner GuttmannWerner Guttmann Add documentation about new <enumBinding>s in code generation binding
Reporter: Werner Guttmann
Enh.XML
165920061210Werner GuttmannWerner Guttmann Fixed problem with attribute declaration in complexType hierarchies where the attribute is untyped.
Reporter: Tom Carey
BugXML
149120061209Werner GuttmannWerner Guttmann Added support for <enumBinding> elements during XML code generation.
Reporter: Frederik Uyttersprot
Enh.XML
172420061209Edward KunsEdward Kuns Add ability to invoke arbitrary user-supplied code in a CTF unit test
Reporter: Edward Kuns
Enh.Test
172320061208Werner GuttmannWerner Guttmann Extended support for complete validation of ID values during unmarshalling.
Reporter: Werner Guttmann
Enh.XML
172120061206Werner GuttmannWerner Guttmann Added isValidating() method to Unmarshaller.
Reporter: Werner Guttmann
Enh.XML
171520061202Edward KunsEdward Kuns SRCGEN needs to qualify all uses of members of java.lang
Reporter: Edward Kuns
BugXML
171320061201Edward KunsEdward Kuns Regression with date/time classes using String instead of java.lang.String
Reporter: Quince D. Wilson
BugXML
149020061201Werner GuttmannWerner Guttmann Added new elements <enumBinding> et alias to binding XML schema.
Reporter: Werner Guttmann
Enh.XML
39920061130Werner GuttmannWerner Guttmann Added support for specifying member visibility during code generation through binding file.
Reporter: Werner Guttmann
BugXML
171020061130Werner GuttmannWerner Guttmann Fixed problem with 'excessive' sizes of classes generated for enumerations.
Reporter: Quince D. Wilson
BugXML
171120061129Ralf JoachimRalf Joachim Allowed param value to be CDATA instead of NMTOKEN at mapping.dtd.
Reporter: Ralf Joachim
BugAll
170920061129Ontje LünsdorfWerner Guttmann Added support for mapping sub-classes of java.util.Enumeration/Iterator.
Reporter: Ontje Lünsdorf
BugXML
170720061127Werner GuttmannWerner Guttmann Added support for collection type java.util.SortedMap
Reporter: Werner Guttmann
BugXML
170820061127Werner GuttmannWerner Guttmann Added support for specifying collection types 'collection', 'set' and 'sortedset' in binding file.
Reporter: Werner Guttmann
BugJDO
170620061124Werner GuttmannWerner Guttmann Fixed problem with JDO test suite (introduced with commit set 6424).
Reporter: Werner Guttmann
BugJDO
142120061122Werner GuttmannWerner Guttmann Fixed support for <xs:int> and <xs:integer> for code generator.
Reporter: Marcin Cinik
BugXML
170320061121Edward KunsEdward Kuns Implement Srcgen DateTime pattern facet
Reporter: Edward Kuns
Enh.XML
122720061116Edward KunsEdward Kuns Source Generator > default datetime value
Reporter: Bertrand Martel
BugXML
169520061116Werner GuttmannWerner Guttmann Added various new options to code generator Ant task.
Reporter: Vasily Lazerko
Enh.XML
93620061115Werner GuttmannWerner Guttmann Fixed problem with generated code for unbounded choices.
Reporter: Len Takeuchi
BugXML
160320061113Ralf JoachimRalf Joachim Moved CTF compilation away from ANT compiler task by directly calling compiler in tools.jar of Sun JDK.
Reporter: Edward Kuns
Enh.XML



Release 1.0.5


Description:Maintenance release for Castor 1.0
released:November 11, 2006
managed by:Werner Guttmann

Changes

XML code generation - Signature type for 'j2' collections

The Castor code generator now uses 'java.util.List' as type when generating code for a Java member (as well as the type used for the corresponding getter and setter methods) rather than the old 'java.util.ArrayList'.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
166920061109Paul PhilionWerner Guttmann Added feature to set a custom ObjectFactory for object creation on Unmarshaller
Reporter: Paul Philion
BugEnh.
167820061109Werner GuttmannWerner Guttmann Fixed problem with code generation for choices used in extension hierarchies.
Reporter: Susan Anderson
BugXML
167120061108Edward KunsEdward Kuns Update CTF document and merge CTFDoc.pdf into ctf.xml
Reporter: Edward Kuns
Enh.XML
167720061108Werner GuttmannWerner Guttmann XML code generator now uses 'java.util.List' as signature type for 'j2' collections.
Reporter: Werner Guttmann
BugXML
168020061106Pawel PeszRalf Joachim Fixed issue with incorrect constants in AbstractMappingLoader.
Reporter: Pawel Pesz
BugXML
38420061102Werner GuttmannWerner Guttmann Added support for 'pattern' facet for <xsd:decimal>.
Reporter: Serge Henneaux
BugXML
167520061102Eric WittmannWerner Guttmann Fixed problem with SchemaWriter not serializing anyAttribute child of a complexType.
Reporter: Eric Wittmann
BugXML
167020061030Edward KunsEdward Kuns Add to CTF ability to specify failure step
Reporter: Edward Kuns
Enh.XML
161520061030Werner GuttmannWerner Guttmann Added HTML docs for prepared statement pooling.
Reporter: Ralf Joachim
BugJDO
166820061030Werner GuttmannWerner Guttmann Added test for enums to XML test suite.
Reporter: Ralf Joachim
BugXML
165320061028Ralf JoachimRalf Joachim Fixed type conversion error when unmarshalling enum fields.
Reporter: Henk van Voorthujsen
BugXML
166720061028Werner GuttmannWerner Guttmann Switched org.exolab.castor.builder.package to use Jakarta's commons-logging for logging.
Reporter: Werner Guttmann
BugXML
164220061027Paul PhilionWerner Guttmann Switched Marshaller to use Jakarta's commons-logging for logging (adding additional logging statements of level warn for exceptions that so far got caught silently).
Reporter: Paul Philion
BugXML
166020061027Werner GuttmannWerner Guttmann Fixed problem with namespace support for collections created using "container=false".
Reporter: Gregg Fowler
BugXML
165620061025Werner GuttmannWerner Guttmann Fixed broken code as generatd for XMLFieldHandler.resetValues() for Java 2 collections.
Reporter: Carlo Romero
BugXML
164820061024Edward KunsEdward Kuns Cyclic inheritence trees can cause srcgen to loop infinitely
Reporter: Edward Kuns
BugXML
165820061024Edward KunsEdward Kuns Clean up compilation complaint -- Java 5 varargs complaint
Reporter: Edward Kuns
Enh.All
165520061024Werner GuttmannWerner Guttmann Fixed broken code sample in XML best practice document.
Reporter: Tom Carey
BugXML
165220061023Edward KunsEdward Kuns Castor Source Code is created with ISO-8859-1 encoding, not UTF-8
Reporter: Edward Kuns
BugAll
163220061023Werner GuttmannWerner Guttmann Added support for XML schema type 'unsignedLong' to XML code generator.
Reporter: Werner Guttmann
BugXML
164720061023Edward KunsEdward Kuns log4j / junit classpath conflict with CTF
Reporter: Edward Kuns
BugXML



Release 1.0.4


Description:Maintenance release for Castor 1.0
released:October 22, 2006
managed by:Werner Guttmann

Requirements

Backported Castor to be compliant with Java 1.3 again. Therefore the dependecy on Java 1.4 introduced with 1.0 release has been removed.

To not lose features like JDBC 3.0 introduced with the 1.0 release of Castor, we decided to use reflection or dynamic proxies in some places. This allows one to use these features with Java 1.4 while still being able to use Castor with Java 1.3.

Additions

Database appender for log4j through CastorJDO

We have added a database appender for log4j through CastorJDO to our codebase in the

org.castor.tools.log4j
package. The appender has to be configured through log4j.xml configuration file as usual.

<appender name="db" class="org.castor.tools.log4j.CastorAppender">
    <param name="DatabaseName" value="LOGGING"/>
    <param name="BufferSize" value="10"/>
    <param name="ColumnWidthClass" value="100"/>
    <param name="ColumnWidthThread" value="100"/>
    <param name="ColumnWidthMessage" value="1000"/>
    <param name="ColumnWidthStackTrace" value="20000"/>
    <param name="DuplicateCount" value="true"/>
</appender>

To use the appender within your application you need to create tables to hold the log information at your database. An example script to create these tables as well as examples of mapping.xml and jdo-config.xml can also be found in

org.castor.tools.log4j
package.

Before you use the logger for the first time you need to initialize CastorJDO.

String JDO_CONF = "/org/castor/tools/log4j/example-jdo-conf.xml";
JDOManager.loadConfiguration(this.getClass().getResource(JDO_CONF).toString());

Thereafter you can use your logger as usual. Log4j will use CastorAppender to write the log information to the database.

LOG.warn("This is a message logged to database");

One additional thing you need to take care of: As CastorAppender does some caching to reduce database operations, you have to tell it to write all cached information to database before you close your application.

CastorAppender.flush();

We also provided a way to extend the information logged to database. For an example extension take a look at LogReferenceExtension and TestCastorAppender classes as well as the example mapping file.

Special getter methods for XML mapping

As part of a field mapping, it is now possible to specify two special methods that will be treated in a non-standard way. If the 'get-method' specified on a field mapping starts with either 'enum' or 'iterate', it will be treated in a way that the collection (container) is only exposed through this 'enumeration'/'iteration' method.

Added new property org.exolab.castor.sax.features-to-disable

To disabled selected features on the XML parser used internally by Castor XML, please use the new property org.exolab.castor.sax.features-to-disable as shown below

# Comma separated list of SAX 2 features that should be disabled
# for the default parser.
#org.exolab.castor.sax.features-to-disable
                

Added new CTF test case type to test source generation only, especially useful for regression tests of exceptions thrown during source generation

For a sample and for the place to add future test cases for the Master Test Suite, see the directory tree src/tetsts/xml/MasterTestSuite/sourcegenerator/generationOnly, although regression tests should be added to the regression suite


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
164520061022Werner GuttmannWerner Guttmann Fixed problem with incorrect handling of elememt references to global elements within complex type definitions during code generation.
Reporter: Werner Guttmann
BugXML
164320061020Edward KunsEdward Kuns Remove new tree of tests of known bugs (reverse changes of CASTOR-1640)
Reporter: Edward Kuns
BugXML
164120061019Edward KunsEdward Kuns Enhance UNIX CTFRun.sh script
Reporter: Edward Kuns
Enh.XML
163720061019Edward KunsEdward Kuns Update to checkstyle rule set
Reporter: Edward Kuns
Enh.All
164020061019Edward KunsEdward Kuns Add new tree of tests of known bugs
Reporter: Edward Kuns
Enh.XML
163920061019Edward KunsEdward Kuns Refactor CTF test-with-reference-document
Reporter: Edward Kuns
Enh.All
158120061019Holger WestRalf Joachim Added database appender for log4j through CastorJDO.
Reporter: Holger West
Enh.JDO
163820061019Edward KunsEdward Kuns Remove trailing blanks in release notes
Reporter: Edward Kuns
Enh.All
163620061019Edward KunsEdward Kuns Checkstyle-based corrections in javasource
Reporter: Edward Kuns
Enh.XML
161220061018Edward KunsEdward Kuns Update CTF documentation for new test case type
Reporter: Edward Kuns
BugXML
122920061018Werner GuttmannWerner Guttmann Fixed problem with code generator ignoring nillable attribute for element references.
Reporter: Werner Guttmann
BugXML
163520061018Werner GuttmannWerner Guttmann Fixed problem with generation of incorrect validation code for schema type 'gMonthDay'
Reporter: Werner Guttmann
BugXML
163420061018Edward KunsEdward Kuns Trivial checkstyle-based corrections
Reporter: Edward Kuns
BugAll
163120061018Werner GuttmannWerner Guttmann Added support for XML schema type 'unsignedByte' to XML code generator.
Reporter: Werner Guttmann
Enh.XML
163020061017Werner GuttmannWerner Guttmann Added support for XML schema type 'unsignedShort' to XML code generator.
Reporter: Werner Guttmann
Enh.XML
162920061017Werner GuttmannWerner Guttmann Added support for XML schema type 'unsignedInt' to XML code generator.
Reporter: Werner Guttmann
Enh.XML
160020061017Werner GuttmannWerner Guttmann Fixed problem with incorrect model group naming (and numbering) scheme.
Reporter: Werner Guttmann
BugXML
162720061016Edward KunsEdward Kuns For directory trees, set the test suite name to the directory name.
Reporter: Edward Kuns
Enh.XML
158620061016Ralf JoachimRalf Joachim Fixed error loading mapping whem migrating from 1.0.1 to 1.0.3.
Reporter: M.-Leander Reimer
BugXML
162620061016Werner GuttmannWerner Guttmann Added Code generation sample to HTML documentation
Reporter: Werner Guttmann
Enh.XML
162120061016Ralf JoachimRalf Joachim Backported Castor to Java 1.3 compatibility: JDBC 3.0.
Reporter: Ralf Joachim
Enh.JDO
162520061016Rainer MontagWerner Guttmann Added checks to DateTimeBase.setCentury() for (invalid) years = 0.
Reporter: Rainer Montag
BUgXML
38520061015Edward KunsEdward Kuns Source Generator uses the name "Content" which conflicts with any element named "Content."
Reporter: Edward Kuns
Enh.XML
158420061015Steven DolgRalf Joachim Refactored AbstractMappingLoader.
Reporter: Ralf Joachim
Enh.All
41620061015Lars KloseWerner Guttmann Source generator now overloads resetValues() on XMLFieldHandler for mutli-valued properties.
Reporter: Lars Klose
Enh.XML
48220061015Werner GuttmannWerner Guttmann Source generator now adds is<Property> methods for boolean members.
Reporter: Dean Chalker
Enh.XML
162320061014Edward KunsEdward Kuns Clean up checkstyle complaints in builder
Reporter: Edward Kuns
Enh.XML
155520061012Edward KunsEdward Kuns Correct SRCGEN JavaDoc tags that fail validation
Reporter: Edward Kuns
Enh.XML
20420061012Edward KunsEdward Kuns Invalid Instance Document containing ALL elements of a schema definitions choice is not unmarshallable
Reporter: Edward Kuns
TestXML
161920061012Ralf JoachimRalf Joachim Backported Castor to Java 1.3 compatibility: Exceptions do not support claus.
Reporter: Ralf Joachim
Enh.All
161820061012Ralf JoachimRalf Joachim Backported Castor to Java 1.3 compatibility: JAXP usage at Unmarshaller.
Reporter: Ralf Joachim
Enh.XML
162020061012Ralf JoachimRalf Joachim Backported Castor to Java 1.3 compatibility: unknown methods.
Reporter: Ralf Joachim
Enh.All
58720061010Werner GuttmannWerner Guttmann Fixed problem with default values for date/time types in code generation
Reporter: Jesse
Enh.XML
159720061010Edward KunsEdward Kuns Introduce proper exception handling to source generator
Reporter: Edward Kuns
Enh.XML
111720061009Werner GuttmannWerner Guttmann Fixed problem with setting type of untyped attribute through binding file.
Reporter: Neil Taylor
BugXML
113720061009Werner GuttmannWerner Guttmann Fixed problem with special characters in enumerations
Reporter: Chuck Betts
BugXML
108720061008Werner GuttmannWerner Guttmann Fixed problem with incorrect initialization code for byte arrays.
Reporter: Michael Pliskin
BugXML
118120061008Anton SpaansWerner Guttmann Fixed problem with code generation for attributes that are restricted.
Reporter: Anton Spaans
BugXML
59920061007Edward KunsEdward Kuns UnmarshalHandler doesn't chain exception
Reporter: Jay Dunning
Enh.XML
161320061007Edward KunsEdward Kuns Finish @throws javadoc
Reporter: Edward Kuns
Enh.XML
71620061007Edward KunsEdward Kuns SourceGenerator doesn't correctly generate the .equals() method for base64binary
Reporter: Derek Sayeau
BugXML
160920061006Edward KunsEdward Kuns Implement equals() for AnyNode (already fixed, so adding a regression test case)
Reporter: Derek Sayeau
TestXML
141720061006Edward KunsEdward Kuns hashCode() generation
Reporter: Michele Mazzucco
BugXML
102720061005Edward KunsEdward Kuns demo example of SourceGenerator does not build
Reporter: Brett Wuth
BugXML
160820061005Edward KunsEdward Kuns Split "main" out of SourceGenerator.java
Reporter: Edward Kuns
Enh.XML
160220061005Edward KunsEdward Kuns Add new test case type to read schema only (CASTOR-1602)
Reporter: Edward Kuns
Enh.XML
160720061003Edward KunsEdward Kuns Add regression test for parent issue (Generated classes are not compileable for simpleTypes with list-elements)
Reporter: Edward Kuns
TestXML
122620061003Bertrand MartelWerner Guttmann Fixed problem with type derivation for referenced/included attribute.
Reporter: Bertrand Martel
BugXML
160420061002Edward KunsEdward Kuns Fix two test case failures (one regression, one not).
Reporter: Edward Kuns
BugXML
159320061002M.-Leander ReimerWerner Guttmann Fixed problem with AnyNode not preserving whitespace during unmarshalling.
Reporter: M.-Leander Reimer
BugXML
159120061002Edward KunsWerner Guttmann Cleanup and bug fixes for test framework.
Reporter: Edward Kuns
BugXML
159920061001Werner GuttmannWerner Guttmann Fixed problem with incorrect code generation for element definitions/references pointing to an abstract complex type
Reporter: Werner Guttmann
BugXML
133520061001Werner GuttmannWerner Guttmann Fixed problem with code generated for <xsd:choice> elements with primitive and java.lang.Object types mixed.
Reporter: Martin West
BugXML
159520061001Edward KunsWerner Guttmann Refactored SourceGenerator class, moving parts to separate code artefacts.
Reporter: Edward Kuns
BugXML
158520060930Werner GuttmannWerner Guttmann Added property to disable selected features on SAX2 parser used internally by Castor XML.
Reporter: scud
BugXML
159620060930Edward KunsWerner Guttmann Expanded JMethod.addException() to correctly insert @throws Javadoc.
Reporter: Edward Kuns
BugXML
159420060930Edward KunsWerner Guttmann Added regression test for CASTOR-1580 to CTF regression suite.
Reporter: Edward Kuns
BugXML
158920060930Edward KunsRalf Joachim Fixed ComplexType-DirectAccess test complaining about differences.
Reporter: Edward Kuns
BugXML
159020060929Edward KunsRalf Joachim Source code cleanup at Castor XML test framework.
Reporter: Edward Kuns
Enh.XML
158820060929Edward KunsWerner Guttmann Fixed problem with stack overflow in CTF maste test suite
Reporter: Edward Kuns
BugXML
158320060927Edward KunsRalf Joachim CTF doesn't run properly under Fedora Core Linux.
Reporter: Edward Kuns
BugXML
156620060927Werner GuttmannWerner Guttmann Fixed problem with incorrect generation of unmarshal methods for extensions/ restrictions where extended/restricted type is in an imported schema.
Reporter: Mattias Jiderhamn
BugXML
157420060921Werner GuttmannWerner Guttmann Added '0' and '1' as possible values for setting 'nillable' attribute.
Reporter: Frank Bechstein
BugXML
106020060925Edward KunsWerner Guttmann Fixed problem in SourceGenerator generating multiple @return comments.
Reporter: Jeremy Nix
BugXML
157520060925Ontje LünsdorfWerner Guttmann Added a feature that allows getter methods starting with the prefix 'iterate' to be treated in a way that a collection (container) is only exposed through this 'iteration' method.
Reporter: Ontje Lünsdorf
BugXML
155120060925Steven DolgWerner Guttmann Resolved problem with mapping nested maps.
Reporter: Steven Dolg
BugXML
157820060925Edward KunsWerner Guttmann Thorough build cleanup.
Reporter: Edward Kuns
Enh.XML
157520060922Ontje LünsdorfWerner Guttmann Added a feature that allows getter methods starting with the prefix 'enum' to be treated in a way that a collection (container) is only exposed through this enumeration method.
Reporter: Ontje Lünsdorf
BugXML
154020060921Werner GuttmannWerner Guttmann Fixed problem with new 'org.exolab.castor.builder.javaVersion` when used in a property file that was set by calling SourceGenerator.setDefaultProperties().
Reporter: Edward Kuns
BugXML
156920060921Werner GuttmannWerner Guttmann Refactor JType so that for arrays/collections, there's new sub-types.
Reporter: Werner Guttmann
Enh.XML
156720060920Edward KunsWerner Guttmann Thorough JavaDoc cleanup - part II.
Reporter: Edward Kuns
Enh.XML
156320060919Edward KunsWerner Guttmann Thorough JavaDoc cleanup.
Reporter: Edward Kuns
Enh.XML
130720060918Werner GuttmannWerner Guttmann Fixed problem with special characters as part of <xsd:annotation> elements.
Reporter: Roland Spatzenegger
BugXML
156220060918Edward KunsWerner Guttmann Minor refactoring of the java.exolab.javasource package.
Reporter: Edward Kuns
BugXML
155020060916Werner GuttmannWerner Guttmann Fixed issue with self-sufficiency of XML JAR:
Reporter: Uwe Langbecker
BugXML
156120060916Ralf JoachimRalf Joachim Enabled checkstyle for javasource package and fixed most of the warnings.
Reporter: Ralf Joachim
Enh.XML
155720060916Edward KunsWerner Guttmann Moved java.util.Iterator-specific code from CollectionInfo to CollectionInfoJ2.
Reporter: Edward Kuns
Enh.XML
156020060916Edward KunsRalf Joachim Thorough JavaDoc update for javasource package.
Reporter: Edward Kuns
Enh.XML
155920060916Ralf JoachimRalf Joachim Fixed 90 warnings at generation of API JavaDoc.
Reporter: Ralf Joachim
Enh.All
155820060915Edward KunsRalf Joachim Fixed javadoc package-summary links and added classpath to javadoc build.
Reporter: Edward Kuns
Enh.All
155220060915Steven DolgWerner Guttmann Refactored CollectionInfo* classes, incl. changes to names of methods generated.
Reporter: Steven Dolg
BugXML
155620060915Edward KunsRalf Joachim Correct HTML tags and grammar in package.html files.
Reporter: Edward Kuns
Enh.All
154920060914Paul PhilionWerner Guttmann Added cause exception to IllegalStateException created in FieldHandlerImpl.getValue().
Reporter: Paul Philion
BugXML
139220060912Yegor BorovikovWerner Guttmann Castor XML code generator does not overwrite existing '.castor.cdr' files anymore.
Reporter: Yegor Borovikov
BugXML
154420060910Werner GuttmannWerner Guttmann Castor XML code generator does not overwrite existing '.castor.cdr' files anymore.
Reporter: Edward Kuns
BugXML
154320060909Steven DolgWerner Guttmann Fixed problem with attributes named 'class' (where wrongly named getter/setter had been generated)
Reporter: Melanie Courtot
BugXML
154320060909Edward KunsWerner Guttmann Added new getIterator() method to Java classes generated for J2 collection types.
Reporter: Edward Kuns
BugXML
154320060909Edward KunsWerner Guttmann Fixed problem with incorrent code generation related to the use of primitive types and generics.
Reporter: Edward Kuns
BugXML



Release 1.0.3


Description:Maintenance release for Castor 1.0
released:September 7, 2006
managed by:Werner Guttmann

Additions

Support for Progress

Support for Progress has been added. For initial information about configuration of Castor JDO for the use with Progress, please see src/tests/jdo/progress.xml.

New unmarshal() methods for Unmarshaller

In addition to the already existing methods, two new unmarshal() methods have been added to Unmarshaller, namely ...

-unmarshal(SAXSource)
-unmarshal(DOMSource)

Fixed problems - Overview


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
147820060907Werner GuttmannWerner Guttmann Fixed problem with 'staticness' of group naming scheme.
Reporter: Stefan Flick
BugXML
153720060904Werner GuttmannWerner Guttmann Added HOW-TO document for mapping lists at the root level
Reporter: Werner Guttmann
Enh.XML
149420060901Le Duc BaoRalf Joachim Fixed inconsistencies between sql types in mapping and ddl scripts of CTF.
Reporter: Le Duc Bao
Enh.JDO
153820060831Steven DolgWerner Guttmann Performance-related refactoring of XMLClassDescriptorResolverImpl.
Reporter: Steven Dolg
Enh.XML
148720060830Gregory BlockWerner Guttmann Fixed minor inconsistency in getting (expired) objects from EHCache.
Reporter: Gregory Block
BugJDO
151220060827Werner GuttmannWerner Guttmann Improved documentation wrt source generator Ant task.
Reporter: Rainer Montag
Enh.XML
150120060824Werner GuttmannWerner Guttmann Fixed problem with ignorance of java-type elements in binding file (for complex elements).
Reporter: Michal Kostrzewa
BugXML
150820060824Phil WebbWerner Guttmann Various speed improvementzs related to inheritance search.
Reporter: Phil Webb
BugXML
148920060824Werner GuttmannWerner Guttmann Added support for abstract <complexType> definitions.
Reporter: James MacDonald
BugXML
147120060819Werner GuttmannWerner Guttmann Added support for Progress.
Reporter: Victor Manuel Iniestra Alvarez
Enh.JDOL
150920060823Werner GuttmannWerner Guttmann Refactored Marshaller to allow instantiation through default constructor (setting Writer through setWriter()).
Reporter: Werner Guttmann
Enh.XML
150620060823Emir CausevicWerner Guttmann Restructured mapping syntax for named queries.
Reporter: Werner Guttmann
BugJDO
149320060822Simeon de DiosWerner Guttmann Fixed problem with wrong class names for elements of named <complexType> which are unbounded choice.
Reporter: Simeon de Dios
BugXML
148920060820Werner GuttmannWerner Guttmann Added support for abstract <complexType> definitions.
Reporter: James MacDonald
BugXML
149220060820Werner GuttmannWerner Guttmann Added XML best practice document.
Reporter: Gregory Block
Enh.ALL
150020060818Werner GuttmannWerner Guttmann Fixed problem with including all required class files in XML JAR.
Reporter: Christian Zuckschwerdt
BugALL
149920060818Emir CausevicWerner Guttmann Added support for named queries at the <class> level.
Reporter: Werner Guttmann
Enh.JDO
149520060810Ralf JoachimRalf Joachim Moved successfull XML tests from Regression- to MasterTestSuite.
Reporter: Ralf Joachim
Enh.XML
148820060810Ralf JoachimRalf Joachim Refactored FieldDescriptor.
Reporter: Ralf Joachim
Enh.All



Release 1.0.2


Description:Maintenance release for Castor 1.0
released:June 8, 2006
managed by:Werner Guttmann

Changes

Source generator now supports Java 5.0

The Castor source generator now supports the generation of Java 5.0 compliant classes. The generated code - with the new feature enabled - will make use of the following Java 5.0-specific artefacts:
-Use of parameterized collections, e.g. ArrayList<String>.
-Use of @Override annotations with the generated methods that require it.
-Use of @SupressWarnings with "unused" method parameters on the generated methods that needed it.
-Added "enum" to the list of reserved keywords.

To enable this feature (off by default), please uncomment the following property in your custom castorbuilder.properties file:

# This property specifies whether the sources generated
# should comply with java 1.4 or 5.0; defaults to 1.4
org.exolab.castor.builder.javaVersion=5.0
                

New property in castor.properties

Added new property to castor.properties to disable use of package-based '.castor.xml' files during class resolution selectively, which is enabled by default.

To disable this feature, please uncomment the following property in your custom castor.properties file:

#
# Property specifying whether the ClassDescriptorResolver should (automatically) search for and
# consult with package mapping files (.castor.xml) to retrieve class descriptor information;
# on by default. defaults to true
#
org.exolab.castor.xml.loadPackageMappings=false

Internal handling of idenities

In the past Castor differentiated between single and multiple field identities of persistent objects. For single field identities Castor hold the identitiy object itself while the objects of a multiple field identity where wrapped by an instance of Complex class. This caused various if-then-else constructs to differentiat the 2 representations of identities.

With the refactoring identities are now always wrapped by an instance of Identity class being it a single or a multiple fields one. This resulted in much cleaner code at various areas and in addition we could improve type checking by declaring lots of properties and parameters to be of Identity class instead of simply Object.

While we could manage to be backward compatible for all methods that gets an identity passed (e.g.

Database.load(Class, Object)
) this was not possible for
Database.getIdentity(Object)
. Instead of the single field identity or an instance of Complex class for multiple field identities it now always returns an instance of Identity class.

You have to be aware that you need to adapt your code to get things working as before if you use

Database.getIdentity(Object)
method.

Creation of MappingLoaders

As of release 1.0.2 the MappingLoader implementations need to be configured in castor.properties file. While this also allows to specify external MappingLoader implementations to be used by Castor, it now is also required to specify the 2 internal implementations in this file.

#
# MappingLoader implementations
#
org.castor.mapping.Loaders=\
  org.exolab.castor.jdo.engine.JDOMappingLoader,\
  org.exolab.castor.xml.XMLMappingLoader
                

You have to be aware that you need add the new configuration property to you custom castor.properties file.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
148720060803Ralf JoachimRalf Joachim Fixed bug in Castor's EHCache implementation.
Reporter: Gregory Block
BugJDO
148220060802Ralf JoachimWerner Guttmann Fixed problem to source code generator ignoring -nomarshall, -testable options.
Reporter: Ralf Joachim
BugXML
148320060801Ralf JoachimRalf Joachim Fixed NullPointerException at generation of mapping.
Reporter: Ralf Joachim
BugXML
148220060801Werner GuttmannWerner Guttmann Fixed problem related to MapItem class and namespaces.
Reporter: Dmitry Narozhnykh
BugXML
148420060731Ralf JoachimRalf Joachim Seperated responsibilities of AbstractMappingLoader for holding its current state and generation of descriptors.
Reporter: Ralf Joachim
Enh.All
72120060726Werner GuttmannWerner Guttmann Added validation of min/maxLength facets for xs:NMTOKEN
Reporter: Kraemer
BugXML
72120060726Werner GuttmannWerner Guttmann Fixed problem with support for final modifier at the class level during source generation.
Reporter: Derek Sayeau
BugXML
78620060726Werner GuttmannWerner Guttmann Removed unnecessary import statements addition for java.io.* during source generation
Reporter: Daniel Bradby
BugXML
147520060725Werner GuttmannWerner Guttmann Made EmptyEnumerator implement java.io.Serializable.
Reporter: ?
BugJDO
147620060721Dave BrosiusRalf Joachim Removed unnecessary object construction.
Reporter: Dave Brosius
Enh.JDO
147520060713Werner GuttmannWerner Guttmann Added new property to castor.properties to disable use of package-based '.castor.xml' files selectively.
Reporter: Bernard McGourty
Enh.XML
147320060710Ralf JoachimRalf Joachim Added posibility to retrieve ClassDescriptor.
Reporter: Ralf Joachim
Enh.JDO
147020060707David BuschmanWerner Guttmann Added support for Java 5 compatible source code generation.
Reporter: David Buschman
Enh.XML
147220060706Ralf JoachimRalf Joachim Allowed to specify base URI at JDOManager.loadConfiguration().
Reporter: Ralf Joachim
BugJDO
145720060629Werner GuttmannWerner Guttmann Integrate new JDOClassDescriptorResolver with existing Castor JDO code.
Reporter: Werner Guttmann
Enh.JDO
145720060628Werner GuttmannWerner Guttmann Introduce JDO specific ClassDescriptporResolver (and refactor class hierarchy in this area).
Reporter: Werner Guttmann
BugJDO
146520060626Werner GuttmannWerner Guttmann Changed transaction handling semantics in CacheManager.expireCache(Class, Object[]).
Reporter: Werner Guttmann
BugJDO
146420060626Werner GuttmannWerner Guttmann Fixed incorrect use of reflection in JOTMTransactionManagerFactory.
Reporter: Werner Guttmann
BugJDO
146320060626Ralf JoachimRalf Joachim Extract loading of mapping from Mapping into new MappingUnmarshaller.
Reporter: Ralf Joachim
Enh.All
145920060626Dave BrosiusRalf Joachim Removed use of reflective toArray() calls by passing in a properly sized array.
Reporter: Dave Brosius
Enh.All
146020060626Dave BrosiusRalf Joachim Fixed bad boolean test.
Reporter: Dave Brosius
BugXML
146120060626Dave BrosiusRalf Joachim Used local variable instead of refetching it.
Reporter: Dave Brosius
Enh.JDO
146220060626Dave BrosiusRalf Joachim Moved wrongly placed parenthesis that caused toString() being executed for no reason.
Reporter: Dave Brosius
Enh.XML
145620060624Ralf JoachimRalf Joachim Extracted creation of MappingLoaders from Mapping into new MappingLoaderRegistry.
Reporter: Ralf Joachim
Enh.All
145420060624Werner GuttmannWerner Guttmann Moved code to unmarshal Castor JDO configuration file to JDOConfFactory.
Reporter: Werner Guttmann
Enh.JDO
145020060620Werner GuttmannWerner Guttmann Add getCurrentTransaction() to AbstractDatabaseImpl.
Reporter: Werner Guttmann
Enh.JDO
143520060617Ralf JoachimRalf Joachim Refactored internal handling of identities.
Reporter: Ralf Joachim
Enh.JDO
144920060616Werner GuttmannWerner Guttmann Re-generated class files from jdo-conf.xsd
Reporter: Werner Guttmann
Enh.JDO
48020060614Michal StochmialekWerner Guttmann Avoid generation of unnecessary import statements in generated source.
Reporter: Michal Stochmialek
BugXML
143420060614Werner GuttmannWerner Guttmann Improve test coverage for 'auto-store' attribute
Reporter: Werner Guttmann
Enh.JDO



Release 1.0.1


Description:Maintenance release for Castor 1.0
released:June 8, 2006
managed by:Werner Guttmann

Development environment

On April 14. 2006 we have migrated Castor source repository from CVS to SVN. At the moment we still provide read only access to CVS but this does not reflect commits to SVN after the migration. The read only access to CVS is intended for you to create patches of your current work and move it over to SVN. Be aware that we will switch off CVS soon.

For details about SVN access please have a look at: SVN/JIRA.

Additions

Added support for ehCache

By specifing

<cache-type type="ehcache"/>

at class mapping you can now use ehCache with Castor JDO. As of ehcache 1.2, ehcache can be used as a distributed cache.

Added support for Gigaspaces

By specifing

<cache-type type="gigaspaces"/>

at class mapping you can now use Gigaspaces with Castor JDO, supporting all possible use scenarios of Gigaspaces (local cache, remote cache, local master cache, distributed cache, partitions) in a flexible way.

Changes

ANSI-SQL-92 compliance for MS SQLServer

Refactored the SQLServer-specific classes to support ANSI-SQL-92 compliant syntax in addition to the existing code base.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
117220060608Werner GuttmannWerner Guttmann Added support for ANSI-92 compliance to SQLServer persistence classes.
Reporter: Werner Guttmann
Enh.JDO
143620060608Werner GuttmannWerner Guttmann Added cache implementation for Gigaspaces (cache-based).
Reporter: Werner Guttmann
Enh.JDO
144420060606Martin FuchsMartin Fuchs Fixed documentation of OQL OFFSET clause usage.
Reporter: Martin Fuchs
BugJDO
144320060603Ralf JoachimRalf Joachim Fixed various compiler warnings mainly in tc7x and tc20x tests of CTF.
Reporter: Ralf Joachim
Enh.All
139820060603Ralf JoachimRalf Joachim Fixed 212 unused private methods, private fields, or local variables compiler warnings.
Reporter: Henk van Voorthujsen
Enh.All
144120060603Ralf JoachimRalf Joachim Fixed 206 whitespace after and whitespace around compiler warnings.
Reporter: Ralf Joachim
Enh.All
144020060601Werner GuttmannWerner Guttmann Fixed Configuration.loadProperties(String,String) to close resource streams after usage.
Reporter: Alexander Soklakov
BugXML
138420060530Werner GuttmannWerner Guttmann Fixed problem with NPE related to field mappings without type declaration..
Reporter: Manjuka Soysa
BugXML
142920060523Werner GuttmannWerner Guttmann Fixed ClassNotFoundException related to using a custom XMLNaming scheme.
Reporter: Neutrolio
BugXML
143920060529Werner GuttmannWerner Guttmann Added test case for Castor JDO CTF to test database.isPersistent().
Reporter: Werner Guttmann
Enh.JDO
143220060528Pawel PeszWerner Guttmann Fixed problem with numbered parameters in SQL pass-through queries.
Reporter: Pawel Pesz
BugJDO
142020060524Werner GuttmannWerner Guttmann Added support for unmarshalling attributes of type byte[].
Reporter: Marcin Cinik
BugXML
69020060524Doug BerklandWerner Guttmann Fixed problem with location attribute in the context of extend hierarchies.
Reporter: Doug Berkland
BugXML
141520060523Werner GuttmannWerner Guttmann Upgraded Jakarta commons logging to 1.1.
Reporter: Werner Guttmann
EnhGeneral
142020060523Werner GuttmannWerner Guttmann Fixed a problem with the application of naming conventions in introspection mode.
Reporter: Sumit Chawla
BugXML
142420060523Werner GuttmannWerner Guttmann Renamed tables of CTF tests in ctf.jdo.tc7x package.
Reporter: Ralf Joachim
Enh.JDO
142320060508Werner GuttmannWerner Guttmann Moved the remaining 10 CTF tests (JDO) to new ctf.jdo.tc7x package.
Reporter: Werner Guttmann
Enh.JDO
140820060507Werner GuttmannWerner Guttmann Added improved tests for self-referential relations.
Reporter: Werner Guttmann
Enh.JDO
141320060505Werner GuttmannWerner Guttmann Added support for ehcache as Castor (performance) cache.
Reporter: Werner Guttmann
Enh.JDO
140620060429David GreenRalf Joachim Fixed EmptyStackException at SAX2ANY.
Reporter: David Green
BugXML
131820060427Raúl Sanz de Acedo PérezRalf Joachim Allowed to separately en-/disable logging of executed SQL statments.
Reporter: Raúl Sanz de Acedo Pérez
Enh.JDO
141420060427Ralf JoachimRalf Joachim Upgraded log4j from 1.2.8 to 1.2.13.
Reporter: Ralf Joachim
Enh.All
140920060427Werner GuttmannWerner Guttmann Fixed problem with read-only lazy-loaded 1:1 relations.
Reporter: Jon Wilmoth
BugJDO
141220060426Martin FuchsMartin Fuchs Remove dependency to Adaptx and Xerces from the documentation build step.
Reporter: Martin Fuchs
Enh.General
141120060426Ralf JoachimRalf Joachim Replaced Object[] parameters at SQLEngine by ProposedEntity.
Reporter: Ralf Joachim
Enh.JDO
138220060426David BuschmanWerner Guttmann Fixed wrongly coded boolean expressions.
Reporter: David Buschman
BugXML
141020060426Martin FuchsWerner Guttmann Fixed broken links to cvs.html (replaced with scm.html).
Reporter: Martin Fuchs
Enh.All
139720060425Henk van VoorthujsenRalf Joachim Fixed compiler warnings: 212 unnecessary else clauses.
Reporter: Henk van Voorthujsen
Enh.All
140720060425Ralf JoachimRalf Joachim Use ClassMolder.getLockEngine() instead of passing around LockEngine everywhere.
Reporter: Ralf Joachim
Enh.JDO
140220060413Werner GuttmannWerner Guttmann Improved exception reporting for various JDO-related exceptions.
Reporter: Yegor Borovikov
BugJDO
140320060422Werner GuttmannWerner Guttmann Fixed documentation for 'sortedset' collection type in the JDO mapping section.
Reporter: Artur Brinkmann
BugJDO
138020060416Ralf JoachimRalf Joachim Migrated Castor repository from CVS to SVN.
Reporter: Ralf Joachim
Enh.All
140120060414Henk van VoorthujsenRalf Joachim Added project specific settings for use with Eclipse.
Reporter: Henk van Voorthujsen
Enh.All
139520060414Henk van VoorthujsenRalf Joachim Fixed compiler warnings: 268 unused imports.
Reporter: Henk van Voorthujsen
Enh.All
138820060413Werner GuttmannWerner Guttmann Refactored ClassMolder.update() to complete transfer to strategy pattern.
Reporter: Werner Guttmann
BugJDO
139420060413Henk van VoorthujsenRalf Joachim Fixed compiler warnings: 104 instance of instance access to static fields/methods.
Reporter: Henk van Voorthujsen
Enh.All
139320060413Henk van VoorthujsenRalf Joachim Fixed compiler warnings: 103 unnecessary casts.
Reporter: Henk van Voorthujsen
Enh.All
139120060412Ralf JoachimRalf Joachim Upgrad checkstyle configuration from version 3.5 to 4.1.0beta3.
Reporter: Ralf Joachim
Enh.All
137020060411Werner GuttmannWerner Guttmann Refactored ProposedObject (and renamed it to ProposedEntity).
Reporter: Werner Guttmann
BugJDO
135520060411Werner GuttmannWerner Guttmann Fixed problem related to lazy loading objects part of an 1:1 relation.
Reporter: Jon Wilmoth
BugJDO
137920060411Werner GuttmannWerner Guttmann Fixed problem related to loading object hierarchies with access mode DB_LOCKED.
Reporter: Ralf Joachim
BugJDO
138920060411Ralf JoachimRalf Joachim Replaced org.exolab.castor.util.Messages by org.castor.util.Messages.
Reporter: Ralf Joachim
Enh.All
138720060410Henk van VoorthujsenWerner Guttmann Removed postgreSQL JAR from Eclipse templates
Reporter: Henk van Voorthujsen
BugJDO
138620060408Ralf JoachimRalf Joachim Extracted all keys of JDO properties into org.castor.util.ConfigKeys.
Reporter: Ralf Joachim
Enh.JDO
138520060408Ralf JoachimRalf Joachim Removed dependecy of JDO on org.exolab.castor.util.LocalConfiguration.
Reporter: Ralf Joachim
Enh.JDO
138120060415Ralf JoachimRalf Joachim Removed org.exolab.castor.util.Logger.
Reporter: Ralf Joachim
Enh.All



Release 1.0


Description:New and on-going development
released:April 6, 2006
managed by:Werner Guttmann

Requirements

Introduced Java 1.4 as a dependecy

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.


Bug Fixes And Issues Addressed
IdDateFixed byCommitted by DescriptionTypeProjectModule
137120060405Hristo GanevWerner Guttmann Fixed problem in SchemaWriter related to annotations.
Reporter: Hristo Ganev
BugXML
97220060404Ralf JoachimRalf Joachim Fixed lock conflict in TransactionContext.rollback when using dbLocked.
Reporter: Christoph Ernst
BugJDO
137620060401Matt SecoskeRalf Joachim Added HOW-TO Unmarshal raw XML segments into arbitrary types.
Reporter: Matt Secoske
Enh.XML
103920060330Andrew MayRalf Joachim Fixed Castor being unable to find FieldDescriptor when using auto-naming with location.
Reporter: Daniel Dyer
BugXML
134620060330Barbara PrechtlRalf Joachim Fixed notifyPropertyChangeListeners not being called when bound properties is set true.
Reporter: Barbara Prechtl
BugXML
134020060330Barbara PrechtlRalf Joachim Fixed unmarshaller error with generated code when using groups.
Reporter: Barbara Prechtl
BugXML
116420060329Ralf JoachimRalf Joachim Refactored CTF-JDO tests into subdirectories (part 3).
Reporter: Ralf Joachim
Enh.JDO

For all the releases prior to 1.0, the release notes can be found at here.

 
   
  
   
 


Copyright © 1999-2005 ExoLab Group, Intalio Inc., and Contributors. All rights reserved.
 
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.