com.ibm.websphere.management.cmdframework.provider

Class AbstractAdminCommand

  • java.lang.Object
    • org.eclipse.emf.common.command.AbstractCommand
      • com.ibm.websphere.management.cmdframework.provider.AbstractAdminCommand
  • All Implemented Interfaces:
    AdminCommand, org.eclipse.emf.common.command.Command
    Direct Known Subclasses:
    AbstractCommandStep, AbstractTaskCommand, SimpleAdminCommand


    public abstract class AbstractAdminCommand
    extends org.eclipse.emf.common.command.AbstractCommand
    implements AdminCommand
    The class is the base class for any admin command implementation. Any specific admin command implementation should derive from this class and only override the methods that javadoc recommends to override.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class and Description
      class  AbstractAdminCommand.CmdNotificationListener 
      • Nested classes/interfaces inherited from class org.eclipse.emf.common.command.AbstractCommand

        org.eclipse.emf.common.command.AbstractCommand.NonDirtying
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String ASYNC_CUSTOM_TAG 
      protected com.ibm.ws.management.cmdframework.impl.TaskCommandSession asyncCmdSession 
      protected java.lang.Integer cmdMgrType 
      protected com.ibm.websphere.management.cmdframework.provider.CmdNotificationHandler cnh 
      static java.lang.String DYNAMIC_CUSTOM_TAG 
      protected java.util.HashMap<java.lang.Integer,java.util.Collection<java.lang.String>> listSetParamsTable 
      static java.lang.String PRIVATE_CUSTOM_TAG 
      • Fields inherited from class org.eclipse.emf.common.command.AbstractCommand

        description, isExecutable, isPrepared, label
    • Constructor Summary

      Constructors 
      Constructor and Description
      AbstractAdminCommand(com.ibm.websphere.management.cmdframework.commanddata.CommandData inCommandData)
      Constructs an instance of admin command based on its command data
      AbstractAdminCommand(com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata metadata) 
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      void cleanupUploadedFiles() 
      protected org.eclipse.emf.ecore.EObject createParamEObject()
      Create an EObject to store the command's parameter values.
      com.ibm.websphere.management.cmdframework.commandmetadata.ParameterMetadata createParameterMetadata(java.lang.String pmName, java.util.Hashtable featureList)
      Create a ParameterMetadata object.
      abstract void execute()
      Defines the execution logic of command.
      void execute(CommandHistory cmdHistory)
      Executes the command and puts the command data into the command history.
      java.lang.String generateScript(java.lang.String lang)
      Generates the corresponding wsadmin script for the specified scripting language.
      java.lang.Object[] getChoices(java.lang.String paramName)
      Provides a default implement for the method which always returns null.
      com.ibm.websphere.management.cmdframework.provider.CmdNotificationHandler getCmdHandler()
      Get the handler which was set to handle command notifications
      java.lang.Integer getCmdMgrType() 
      protected com.ibm.websphere.management.cmdframework.commanddata.CommandData getCommandData() 
      com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata getCommandMetadata()
      Returns the meta data for the command.
      static com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata getCommandMetadata(java.lang.String cmdName) 
      CommandResult getCommandResult()
      Return a more user friendly version of command result.
      com.ibm.ws.management.cmdframework.impl.TaskCommandSession getCommandSession()
      Creates and returns the unique identifier for this command instance.
      protected ConfigService getConfigService()
      Convenient method to access ConfigService component.
      Session getConfigSession()
      Returns user's config session.
      java.util.Locale getLocale()
      return the user's locale.
      java.lang.String getName()
      Returns a non-localized admin command name.
      java.lang.Object getOrigParameterValue(java.lang.String paramName)
      Gets the original parameter value for the UploadFile or DownloadFile parameter.
      java.lang.Object getParameter(java.lang.String parameterName)
      Gets the parameter value for the specified parameter.
      protected java.lang.Object getParameter(java.lang.String parameterName, int rowIndex) 
      protected com.ibm.websphere.management.cmdframework.commandmetadata.ParameterMetadata getParameterMetadata(java.lang.String paramName)
      returns the metadata for the specified parameter.
      java.util.Collection getResult()
      Provides a default implementation for this method.
      java.lang.Object getTargetObject()
      Returns the target object of the command.
      java.lang.Object[] getTargetObjectChoices()
      Provides a default implement for the method which always returns null.
      protected com.ibm.websphere.management.cmdframework.commanddata.UserData getUserData()
      Gets the user data for the command data.
      protected com.ibm.websphere.management.cmdframework.commanddata.CommandData initCommandData()
      Construct proper type of command data instance.
      protected void initializeParameter(java.lang.String paramName, java.lang.Object value) 
      protected void initializeParameter(java.lang.String paramName, java.lang.Object value, int rowIndex) 
      boolean isAsyncCommand()
      Check if it is an async command, which is specified by command provider.
      boolean isDynamicStepCommand()
      Check if it is a dynamic step command, which is specified by command provider.
      protected boolean isLocalMode() 
      protected boolean isParamReadonly(java.lang.String paramName) 
      boolean isPrivateParameter(java.lang.String paramName)
      Check if it is a private parameter, which is specified by command provider.
      protected boolean isTable() 
      java.util.List listAllParameterName()
      Returns all the parameter names including private one on the ParameterMetadata objects.
      java.util.List listParameterName()
      Returns parameter names that are not private on the ParameterMetadata objects.
      java.util.Collection listSetParams()
      Gets all the command parameters whose value are set.
      protected java.util.Collection listSetParams(int rowIndex) 
      void redo() 
      void resetCommandData(com.ibm.websphere.management.cmdframework.commanddata.CommandData cmdData)
      Resets the command data for the command.
      protected void resetCommandMetadata(com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata newMetadata) 
      void save(java.io.OutputStream outputStream)
      Serializes the command into the specified output stream.
      void sendNotification(CommandNotification cmdNotification) 
      void setCmdHandler(com.ibm.websphere.management.cmdframework.provider.CmdNotificationHandler handler)
      Set the handler to handle command notifications
      void setCmdMgrType(java.lang.Integer cmdMgrType) 
      protected void setCommandMetadata(com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata cmdmetadata) 
      protected void setCommandResult(CommandResult thisResult) 
      void setCommandSession(com.ibm.ws.management.cmdframework.impl.TaskCommandSession session) 
      void setConfigSession(Session session)
      Sets the user's config session.
      protected void setListSetParamsTable(int rowIndex, java.lang.String paramName) 
      void setLocale(java.util.Locale locale)
      Sets the caller's locale.
      void setOrigParameterValue(java.lang.String paramName, java.lang.Object value)
      Sets the original value for the UploadFile or DownloadFile parameter.
      void setParameter(java.lang.String paramName, java.lang.Object value)
      Sets the value for the specified parameter.
      protected void setParameter(java.lang.String paramName, java.lang.Object value, int rowIndex) 
      void setTargetObject(java.lang.Object obj)
      Sets the target object for the command.
      protected void setupListener(java.lang.Object obj) 
      void validate()
      Providers a default implmentation for the method.
      • Methods inherited from class org.eclipse.emf.common.command.AbstractCommand

        canExecute, canUndo, chain, dispose, getAffectedObjects, getDescription, getLabel, prepare, setDescription, setLabel, toString, undo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.eclipse.emf.common.command.Command

        canExecute, canUndo, chain, dispose, getAffectedObjects, getDescription, getLabel, undo
    • Field Detail

      • DYNAMIC_CUSTOM_TAG

        public static final java.lang.String DYNAMIC_CUSTOM_TAG
        See Also:
        Constant Field Values
      • PRIVATE_CUSTOM_TAG

        public static final java.lang.String PRIVATE_CUSTOM_TAG
        See Also:
        Constant Field Values
      • cnh

        protected com.ibm.websphere.management.cmdframework.provider.CmdNotificationHandler cnh
      • asyncCmdSession

        protected com.ibm.ws.management.cmdframework.impl.TaskCommandSession asyncCmdSession
      • cmdMgrType

        protected java.lang.Integer cmdMgrType
      • listSetParamsTable

        protected java.util.HashMap<java.lang.Integer,java.util.Collection<java.lang.String>> listSetParamsTable
    • Constructor Detail

      • AbstractAdminCommand

        public AbstractAdminCommand(com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata metadata)
      • AbstractAdminCommand

        public AbstractAdminCommand(com.ibm.websphere.management.cmdframework.commanddata.CommandData inCommandData)
                             throws CommandNotFoundException
        Constructs an instance of admin command based on its command data
        Parameters:
        inCommandData - the command data for the command
        Throws:
        CommandNotFoundException - if the command is not found.
    • Method Detail

      • initCommandData

        protected com.ibm.websphere.management.cmdframework.commanddata.CommandData initCommandData()
        Construct proper type of command data instance.
        Returns:
        newly created command data instance.
      • getLocale

        public java.util.Locale getLocale()
        Description copied from interface: AdminCommand
        return the user's locale. It may be null if the locale is never set.
        Specified by:
        getLocale in interface AdminCommand
      • setLocale

        public void setLocale(java.util.Locale locale)
        Description copied from interface: AdminCommand
        Sets the caller's locale. If this method is not called, the system default locale will be used.
        Specified by:
        setLocale in interface AdminCommand
        Parameters:
        locale - the caller's Locale.
      • getName

        public java.lang.String getName()
        Description copied from interface: AdminCommand
        Returns a non-localized admin command name.
        Specified by:
        getName in interface AdminCommand
        Returns:
        the name of this admin command.
      • getCommandMetadata

        public com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata getCommandMetadata()
        Description copied from interface: AdminCommand
        Returns the meta data for the command.
        Specified by:
        getCommandMetadata in interface AdminCommand
        Returns:
        the meta data for the command.
      • getCommandData

        protected com.ibm.websphere.management.cmdframework.commanddata.CommandData getCommandData()
      • setCommandMetadata

        protected void setCommandMetadata(com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata cmdmetadata)
      • getTargetObject

        public java.lang.Object getTargetObject()
        Description copied from interface: AdminCommand
        Returns the target object of the command. If the admin command does not contains any target object, this method returns null.
        Specified by:
        getTargetObject in interface AdminCommand
        Returns:
        the target object of the command.
      • listSetParams

        public java.util.Collection listSetParams()
        Description copied from interface: AdminCommand
        Gets all the command parameters whose value are set.
        Specified by:
        listSetParams in interface AdminCommand
        Returns:
        the command parameter names whose value are set.
      • listSetParams

        protected java.util.Collection listSetParams(int rowIndex)
      • isAsyncCommand

        public boolean isAsyncCommand()
        Description copied from interface: AdminCommand
        Check if it is an async command, which is specified by command provider.
        Specified by:
        isAsyncCommand in interface AdminCommand
        Returns:
        true if this command is async; false otherwise.
      • isDynamicStepCommand

        public boolean isDynamicStepCommand()
        Description copied from interface: AdminCommand
        Check if it is a dynamic step command, which is specified by command provider.
        Specified by:
        isDynamicStepCommand in interface AdminCommand
        Returns:
        true if this command has dynamic step; false otherwise.
      • isPrivateParameter

        public boolean isPrivateParameter(java.lang.String paramName)
                                   throws InvalidParameterNameException
        Description copied from interface: AdminCommand
        Check if it is a private parameter, which is specified by command provider.
        Specified by:
        isPrivateParameter in interface AdminCommand
        Parameters:
        paramName - is the name of parameter.
        Returns:
        true if this parameter is private; false otherwise.
        Throws:
        InvalidParameterNameException - if user specified an invalid parameter name.
      • listAllParameterName

        public java.util.List listAllParameterName()
        Description copied from interface: AdminCommand
        Returns all the parameter names including private one on the ParameterMetadata objects.
        Specified by:
        listAllParameterName in interface AdminCommand
        Returns:
        a list of parameter name in String type.
      • listParameterName

        public java.util.List listParameterName()
        Description copied from interface: AdminCommand
        Returns parameter names that are not private on the ParameterMetadata objects.
        Specified by:
        listParameterName in interface AdminCommand
        Returns:
        a list of parameter name in String type.
      • setListSetParamsTable

        protected void setListSetParamsTable(int rowIndex,
                                 java.lang.String paramName)
      • isTable

        protected boolean isTable()
      • getChoices

        public java.lang.Object[] getChoices(java.lang.String paramName)
        Provides a default implement for the method which always returns null.
        Specified by:
        getChoices in interface AdminCommand
        Parameters:
        paramName - the parameter name.
        Returns:
        an array of valid values for the specified parameter.
      • getTargetObjectChoices

        public java.lang.Object[] getTargetObjectChoices()
        Provides a default implement for the method which always returns null.
        Specified by:
        getTargetObjectChoices in interface AdminCommand
        Returns:
        an array of valid values for the specified parameter.
      • validate

        public void validate()
                      throws CommandValidationException
        Providers a default implmentation for the method. The default implementation checks if all the required parameters are specified, also it checks if the types of specified parameter values matches up the type of the parameter data defined in metadata. Extended class may override this method to validate the command parameter further.
        Specified by:
        validate in interface AdminCommand
        Throws:
        CommandValidationException
      • setConfigSession

        public void setConfigSession(Session session)
        Description copied from interface: AdminCommand
        Sets the user's config session. This is only needed for configuration related commands.
        Specified by:
        setConfigSession in interface AdminCommand
        Parameters:
        session - the user's admin session.
      • getConfigSession

        public Session getConfigSession()
        Description copied from interface: AdminCommand
        Returns user's config session. It returns null if the config session is never set.
        Specified by:
        getConfigSession in interface AdminCommand
        Returns:
        user's config session.
      • getCommandResult

        public CommandResult getCommandResult()
        Description copied from interface: AdminCommand
        Return a more user friendly version of command result.
        Specified by:
        getCommandResult in interface AdminCommand
        Returns:
        the result generated from last execution.
      • setCommandResult

        protected void setCommandResult(CommandResult thisResult)
      • save

        public void save(java.io.OutputStream outputStream)
        Description copied from interface: AdminCommand
        Serializes the command into the specified output stream.
        Specified by:
        save in interface AdminCommand
        Parameters:
        outputStream - the output stream that is used to serialize the command data
      • execute

        public abstract void execute()
        Defines the execution logic of command. Any admin command must at least implement this method.
        Specified by:
        execute in interface org.eclipse.emf.common.command.Command
      • execute

        public void execute(CommandHistory cmdHistory)
        Description copied from interface: AdminCommand
        Executes the command and puts the command data into the command history.
        Specified by:
        execute in interface AdminCommand
        Parameters:
        cmdHistory - an implementation of command history
      • setCommandSession

        public void setCommandSession(com.ibm.ws.management.cmdframework.impl.TaskCommandSession session)
      • getCommandSession

        public com.ibm.ws.management.cmdframework.impl.TaskCommandSession getCommandSession()
        Creates and returns the unique identifier for this command instance. Note: getCommandSession is a misnomer because the term "session" really refers to an asynchronous command instance identifier rather than a task command config session. Similarly, TaskComamndSession really is a task command instance ID and has nothing to do with the command's config session.
        Returns:
        a task command identifier
      • setCmdHandler

        public void setCmdHandler(com.ibm.websphere.management.cmdframework.provider.CmdNotificationHandler handler)
        Description copied from interface: AdminCommand
        Set the handler to handle command notifications
        Specified by:
        setCmdHandler in interface AdminCommand
        Parameters:
        handler - handler for command notification
      • getCmdHandler

        public com.ibm.websphere.management.cmdframework.provider.CmdNotificationHandler getCmdHandler()
        Description copied from interface: AdminCommand
        Get the handler which was set to handle command notifications
        Specified by:
        getCmdHandler in interface AdminCommand
        Returns:
        Handler for command notifications. Null if no handler was set.
      • setupListener

        protected void setupListener(java.lang.Object obj)
      • getResult

        public java.util.Collection getResult()
        Provides a default implementation for this method. Returns the result objects if the command execution is successful; returns a Throwable otherwise to indicate the error.
        Specified by:
        getResult in interface org.eclipse.emf.common.command.Command
        Overrides:
        getResult in class org.eclipse.emf.common.command.AbstractCommand
      • redo

        public void redo()
        Specified by:
        redo in interface org.eclipse.emf.common.command.Command
      • cleanupUploadedFiles

        public void cleanupUploadedFiles()
      • createParamEObject

        protected org.eclipse.emf.ecore.EObject createParamEObject()
                                                            throws CommandNotFoundException
        Create an EObject to store the command's parameter values.
        Returns:
        an EObject instance to store the command's parameter values.
        Throws:
        CommandNotFoundException
      • getUserData

        protected com.ibm.websphere.management.cmdframework.commanddata.UserData getUserData()
        Gets the user data for the command data. This method creates the UserData instance for the command data if it is not created before.
        Returns:
        a UserData instance.
      • resetCommandData

        public void resetCommandData(com.ibm.websphere.management.cmdframework.commanddata.CommandData cmdData)
        Resets the command data for the command.
        Parameters:
        cmdData - the new command data.
      • resetCommandMetadata

        protected void resetCommandMetadata(com.ibm.websphere.management.cmdframework.commandmetadata.CommandMetadata newMetadata)
      • generateScript

        public java.lang.String generateScript(java.lang.String lang)
                                        throws CommandException
        Description copied from interface: AdminCommand
        Generates the corresponding wsadmin script for the specified scripting language.
        Specified by:
        generateScript in interface AdminCommand
        Parameters:
        lang - the name of the scripting language.
        Returns:
        wsadmin script for the command.
        Throws:
        CommandException - if user specified scripting language is not supported. XXX todo: more specific exception.
      • getParameterMetadata

        protected com.ibm.websphere.management.cmdframework.commandmetadata.ParameterMetadata getParameterMetadata(java.lang.String paramName)
                                                                                                            throws InvalidParameterNameException
        returns the metadata for the specified parameter.
        Parameters:
        paramName - name of parameter
        Returns:
        ParameterMetadata
        Throws:
        InvalidParameterNameException
      • isLocalMode

        protected boolean isLocalMode()
      • setCmdMgrType

        public void setCmdMgrType(java.lang.Integer cmdMgrType)
      • getCmdMgrType

        public java.lang.Integer getCmdMgrType()
      • getConfigService

        protected ConfigService getConfigService()
        Convenient method to access ConfigService component.
      • createParameterMetadata

        public com.ibm.websphere.management.cmdframework.commandmetadata.ParameterMetadata createParameterMetadata(java.lang.String pmName,
                                                                                                          java.util.Hashtable featureList)
                                                                                                            throws InvalidParameterValueException,
                                                                                                                   InvalidParameterNameException
        Description copied from interface: AdminCommand
        Create a ParameterMetadata object.
        Specified by:
        createParameterMetadata in interface AdminCommand
        Parameters:
        pmName - is the name of ParameterMetadata.
        featureList - is a Hashtable of ParameterMetadata features (attributes) in feature id - value pair.

        See CommandMetadataPackage.PARAMETER_METADATA for list of available features for PARAMETER_METADATA.
        Returns:
        a new object of class ParameterMetadata.
        Throws:
        InvalidParameterValueException - if the feature (attribute) value type is incorrect.
        InvalidParameterNameException - if the feature (attribute) id is invalid.
        See Also:
        BaseMetadata, ParameterMetadata
IBM WebSphere Application ServerTM
Release 9.0