Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-dev] Fix for bug 211611 (add deployment xml support for PLSQLStoredProcedureCall)

Gordon Yorke wrote:
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?
The API only exposes the DatabaseType's; the wrappers are an artifact that had to be added in order to support the
'self-mapping' for ComplexPLSQLTypeWrapper (where the XPath is ".")
    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);
        }
'k - I was being paranoid
     iv)  Why is PLSQLargument not polymorphic?  Seems it would be more intuitive to have a heirarchy of PLSQLarguments then have a heirarchy of types.
The PLSQLargument manages the positional requirements (original index, re-computed index) of the DatabaseType's when used as either a simple
argument or a field of a complex argument. No polymorphism is required; however, the DatabaseType hierarchy and its impl's use it extensively.
  2) Why are you creating a custom Class Extractor method?  a QName inheritance policy should provide this functionality for you.
I updated the patch 'diff for core' on the bug, using the QName Inheritance policy as recommended by Blaise.
 
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?
Yes, that was related to the custom Class Extractor - with the QName Inheritance policy, it is no longer required.
 
--Gordon
Diff 85118 attach'd to the bug with above changes

--
Oracle Email Signature Logo
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


Back to the top