1) i) 
 Your formating on the Class names seems a little off.
    ii)  In PLSQLargument why do you have users 
pass in a Type then create the wrapper?  If the user has to know the type 
they should create the wrappers unless the wrappers will only ever be used 
internally?
    iii) The 'if' statement in PLSQLargument is a lot 
more complex then it need to be. try :
        if 
(databaseType.isComplexDatabaseType()) 
{
            
databaseTypeWrapper = new 
ComplexPLSQLTypeWrapper(databaseType);
        
} else if (databaseType.isJDBCType()) 
{
            
databaseTypeWrapper = new 
JDBCTypeWrapper(databaseType);
        } 
else{
            
databaseTypeWrapper = new 
SimplePLSQLTypeWrapper(databaseType);
        
}
     iv)  Why is PLSQLargument not 
polymorphic?  Seems it would be more intuitive to have a heirarchy of 
PLSQLarguments then have a heirarchy of types.
 
2) Why are 
you creating a custom Class Extractor method?  a QName inheritance policy 
should provide this functionality for 
you.
 
3) buildPLSQLTypeWrapperDescriptor() : Wrapper Mappings 
:attribute accessor override : Seems very strange that you would be preventing 
TopLink from reading and populating a value that you are writing out?  This 
is most likely to support the custom Class Extractor Method from 
above?
 
--Gordon
 
  
The patch being checked in 
  for bug 211611 is attached at the link below.
   https://bugs.eclipse.org/bugs/show_bug.cgi?id=211611
There 
  are actually 2 patches - the first for the changes to eclipselink.core, the 
  second for new tests
(ported over from ADE: tltest/tsrc/dbws/nonJDBC, 
  tltest/tsrc/dbws/plsqlrecord)
The changes have been reviewed by Blaise 
  and Doug; however, since there are changes to the
Project XML schema, I 
  would like someone from the ORM team to give it a (+1) vote before
I commit 
  the changes.
  -- 
 Mike Norman 
  | Principal Software Designer | 613.288.4638
Mike Norman 
  | Principal Software Designer | 613.288.4638
Oracle Server Technologies | 
  TopLink Product
45 O'Connor Street, Suite 400 | Ottawa, ON K1P 1A4 | (fax) 
  613.238.2818