tree 016b21a4385a5a2e0112e4f788de33d9240f96f4
parent bcf43a2241809f26d85cc995c4fb973ac4a9a884
author Brett Johnson <Brett.Michael.Johnson@gmail.com> 1404260616 -0700
committer Brett Johnson <Brett.Michael.Johnson@gmail.com> 1404338893 -0700

Fix b/15667934: Removed files log "The path ... is not a supported file type."

Files that were moved or deleted would log a message claiming the file
is not a supported file type. This is because FsAdaptor.isSupportedPath()
returns false as the non-existent file is neither a directory, nor
a regular file.

Reading the BasicFileAttributes on a non-existent file throws an
exception. So I catch the various not found exceptions, and
moved the call to isSupportedPath() to after the attributes are fetched.

Moving the call to isSupportedPath() down also fixed a broken FsAdaptor
test, so I removed the comment that said the test was invalid.

Next, the method name, isSupportedPath(), and the log message generated
if it returns false were confusing to the user.  Some users thought
that "unsupported file type" was refering to the file contents, like
JPEGs or AIFFs.  In reality, the method was checking that the path was
a regular file or a directory, not a link or a special file (like PRN).
I changed the name of the method to isFileOrFolder() and the modified
the text of the log message to clarify.

Finally, I tuned some of the log levels, choosing INFO or FINE, rather
than WARNING for normal, expected behaviours.

Code Review: https://codereview.appspot.com/110330046/
