Class WebUiPageTree

java.lang.Object
javax.ws.rs.core.Application
org.glassfish.jersey.server.ResourceConfig
org.apache.drill.yarn.appMaster.http.PageTree
org.apache.drill.yarn.appMaster.http.WebUiPageTree
All Implemented Interfaces:
javax.ws.rs.core.Configurable<org.glassfish.jersey.server.ResourceConfig>, javax.ws.rs.core.Configuration, org.glassfish.jersey.ExtendedConfig, org.glassfish.jersey.server.ServerConfig

public class WebUiPageTree extends PageTree
The Drill AM web UI. The format is highly compact. We use javax.ws.rs to mark up a Pojo with page path, permissions and HTTP methods. The ADMIN_ROLE is reused from Drill's web UI.

In general, all pages require admin role, except for two: the login page and the redirect page which the YARN web UI follows to start the AM UI.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Passes information to the acknowledgement page.
    static class 
    Displays a warning page to ask the user if they want to cancel a Drillbit.
    static class 
    Display the configuration page which displays the contents of DoY and selected Drill config as name/value pairs.
    static class 
    Passes information to the confirmation page.
    static class 
    Displays the list of Drillbits showing details for each Drillbit.
    static class 
    Displays a history of completed tasks which indicates failed or cancelled Drillbits.
    static class 
    Pages, adapted from Drill, that display the login and logout pages.
    static class 
    Page that lets the admin change the cluster size or shut down the cluster.
    static class 
    DoY provides a link to YARN to display the AM UI.
    static class 
    Confirm that the user wants to resize the cluster.
    static class 
    Main DoY page that displays cluster status, and the status of the resource groups.
    static class 
    Confirmation page when the admin asks to stop the cluster.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Build the pages for the Web UI using Freemarker to implement the MVC mechanism.
  • Method Summary

    Methods inherited from class org.apache.drill.yarn.appMaster.http.PageTree

    toMapModel, toModel, toModel

    Methods inherited from class org.glassfish.jersey.server.ResourceConfig

    addProperties, files, files, forApplication, forApplicationClass, forApplicationClass, getApplication, getApplicationName, getClasses, getClassLoader, getConfiguration, getContracts, getInstances, getProperties, getProperty, getPropertyNames, getResources, getRuntimeType, getSingletons, isEnabled, isEnabled, isProperty, isRegistered, isRegistered, packages, packages, packages, property, register, register, register, register, register, register, register, register, registerClasses, registerClasses, registerFinder, registerInstances, registerInstances, registerResources, registerResources, setApplicationName, setClassLoader, setProperties

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • WebUiPageTree

      public WebUiPageTree(Dispatcher dispatcher)
      Build the pages for the Web UI using Freemarker to implement the MVC mechanism. This class builds on a rather complex mechanism; understand that to understand what the lines of code below are doing.
      Parameters:
      dispatcher - the DoY AM dispatcher that receives requests for information about, or requests to change the state of, the Drill clutser