tree 4aaa6fc1c98c166b1adb0ab3bde2627b768401a2
parent e6828db5b36e56d6eef5c40f1b9cd3e79f2eb93f
author Greg Trasuk <trasukg@trasuk.com> 1392692739 -0500
committer Greg Trasuk <trasukg@trasuk.com> 1392692739 -0500

Admin Service is able to query all the ApplicationManager objects in the container context for application statuses.

StarterServiceDeployer now creates a working directory for each service and places the File for that directory into the service's configuration as $workingDirectory.

The StartupDeployer has been renamed to FolderBasedAppRunner which is more descriptive of its function.  It scans a folder at startup and runs any application archives that it finds.  Similarly, the ClientAppDeployer has been renamed to CommandLineAppRunner, since it runs the application specified on the command line.

The Context class now supports getting all components that implement a given interface.  This functionality is used to find all the ApplicationManager implementations that can be polled for applications.
