Rational Developer for Power Systems Software
V7.6

com.ibm.etools.iseries.edit.verifiers
Class VerifierRPGILE

java.lang.Object
  extended by com.ibm.etools.iseries.edit.verifiers.Verifier
      extended by com.ibm.etools.iseries.edit.verifiers.VerifierRPGILE
All Implemented Interfaces:
IISeriesEditorConstants, IVerifier, ISystemEditorConstants

public class VerifierRPGILE
extends Verifier

RPG ILE program verifier.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.ibm.etools.iseries.edit.verifiers.Verifier
Verifier.RunnableProgramVerifier
 
Field Summary
 boolean _bInitializationSuccessful
           
protected  byte[] _specialCharByteArray
           
 URL _urlOutlineViewPath
           
static String copyright
           
 
Fields inherited from class com.ibm.etools.iseries.edit.verifiers.Verifier
_bDBCS, _bLocal, _bShowListingsView, _connection, _document, _iCCSID, _job, _member, _sourceIFile, _strFullLocalFileName, _strMessage, _strProjectName, _view, lock
 
Fields inherited from interface com.ibm.etools.iseries.edit.IISeriesEditorConstants
ACTION_VERIFYPROGRAM_ID, APPLICATION_DIAGRAM, COMPILE_ERROR_MESSAGE_STYLE, FILE_TYPE_CL, FILE_TYPE_DDS, FILE_TYPE_OTHER, FILE_TYPE_RPGILE, FILE_TYPE_RPGOPM, MAX_DS_NESTING, OUTLINE_VIEW, PREF_AUTO_FORMAT, PREF_AUTO_FORMAT_T, PREF_AUTO_UPPER, PREF_AUTO_UPPER_T, PREF_BASE_PREFIX, PREF_BLANK, PREF_BLANK_SUFFIX, PREF_BLANK_T, PREF_COMMAND_POS, PREF_COMMAND_POS_T, PREF_HIGHLIGHT, PREF_HIGHLIGHT_BACKGROUND, PREF_HIGHLIGHT_BACKGROUND_T, PREF_HIGHLIGHT_T, PREF_INDENT, PREF_INDENT_T, PREF_INDENTATION, PREF_INDENTATION_T, PREF_LABEL_ABOVE_CMD, PREF_LABEL_ABOVE_CMD_T, PREF_LABEL_POS, PREF_LABEL_POS_T, PREF_LINE_LENGTH, PREF_LINE_LENGTH_T, PREF_ONE_PARM_PER_LINE, PREF_ONE_PARM_PER_LINE_T, PREF_PARSER_ASSOC, PREF_PARSER_STYLES, PREF_SIGNATURE_T, PREF_SQL_SYNTAX_CHECK, PREF_SQL_SYNTAX_CHECK_T, PREF_SYNTAX_CHECK, PREF_SYNTAX_CHECK_T, PREF_TAB, PREF_TAB_GENERAL, PREF_TAB_GENERAL_T, PREF_TAB_T, PREF_TOOLTIP_SUFFIX, PROGRAM_VERIFICATION
 
Fields inherited from interface com.ibm.etools.systems.editor.ISystemEditorConstants
COMPILE_ERROR_CLASS_NAME, ICON_EDITOR_COMPILE, ICON_EDITOR_COMPILE_D, ICON_EDITOR_COMPILE_D_ID, ICON_EDITOR_COMPILE_D_ROOT, ICON_EDITOR_COMPILE_ID, ICON_EDITOR_COMPILE_ROOT, ICON_EDITOR_NEXT_ERROR, ICON_EDITOR_NEXT_ERROR_D, ICON_EDITOR_NEXT_ERROR_D_ID, ICON_EDITOR_NEXT_ERROR_D_ROOT, ICON_EDITOR_NEXT_ERROR_ID, ICON_EDITOR_NEXT_ERROR_ROOT, ICON_EDITOR_PREVIOUS_ERROR, ICON_EDITOR_PREVIOUS_ERROR_D, ICON_EDITOR_PREVIOUS_ERROR_D_ID, ICON_EDITOR_PREVIOUS_ERROR_D_ROOT, ICON_EDITOR_PREVIOUS_ERROR_ID, ICON_EDITOR_PREVIOUS_ERROR_ROOT, ICON_EXT, ICON_RELATIVE_PATH_DLCL16, ICON_RELATIVE_PATH_ELCL16, ICON_RELATIVE_PATH_FULL, ICON_SUFFIX, PREFIX, SYNTAX_ERROR_CLASS_NAME
 
