RFR: javax.xml.transform: Using ServiceLoader to load JAXP stream factories (7169894: JAXP Plugability Layer: using service loader) (original) (raw)

Daniel Fuchs daniel.fuchs at oracle.com
Wed Dec 19 14:34:37 UTC 2012


Hi,

Please find below an updated webrev for the javax.xml.transform package, taking into account Mandy's & Joe's comments - namely:

  1. Fixed call to creationMethod.invoke.

  2. Got rid of the 4 args FactoryFinder.newInstance method.

  3. Got rid of the useBSClsLoader which was always passed as 'false'. (thanks Mandy!)

<http://cr.openjdk.java.net/~dfuchs/JDK-7169894/javax.xml.transform/webrev.01/>

-- daniel

On 12/18/12 11:02 PM, Daniel Fuchs wrote:

On 12/18/12 9:06 PM, Mandy Chung wrote:

In FactoryFinder.newInstanceNoServiceLoader method, L223, 226 - NoSuchMethodException will be thrown if such method doesn't exist. creationMethod will not be null. Thanks - yes - you're right of course - no need to check for null... L236 - this change is not needed, right? The method is a static no-arg method. You passed an additional argument creationMethod as the first parameter although it's harmless as it's ignored. Oops - my bad. That's a mistake - I did too many successive changes - should be creationMethod.invoke(null) of course. And my tests didn't even catch it!

A minor comment: 151 static T newInstance(Class type, String className, ClassLoader cl, boolean doFallback) 152 throws TransformerFactoryConfigurationError 153 { 154 return newInstance(type, className, cl, doFallback, false, false); 155 } The FactoryFinder.newInstance method 4-argument version is only called by TransformerFactory.newInstance(String factoryClassName, ClassLoader classLoader). Perhaps you can clean this up TransformerFactory to call the Factory.newInstance method 6-argument version. 3 successive boolean parameters... I hate that ;-) Yes I think I can do this cleanup... Thanks Mandy, -- daniel

Thanks Mandy



More information about the core-libs-dev mailing list