com.ibm.etools.iseries.rse.ui.validators
Class ValidatorQSYSCommandString
java.lang.Object
com.ibm.etools.iseries.rse.ui.validators.ValidatorQSYSCommandString
- All Implemented Interfaces:
- IIBMiMessageIDs
- Direct Known Subclasses:
- ValidatorIBMiSBMJOBParms
public class ValidatorQSYSCommandString
- extends Object
- implements IIBMiMessageIDs
This class is used in dialogs that prompt for a command string, or command parameters
This does basic validation, attempting to look only for blatantly obvious errors.
For example, we attempt to check that the string, minus the command start if applicable,
is a sequence of XXX(...) keywords and values.
Fields inherited from interface com.ibm.etools.iseries.rse.ui.IIBMiMessageIDs |
FILEMSG_CREATE_RESOURCE_NOTVISIBLE, MSG_2PHASE_SAVE_NO_COPY, MSG_2PHASE_SAVE_NO_CREATE, MSG_2PHASE_SAVE_NO_DELETE, MSG_2PHASE_SAVE_NO_UPLOAD, MSG_ASPDEVNAME_EMPTY, MSG_ASPDEVNAME_NOTVALID, MSG_AUTLNAME_EMPTY, MSG_AUTLNAME_NOTVALID, MSG_CANNOT_POSITION_TO_LINE, MSG_CCSID_EMPTY, MSG_CCSID_NOTVALID, MSG_CMD_COMPLETED, MSG_CMD_DONEINTJOB, MSG_CMD_INTJOB_BUSY, MSG_CMD_MSGSNOTAVAIL, MSG_CMD_NO_CONNECTION, MSG_CMD_NO_INTJOB, MSG_CMD_NOMSGHELP, MSG_CMD_NOMSGS, MSG_CMD_NOTRUN, MSG_CMD_SBMTOINTJOB, MSG_CMD_SUBMITTED, MSG_CMDNAME_EMPTY, MSG_CMDNAME_NOTVALID, MSG_COMM_CACHE_NOT_AVAILABLE, MSG_COMM_CANNOT_FIND_PGM, MSG_COMM_CANNOT_FIND_SRVPGM, MSG_COMM_CANNOT_START_DEBUG_ROUTER, MSG_COMM_CANNOT_START_DEBUG_ROUTER_PORT, MSG_COMM_CANNOT_START_DEBUG_ROUTER_STARTED, MSG_COMM_CANNOT_START_RAC, MSG_COMM_CANNOT_START_SERVER, MSG_COMM_CANNOT_STOP_DEBUG_ROUTER, MSG_COMM_CANNOT_STOP_RAC, MSG_COMM_CANNOT_STOP_SERVER, MSG_COMM_CODE_AUTHORITY, MSG_COMM_CODE_MUSTCLOSE, MSG_COMM_CODE_REG_ERROR, MSG_COMM_CONNECTION_ERROR, MSG_COMM_CONSOLE_IMPORT_CHOOSE, MSG_COMM_CONSOLE_IMPORT_CODESERVER_XML_PARSE_ERROR, MSG_COMM_CONSOLE_IMPORT_CONNECTION_NAME_EXISTS, MSG_COMM_CONSOLE_IMPORT_FVDCSEC_PARSE_ERROR, MSG_COMM_CONSOLE_IMPORT_FVDCSEC_READ_ERROR, MSG_COMM_CONSOLE_IMPORT_FVDCTCP_ACCESS_ERROR, MSG_COMM_CONSOLE_IMPORT_FVDCTCP_NO_FILE, MSG_COMM_CONSOLE_IMPORT_FVDCTCP_READ_ERROR, MSG_COMM_CONSOLE_IMPORT_IMPORT_ERROR, MSG_COMM_CONSOLE_IMPORT_LIBRARY_XML_READ_ERROR, MSG_COMM_CONSOLE_IMPORT_NO_PROFILE_ERROR, MSG_COMM_CONSOLE_IMPORT_SUMMARY, MSG_COMM_ERROR_BIND, MSG_COMM_ERROR_CLIENT_SECURITY, MSG_COMM_ERROR_JDK_MISSING, MSG_COMM_ERROR_RSESERVER_MISSING, MSG_COMM_ERROR_SERVER_SECURITY, MSG_COMM_GENERAL_IO_ERROR, MSG_COMM_HOST_PTF_MISSING, MSG_COMM_HOSTSVR_NOT_STARTED, MSG_COMM_IJOB_BUSY, MSG_COMM_IJOB_DISCONNECTED, MSG_COMM_LOCAL_SERVER_USED, MSG_COMM_MODULE_NOT_IN_PGM, MSG_COMM_MODULE_NOT_IN_SRVPGM, MSG_COMM_NEED_UPDATED_DEBUG_SERVER, MSG_COMM_NETWOR_INTERRUPTED, MSG_COMM_NETWORK_DOWN, MSG_COMM_NO_IJOB, MSG_COMM_OS400_VERSION_NOT_SUPPORTED, MSG_COMM_OUTSTANDING_REQ, MSG_COMM_OUTSTANDING_REQS, MSG_COMM_PGM_NO_DEBUG_DATA, MSG_COMM_PREF_INVALID_PWD_EXPIRATION, MSG_COMM_PREF_INVALID_WAIT_TIMEOUT, MSG_COMM_PTF_MISSING, MSG_COMM_REQUEST_NOT_RESPONDED, MSG_COMM_RQSHELL_PTF_MISSING, MSG_COMM_SRVPGM_NO_DEBUG_DATA, MSG_COMMAND_EMPTY, MSG_COMMAND_INTERACTIVE, MSG_COMMAND_NOTVALID, MSG_COMMAND_SBMJOB, MSG_COMMANDPARMS_EMPTY, MSG_COMMANDPARMS_NOTVALID, MSG_COMPILE_EVENTS_FILE_NOT_PROCESSED, MSG_COMPILE_MEMBER_NOT_PROCESSED, MSG_CONNECTION_COMMPROPERTIES, MSG_CONNECTION_PREFIX, MSG_CONSECUTIVE_SOSI, MSG_COPYLIBRARY_FAILED, MSG_COPYMEMBER_FAILED, MSG_COPYOBJECT_FAILED, MSG_CPA_IMPORT_ERROR_DURING_IMPORT, MSG_CPA_IMPORT_ERROR_READING_TYPES_FILE, MSG_CPA_IMPORT_SELECT_DIRECTORY, MSG_CPA_IMPORT_SPECIFY_CONNECTION_PROFILE, MSG_CPA_IMPORT_SUMMARY_OF_IMPORT, MSG_CPO_IMPORT_DEFAULT_HOST_MUST_BE_SPECIFIED, MSG_CPO_IMPORT_ERROR_DURING_IMPORT, MSG_CPO_IMPORT_FILE_IS_EMPTY, MSG_CPO_IMPORT_FILE_NOT_FOUND, MSG_CPO_IMPORT_FILE_PARSE_ERROR, MSG_CPO_IMPORT_FILE_READ_ERROR, MSG_CPO_IMPORT_FILTER_NAME_EXISTS, MSG_CPO_IMPORT_LIST_OF_FILTERS_IMPORTED, MSG_CPO_IMPORT_NO_FILTERS_TO_IMPORT, MSG_CPO_IMPORT_NO_PROFILE_EXISTS, MSG_CPO_IMPORT_NOT_VALID_CODE_PROJECT, MSG_CPO_IMPORT_PLEASE_ENTER_CPO_FILE, MSG_CPO_IMPORT_PROFILE_NAME_EXISTS, MSG_CPO_IMPORT_SELECT_PROJECT_FILE, MSG_CPO_IMPORT_SPECIFY_CONNECTION_PROFILE, MSG_CPO_IMPORT_SUMMARY_OF_OPERATIONS, MSG_DOWNLOAD_FAILED, MSG_DOWNLOAD_LOCK_NO_READ, MSG_DOWNLOAD_LOCK_NO_WRITE_DSPJOB, MSG_DTAARANAME_EMPTY, MSG_DTAARANAME_NOTVALID, MSG_DTAQNAME_EMPTY, MSG_DTAQNAME_NOTVALID, MSG_DTV_DELETE_ERROR, MSG_DTV_DELETE_REC_MISSING, MSG_DTV_EXCEEDS_FLD_LENGTH, MSG_DTV_FIELD_ATTR_NOT_SUPPORT, MSG_DTV_FILE_EMPTY, MSG_DTV_FILE_OPEN_ERROR, MSG_DTV_FILE_READ_ERROR, MSG_DTV_GET_FILE_INFO_ERROR, MSG_DTV_INVALID_CHAR, MSG_DTV_INVALID_DATETIME, MSG_DTV_INVALID_NUMBER, MSG_DTV_RECORD_NOT_FOUND, MSG_DTV_UPDATE_FILE_OPEN_ERROR, MSG_ERROR_UNEXPECTED, MSG_FILENAME_EMPTY, MSG_FILENAME_NOTVALID, MSG_FLDNAME_EMPTY, MSG_FLDNAME_NOTVALID, MSG_GENERIC_ERROR, MSG_GENERICNAME_NOTVALID, MSG_IASPNAME_NOTVALID, MSG_IFS_SEQUENCE_NUMBERS, MSG_INVALID_HEX, MSG_JOB_NAME_EMPTY, MSG_JOB_NAME_NOTVALID, MSG_JOB_NUMBER_EMPTY, MSG_JOB_NUMBER_NOTVALID, MSG_JOB_PROPERTY_CHG_ERROR, MSG_JOB_PROPERTY_INVALID, MSG_JOB_STATUS_NOT_CHECKED, MSG_JOB_USER_EMPTY, MSG_JOB_USER_NOTVALID, MSG_JOBDNAME_EMPTY, MSG_JOBDNAME_NOTVALID, MSG_JOBMONITOR_REFRESH_HOUR, MSG_JOBMONITOR_REFRESH_HOURS, MSG_JOBMONITOR_REFRESH_MINUTE, MSG_JOBMONITOR_REFRESH_MINUTES, MSG_JOBMONITOR_REFRESH_NEVER, MSG_JOBMONITOR_REFRESH_SECONDS, MSG_LIB_EXISTS, MSG_LIB_NOTFOUND, MSG_LIB_NOTFOUND_CREATE, MSG_LIB_QTEMP_NOTALLOWED, MSG_LIBL_ALREADYCURLIB, MSG_LIBL_ALREADYONLIBL, MSG_LIBL_FILTER_ALREADY_EXISTS, MSG_LIBL_FILTER_QUESTION, MSG_LIBNAME_EMPTY, MSG_LIBNAME_NOTVALID, MSG_LISTRETRIEVAL_CANCELLED, MSG_LISTRETRIEVAL_FAILED, MSG_MBR_SEQUENCE_NUMBERS, MSG_MBR_SRCDTAREQUIRED, MSG_MBRNAME_EMPTY, MSG_MBRNAME_NOTVALID, MSG_MBRTYPE_DUPLICATE, MSG_MBRTYPE_GENERIC_EMPTY, MSG_MBRTYPE_GENERIC_NOTVALID, MSG_MBRTYPE_NOTUNIQUE, MSG_MBRTYPE_SCALAR_EMPTY, MSG_MBRTYPE_SCALAR_NOTVALID, MSG_MEMBER_NOT_FOUND, MSG_MODULENAME_EMPTY, MSG_MODULENAME_NOTVALID, MSG_MOVEMEMBER_FAILED, MSG_MOVEMEMBER_SAMEFILE, MSG_MOVEOBJECT_FAILED, MSG_MOVEOBJECT_SAMELIBRARY, MSG_MSGFILENAME_EMPTY, MSG_MSGFILENAME_NOTVALID, MSG_NEW_COMPILE_MAIN_COMMAND_EMPTY, MSG_NEW_COMPILE_MAIN_COMMAND_INTRO, MSG_NEW_COMPILE_MAIN_DESC, MSG_NEW_COMPILE_MAIN_NAME_DUPLICATE, MSG_NEW_COMPILE_MAIN_NAME_EMPTY, MSG_NEW_COMPILE_MAIN_NAME_INTRO, MSG_NEWMBRTYPE_EMPTY, MSG_NEWMBRTYPE_INUSE, MSG_NFS_CREATE_DIR_QUESTION, MSG_NFS_DIR_NOT_CREATED, MSG_NFS_DISPLAY_ALL_LIB, MSG_NFS_ENTERNAME, MSG_NFS_ENTERNEWNAME, MSG_NFS_ENTERTYPE, MSG_NFS_INVALID_SUBSET_ATTRIB, MSG_NFS_INVALID_SUBSET_NAME, MSG_NFS_INVALID_SUBSET_SIZE, MSG_NFS_INVALID_SUBSET_TYPE, MSG_NFS_INVALID_SUBSVAR, MSG_NFS_INVALIDCHARACTER, MSG_NFS_INVALIDNAME, MSG_NFS_INVALIDTYPE, MSG_NFS_MISSING_SUBSVAR, MSG_NFS_OVERWRITE_FILE_QUESTION, MSG_NFS_READONLY_FILE, MSG_NFS_TYPENOTFOUND, MSG_OBJATTR_EMPTY, MSG_OBJATTR_GENERIC_EMPTY, MSG_OBJATTR_GENERIC_NOTVALID, MSG_OBJATTR_NOTVALID, MSG_OBJATTR_SCALAR_EMPTY, MSG_OBJATTR_SCALAR_NOTVALID, MSG_OBJNAME_EMPTY, MSG_OBJNAME_NOTVALID, MSG_OBJTYPE_ALLALLNOTVALID, MSG_OBJTYPE_DUPLICATE, MSG_OBJTYPE_EMPTY, MSG_OBJTYPE_NOTUNIQUE, MSG_OBJTYPE_NOTVALID, MSG_OBJTYPEATTR_EMPTY, MSG_OBJTYPEATTR_NOTVALID, MSG_OFFLINE_CANT_CONNECT, MSG_OPEN_IN_EDITOR_NO_MEMBER, MSG_PASSWORD_GOING_TO_EXPIRE, MSG_PASSWORD_GOING_TO_EXPIRE_TOMORROW, MSG_PATH_PREFIX, MSG_PATHNAME_EMPTY, MSG_PGMNAME_EMPTY, MSG_PGMNAME_NOTVALID, MSG_PGMSRVPGMNAME_EMPTY, MSG_PGMSRVPGMNAME_NOTVALID, MSG_PREFIX, MSG_PROCEDURE, MSG_QUESTION_CRTLIB, MSG_RCDNAME_EMPTY, MSG_RCDNAME_NOTVALID, MSG_RECORD_LENGTH_EMPTY, MSG_RECORD_LENGTH_NOTVALID, MSG_RECORD_NF, MSG_REFLIB_REQUIRED, MSG_RPGWIZARD_CCSID_EMPTY, MSG_RPGWIZARD_CCSID_INVALID, MSG_RPGWIZARD_CLASS_EMPTY, MSG_SAVEAS_MEMBER_OPEN, MSG_SAVEFILE_CREATING, MSG_SAVEFILE_EXIST_NOTSAVF, MSG_SAVEFILE_EXIST_REPLACE, MSG_SAVEFILE_RESTORING, MSG_SAVEFILE_RSTLIB_EXISTS, MSG_SAVEFILE_UPLOAD_DONE, MSG_SBMJOB_PARMS_NOCMD, MSG_SBMJOB_PARMS_NOJOBD, MSG_SEARCH_COLUMNNUMBER_EMPTY, MSG_SEARCH_EVENTFILE_LOCKED, MSG_SEARCH_INPUT_BOTH, MSG_SEARCH_INPUT_NUMBER, MSG_SEARCH_INPUT_POSITIVE_NUMBER, MSG_SEARCH_RECORD_LENGTH, MSG_SEARCH_SEARCHSTRING_EMPTY, MSG_SEARCH_UNEXPECTED_ERROR, MSG_SIGNON_GENERAL_ERROR, MSG_SIGNON_PASSWORD_ERROR, MSG_SIGNON_PASSWORD_EXPIRED, MSG_SIGNON_PASSWORD_INCORRECT, MSG_SIGNON_PASSWORD_INCORRECT_USER_DISABLED, MSG_SIGNON_PASSWORD_NEW_VERIFY_MISMATCH, MSG_SIGNON_USERID_DISABLED, MSG_SIGNON_USERID_ERROR, MSG_SIGNON_USERID_INVALID, MSG_SRVPGMNAME_EMPTY, MSG_SRVPGMNAME_NOTVALID, MSG_STATUS_UPLOADING, MSG_STATUS_VERIFYING, MSG_SYNTAX_CHECK_ILERPG_DLLS_NOTLOADED, MSG_SYNTAX_CHECK_ILERPG_ERROR, MSG_SYNTAX_CHECK_ILERPG_OK, MSG_SYNTAX_CHECK_MORE_THAN_MAX_MSG, MSG_SYNTAX_CHECK_SQL_OFFLINE, MSG_TABLE_EXPORT_ERROR, MSG_TITLE, MSG_UNEPECTED_UNKNOWN, MSG_UNEXPCTED_UNEXPECTED, MSG_UPLOAD_LOCK_NO_READ, MSG_UPLOAD_LOCK_NO_WRITE, MSG_UPLOAD_LOCK_NO_WRITE_DSPJOB, MSG_UPLOAD_MEMBER_EXISTS, MSG_UPLOAD_NO_MEMBER, MSG_UPLOAD_NO_WRITE, MSG_USERID_EMPTY, MSG_USERID_NOTVALID, MSG_VERIFY_DLLS_NOTLOADED, MSG_VERIFY_ILERPG_COMM_BUSY, MSG_VERIFY_ILERPG_COMPILE_ERR, MSG_VERIFY_ILERPG_DLLS_NOTLOADED, MSG_VERIFY_ILERPG_IO_LISTFIL, MSG_VERIFY_ILERPG_LOW_SEVERITY, MSG_VERIFY_ILERPG_NO_MEMORY, MSG_VERIFY_ILERPG_OK, MSG_VERIFY_ILERPG_OPEN_LISTFIL, MSG_VERIFY_ILERPG_STOP_KEY_PRESSED, MSG_VERIFY_ILERPG_SYSERR, PLUGIN_ID, PREFIX, RESID_PREFIX |
Constructor Summary |
ValidatorQSYSCommandString()
Constructor with defaults:
empty string allowed? yes
validating parms only? yes
|
ValidatorQSYSCommandString(boolean isEmptyAllowed,
boolean isParmsOnly)
Constructor to specify explicitly if empty string is allowed, and if validating
command parms versus full command string |
Method Summary |
protected String |
doMessageSubstitution(SystemMessage msg,
String substitution)
Helper method to substitute data into a message |
int |
getMaximumNameLength()
Return the max length for iSeries commands: 2000
Child classes override if desired |
SystemMessage |
getSystemMessage()
When isValid returns non-null, call this to get the SystemMessage object for the error
versus the simple string message. |
protected String |
getSystemMessageText(SystemMessage msg)
Helper method to set the current system message and return its level one text |
protected boolean |
isDelimiter(char currChar)
Check if given character is one of the delimiters |
boolean |
isEmptyAllowed()
Return if empty string is allowed. |
boolean |
isParmsOnly()
Return if validating command parms only, versus a full command |
SystemMessage |
isSyntaxOk(String newText)
Overridable entry point. |
String |
isValid(Object newValue)
As required by ICellEditor. |
String |
isValid(String newText)
Called to do verification of user-entered text. |
void |
setEmptyAllowed(boolean allowed)
Set if empty commands or parms are allowed. |
void |
setErrorMessages(SystemMessage msg_Empty,
SystemMessage msg_NotValid)
Supply your own error message text. |
void |
setParmsOnly(boolean parmsOnly)
Set what we are testing:
true - testing for command parameters, that must not be preceded by a command name
false - testing for a command string that starts with a command name and optionally follows with command parms
|
SystemMessage |
validate(String text)
For convenience, this is a shortcut to calling: |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Copyright
public static final String Copyright
- See Also:
- Constant Field Values
MAX_CMDSTRING_LENGTH
public static final int MAX_CMDSTRING_LENGTH
- Maximum permitted length for a command string: 2000 characters
- See Also:
- Constant Field Values
EMPTY_ALLOWED_NO
public static final boolean EMPTY_ALLOWED_NO
- Constant to use when empty command strings are allowed: false
- See Also:
- Constant Field Values
EMPTY_ALLOWED_YES
public static final boolean EMPTY_ALLOWED_YES
- Constant to use when empty command strings are not allowed: tru
- See Also:
- Constant Field Values
PARMS_ONLY_MODE_NO
public static final boolean PARMS_ONLY_MODE_NO
- Constant to use when command string is supposed to be a command, optionally followed by parms: false
- See Also:
- Constant Field Values
PARMS_ONLY_MODE_YES
public static final boolean PARMS_ONLY_MODE_YES
- Constant to use when command string is supposed to command parms only, and no command name: true
- See Also:
- Constant Field Values
isEmptyAllowed
protected boolean isEmptyAllowed
isParmsOnly
protected boolean isParmsOnly
msg_Invalid
protected SystemMessage msg_Invalid
msg_Empty
protected SystemMessage msg_Empty
currentMessage
protected SystemMessage currentMessage
commandNameValidator
protected ValidatorQSYSCommandName commandNameValidator
delimiters
protected char[] delimiters
ValidatorQSYSCommandString
public ValidatorQSYSCommandString()
- Constructor with defaults:
- empty string allowed? yes
- validating parms only? yes
ValidatorQSYSCommandString
public ValidatorQSYSCommandString(boolean isEmptyAllowed,
boolean isParmsOnly)
- Constructor to specify explicitly if empty string is allowed, and if validating
command parms versus full command string
- Parameters:
isEmptyAllowed
- true if an empty string is validisParmsOnly
- true if validating a command parms string that doesn't allow for a command name,
false if testing a full command string that must have a command name optionally followed
by command parameters
setErrorMessages
public void setErrorMessages(SystemMessage msg_Empty,
SystemMessage msg_NotValid)
- Supply your own error message text. By default, messages from ISeriesSystemPlugin resource bundle are used.
- Parameters:
error
- message when entry field is empty (or null if to keep the default msg)error
- message when value entered is not valid (or null if to keep the default msg)
setEmptyAllowed
public void setEmptyAllowed(boolean allowed)
- Set if empty commands or parms are allowed. If true, an null or zero-length string is not
considered an error.
setParmsOnly
public void setParmsOnly(boolean parmsOnly)
- Set what we are testing:
- true - testing for command parameters, that must not be preceded by a command name
- false - testing for a command string that starts with a command name and optionally follows with command parms
isEmptyAllowed
public boolean isEmptyAllowed()
- Return if empty string is allowed. If true, an null or zero-length string is not
considered an error.
isParmsOnly
public boolean isParmsOnly()
- Return if validating command parms only, versus a full command
isSyntaxOk
public SystemMessage isSyntaxOk(String newText)
- Overridable entry point. Called after other base checking succeeds.
Override in child to do your own syntax checking.
- Parameters:
newText
- the input text to be verified
- Returns:
- A error message if the verify failed, or null if it is successful.
doMessageSubstitution
protected String doMessageSubstitution(SystemMessage msg,
String substitution)
- Helper method to substitute data into a message
getSystemMessageText
protected String getSystemMessageText(SystemMessage msg)
- Helper method to set the current system message and return its level one text
getMaximumNameLength
public int getMaximumNameLength()
- Return the max length for iSeries commands: 2000
Child classes override if desired
isValid
public String isValid(String newText)
- Called to do verification of user-entered text.
- Parameters:
newText
- the input text to be verified
- Returns:
- A error message string if the verify failed, or null if it is successful.
isDelimiter
protected boolean isDelimiter(char currChar)
- Check if given character is one of the delimiters
isValid
public String isValid(Object newValue)
- As required by ICellEditor.
Simply calls
isValid(String)
getSystemMessage
public SystemMessage getSystemMessage()
- When isValid returns non-null, call this to get the SystemMessage object for the error
versus the simple string message.
validate
public SystemMessage validate(String text)
- For convenience, this is a shortcut to calling:
if (isValid(text) != null)
msg = getSystemMessage();
Copyright © 2011 IBM Corp. All Rights Reserved.
Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.