File Browser for commands API
Created by: osbornjd
Summary
This PR introduces a file browsing API within the Commands API, in reference to issue 413. The FileBrowser
is designed to work in hand with the IFileHandler
class. Tests are introduced that build a directory/file structure underneath a new directory, and then look for and confirm that the FileBrowser
returns the files/directories that are created (depending on the test).
Design
A FileBrowser
interface is introduced, from which a local and remote FileBrowser
implement from. These subclasses contain the logic for the file browsing API on the local or remote host. They are called from the FileHandler like the other abstract IFileHandler
classes, for example, supposing you have an object handler
of type FileHandler
ArrayList<String> files = handler.listFiles("/some/top/directory");
The function returns a vector of strings containing the paths of all of the files below the given directory. Similarly, one could ask for the directories by calling
ArrayList<String> directories = handler.listDirectories("/some/top/directory");
to be given the directories underneath the given top directory.