All,
  First, I'm not proposing any changes for 5.2.4 (many thanks PJ for
running the release!).

  In looking at DirectoryNode's getEntry, I see this:

@Override
public Entry getEntry(final String name) throws FileNotFoundException {
    Entry rval = null;

    if (name != null) {
        rval = _byname.get(name);
    }
    if (rval == null) {
        // throw more useful exceptions for known wrong file-extensions
        if(_byname.containsKey("Workbook")) {
            throw new IllegalArgumentException("The document is really
a XLS file");
        } else if(_byname.containsKey("PowerPoint Document")) {
            throw new IllegalArgumentException("The document is really
a PPT file");
        } else if(_byname.containsKey("VisioDocument")) {
            throw new IllegalArgumentException("The document is really
a VSD file");
        }

        // either a null name was given, or there is no such name
        throw new FileNotFoundException("no such entry: \"" + name
                + "\", had: " + _byname.keySet());
    }
    return rval;
}

I blindly copied this logic into getEntryCaseInsenstive.  Does anyone
remember/know how the IllegalArgumentExceptions are more useful than
the FNFE?

If this is a general DirectoryNode for OLE2, shouldn't an fnfe be the
right answer no matter whether its a ppt or xls or vsd?

Thank you!

Best,

            Tim

Reply via email to