Class BaseCommands

  • All Implemented Interfaces:
    edu.uiuc.ncsa.security.core.Logable, edu.uiuc.ncsa.security.util.cli.Commands, edu.uiuc.ncsa.security.util.cli.ComponentManager, Serializable
    Direct Known Subclasses:
    OA2Commands

    public abstract class BaseCommands
    extends edu.uiuc.ncsa.security.util.cli.ConfigurableCommandsImpl
    implements edu.uiuc.ncsa.security.util.cli.ComponentManager

    Created by Jeff Gaynor
    on 3/27/15 at 1:49 PM

    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class edu.uiuc.ncsa.security.util.cli.ConfigurableCommandsImpl

        edu.uiuc.ncsa.security.util.cli.ConfigurableCommandsImpl.ListOnlyNotification
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String CLIENT_APPROVALS  
      static String CLIENTS  
      protected List<String> components  
      static String COPY  
      protected String logoName  
      String PARSER_COMMAND  
      protected boolean showHeader  
      protected boolean showLogo  
      String TRANSACTION_COMMAND  
      • Fields inherited from class edu.uiuc.ncsa.security.util.cli.ConfigurableCommandsImpl

        COMMENT_START, COMMENT_START_OPTION, CONFIG_FILE_LONG_OPTION, CONFIG_FILE_OPTION, CONFIG_NAME_LONG_OPTION, CONFIG_NAME_OPTION, DEBUG_LONG_OPTION, DEBUG_OPTION, DEFAULT_LOG_FILE, ENV_LONG_OPTION, ENV_OPTION, FILE_SWITCH, HELP_LONG_OPTION, HELP_OPTION, INPUT_OPTION, LOG_FILE_LONG_OPTION, LOG_FILE_OPTION, OUTPUT_OPTION, USE_COMPONENT_LONG_OPTION, USE_COMPONENT_OPTION, VERBOSE_LONG_OPTION, VERBOSE_OPTION
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BaseCommands​(edu.uiuc.ncsa.security.core.util.MyLoggingFacade logger)  
    • Constructor Detail

      • BaseCommands

        protected BaseCommands​(edu.uiuc.ncsa.security.core.util.MyLoggingFacade logger)
    • Method Detail

      • init

        protected void init()
      • listComponents

        public List<String> listComponents()
        Specified by:
        listComponents in interface edu.uiuc.ncsa.security.util.cli.ComponentManager
      • about

        public abstract void about()
      • getTransactionCommands

        protected abstract edu.uiuc.ncsa.security.util.cli.CommonCommands getTransactionCommands()
                                                                                          throws Throwable
        Throws:
        Throwable
      • getComponentName

        public String getComponentName()
        Specified by:
        getComponentName in class edu.uiuc.ncsa.security.util.cli.ConfigurableCommandsImpl
      • start

        protected void start​(String[] args)
                      throws Exception
        command line arguments are
        • -noLogo - do not show logo
        • -noHeader - do not show splash screen with author, version
        • -v = do not suppress startup messages. A lot of 3rd party software spits stuff out and it is normally hidden. This prints it all out.
        • -silent = same as -noLogo and -noHeader
        • -logo name = use the named logo. Standard are Times, Roman (like Times but bigger), OS2 - groovy font, Fraktur - Old German Font or Plain = barebones sans-serif, None = none (same as -noLogo). Times is the default.
        Parameters:
        args -
        Throws:
        Exception
      • getServiceEnvironment

        public org.oa4mp.server.api.ServiceEnvironment getServiceEnvironment()
                                                                      throws Exception
        Throws:
        Exception
      • use

        public boolean use​(edu.uiuc.ncsa.security.util.cli.InputLine inputLine)
                    throws Throwable
        Specified by:
        use in interface edu.uiuc.ncsa.security.util.cli.ComponentManager
        Overrides:
        use in class edu.uiuc.ncsa.security.util.cli.ConfigurableCommandsImpl
        Throws:
        Throwable
      • switchOrRun

        protected boolean switchOrRun​(edu.uiuc.ncsa.security.util.cli.InputLine inputLine,
                                      edu.uiuc.ncsa.security.util.cli.CommonCommands commands)
        Either switch to another component or (if there are arguments) simply run the single command and return. Note that each component has stored state, so these will be run with whatever is in that state.
        Parameters:
        inputLine -
        commands -
        Returns:
      • hasComponent

        protected boolean hasComponent​(String componentName)
      • getNewParserCommands

        public abstract edu.uiuc.ncsa.security.util.cli.ParserCommands getNewParserCommands()
                                                                                     throws Throwable
        Throws:
        Throwable
      • executeComponent

        protected boolean executeComponent()
                                    throws Throwable
        Throws:
        Throwable
      • useHelp

        public void useHelp()
        Specified by:
        useHelp in class edu.uiuc.ncsa.security.util.cli.ConfigurableCommandsImpl