> On Dec 23, 2015, at 2:55 PM, huizhe wang <huizhe.w...@oracle.com> wrote:
> 
> Hi,
> 
> This is an improvement to the new Catalog API on null handling. At the 
> package level, a null argument shall result in NPE. However, an exception was 
> made to the methods in CatalogManager so that they can used conveniently. 
> With this request, we're in favor of consistency over the minor convenience, 
> which means a resolver can no longer be created by:
>         CatalogManager.catalogResolver(null);
> 
> Instead, the following may be used to achieve the same result:
>        CatalogManager.catalogResolver(CatalogFeatures.defaults());
> 
> While path can be empty, it can no longer be null. The following then would 
> also get a NPE:
>        CatalogManager.catalogResolver(CatalogFeatures.defaults(), null);
> 

This change is reasonable and it’s good to pass CatalogFeatures.defaults() 
explicitly rather than special casing null to represent that.

> In consistence with ignoring invalid catalogs as required by the Catalog 
> standard, the statements that required CatalogException when no catalog is 
> found are removed.
> 
> JBS: https://bugs.openjdk.java.net/browse/JDK-8144966
> webrev: http://cr.openjdk.java.net/~joehw/jdk9/8144966/webrev/
> 

 41      * Creates a {@code Catalog} object using the specified feature 
settings and path to
 42      * a catalog file. If the path is empty, 

Nit: should it say “path to one or more catalog files”

What if “paths” is non-empty but all entries are invalid and no catalog file is 
read - will it read the system property?

line 46: s/path argument/paths argument/

Same comment applied to other factory methods.


CatalogImpl.java
 117         if (file.length > 0) {
 - Do you expect file to be null?  If so, NPE will be thrown.  If not, file == 
null in line 125 is not needed.

Otherwise the change looks okay.
Mandy

Reply via email to