Constructor Summary
VerifierRPGILE(IDocument document)
          Constructor for a document.
VerifierRPGILE(IFile file)
          Constructor for a file.
VerifierRPGILE(LpexView lpexView)
          Constructor for an Lpex view.
 
Method Summary
 boolean getCacheRefresh()
          Returns whether or not the cache should be refreshed.
static String getDataAreaFileName()
          Returns the filename where the Data Area will be stored.
protected  byte[] getRPGSpecialCharBytes(String strSpecialChars)
          This API is a workaround for NL variant chars problem in syntax checker and verifier.
static boolean isAvailable()
          Returns whether this verifier is available.
protected  String verify(int iMode)
          Do the verification.
protected  String verifyWithOptionsDialog()
          Displays the program verifier options dialog and the verifies the program.
 
Methods inherited from class com.ibm.etools.iseries.edit.verifiers.Verifier
callbackGetLinePrefixText, callbackGetLineText, callbackGetNextLine, callbackGetPreviousLine, callbackIsShowLine, doVerification, doVerificationWithOptionsDialog, findIBMiConnection, getCCSID, getErrorListFile, getEventDirectoryPath, getEventName, getFullLocalFileName, getHostAlias, getHostCommunicationsPort, getInformationDirectoryPath, getInformationName, getISeriesMemberFullName, getListingDirectoryPath, getListingName, getLocalFileName, getQSYSMember, getShortFileName, getSpecialCharsXLate, initializeViewFromDocument, initializeViewFromFile, initializeViewFromLpexView, isDBCS, isIFSFile, isLocal, setIBMiConnection, setIFile, setLocal, setShowListingsView, showErrorListView, showListingsView
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

copyright

public static String copyright

_bInitializationSuccessful

public boolean _bInitializationSuccessful

_urlOutlineViewPath

public URL _urlOutlineViewPath

_specialCharByteArray

protected byte[] _specialCharByteArray
Constructor Detail

VerifierRPGILE

public VerifierRPGILE(IDocument document)
Constructor for a document.


VerifierRPGILE

public VerifierRPGILE(IFile file)
Constructor for a file.


VerifierRPGILE

public VerifierRPGILE(LpexView lpexView)
Constructor for an Lpex view.

Method Detail

getCacheRefresh

public boolean getCacheRefresh()
Returns whether or not the cache should be refreshed.

Returns:
boolean returns true if refrsh cache is on, false otherwise.
See Also:
com.ibm.etools.iseries.editor.verifiers.IVerifier#getCacheRefresh()

isAvailable

public static boolean isAvailable()
Returns whether this verifier is available.


getDataAreaFileName

public static String getDataAreaFileName()
Returns the filename where the Data Area will be stored. This will be used when H-spec is not specified in the source.


verify

protected String verify(int iMode)
Do the verification.

Specified by:
verify in class Verifier

verifyWithOptionsDialog

protected String verifyWithOptionsDialog()
Displays the program verifier options dialog and the verifies the program. The persistent preferences are not altered. They are loaded from the preference store, then restored after the verify is done.

Specified by:
verifyWithOptionsDialog in class Verifier

getRPGSpecialCharBytes

protected byte[] getRPGSpecialCharBytes(String strSpecialChars)
This API is a workaround for NL variant chars problem in syntax checker and verifier. The special chars array is organized as @, $, # in ISeriesEditorParser. In some encoding, a variant char is converted to multiple bytes. For example, in Chinese GB18030, the $ special char is converted to 4 bytes. There is a bug on Syntax checker DLL and Verifier DLL right now which only takes the first 3 bytes and treat them as @, $, #. Because a variant char converts to multiple bytes, the byte for the variant char after that variant char is not used by syntax checker and verifier. Thus, this variant char will be flagged as invalid. For GB18030, both Chinese $ and # are flagged as invalid. To workaround this problem, rearrange the byte array so that it contains a complete byte for variant chars as many as possible. For example, in GB18030 case, the #'s byte and $' bytes will be switched so that #'s byte is the second element in specialchar's byte array. As a result, # will not be flagged as invalid. $ sign in GB18030 is still flagged as invalid as before. - LD.


Rational Developer for Power Systems Software
V7.6

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.