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
Oracle Server Technologies |
TopLink Product
45 O'Connor Street, Suite 400 | Ottawa, ON K1P 1A4 | (fax)
613.238.2818