org.safs.rational
Class CFDotnetTable

java.lang.Object
  extended by org.safs.Processor
      extended by org.safs.ComponentFunction
          extended by org.safs.rational.CFComponent
              extended by org.safs.rational.CFTable
                  extended by org.safs.rational.CFDotnetTable

public class CFDotnetTable
extends CFTable

Derived from CFTable, process table components for dotnet. Two kinds of dotnet tables are supported. System.Windows.Forms.DataGridView and System.Windows.Forms.DataGrid.

Since:
JUL 23, 2008
JUL 21, 2008 (JunwuMa) Original Release.

Nested Class Summary
 
Nested classes/interfaces inherited from class org.safs.rational.CFTable
CFTable.TableCell
 
Field Summary
static java.lang.String CLASS_DATAGRID_NAME
           
static java.lang.String CLASS_DATAGRIDVIEW_NAME
           
 
Fields inherited from class org.safs.rational.CFTable
ACTIVATECELL, ACTIVATECOLUMNLABEL, ACTIVATEROWLABEL, ASSIGNCELLCONTAINSTEXTROW, ASSIGNCELLTEXTROW, ASSIGNVARIABLECELLTEXT, ASSIGNVARIABLEFUZZYCELLTEXT, CAPTUREFUZZYRANGETOFILE, CAPTURERANGETOFILE, CLICKCELL, CLICKCELLOFCOLWITHROWVALUES, CLICKCOLUMNLABEL, CLICKROWLABEL, customCellObjects, DOUBLECLICKCELL, DOUBLECLICKCELLOFCOLWITHROWVALUES, DOUBLECLICKCOLUMNLABEL, DOUBLECLICKROWLABEL, GETCELLCOORDINATES, GETTABLEROWCOLUMNCOUNT, RFTGENERALVALUEPACKAGENAME, RIGHTCLICKCELL, SELECTCELL, SELECTCELLCONTAINSTEXTFIND, SELECTCELLTEXT, SELECTCELLTEXTFIND, SELECTCELLTEXTSPECIAL, SELECTFUZZYCELLTEXT, SELECTFUZZYCELLTEXTFIND, SELECTROWWITHROWVALUES, VERIFYCELLEDITABLE, VERIFYCELLTEXT, VERIFYCELLTEXTCONTAINS, VERIFYCELLTEXTFIND, VERIFYCOLUMNLABEL, VERIFYFUZZYCELLTEXT, VERIFYFUZZYCELLTEXTCONTAINS, VERIFYFUZZYCELLTEXTFIND, VERIFYROWLABEL
 
Fields inherited from class org.safs.rational.CFComponent
ALTLEFTDRAG, ASSIGNPROPERTYVARIABLE, CAPTUREOBJECTDATATOFILE, CAPTUREPROPERTIESTOFILE, CAPTUREPROPERTYTOFILE, CLEARAPPMAPCACHE, CLICK, CLOSEWINDOW, COMPONENTCLICK, CTRLALTLEFTDRAG, CTRLCLICK, CTRLLEFTDRAG, CTRLRIGHTCLICK, CTRLSHIFTLEFTDRAG, DOUBLECLICK, GETGUIIMAGE, GUIDOESEXIST, GUIDOESNOTEXIST, HOVERMOUSE, HSCROLLTO, INPUTCHARACTERS, INPUTKEYS, LEFTDRAG, MAXIMIZE, MINIMIZE, obj1, RESTORE, RIGHTCLICK, RIGHTDRAG, script, SELECTMENUITEM, SELECTMENUITEMCONTAINS, SETPOSITION, SETPROPERTYVALUE, SHIFTCLICK, SHIFTLEFTDRAG, VERIFYARRAYPROPERTYTOFILE, VERIFYBINARYFILETOFILE, VERIFYCLIPBOARDTOFILE, VERIFYFILETOFILE, VERIFYGUIIMAGETOFILE, VERIFYMENUITEM, VERIFYMENUITEMCONTAINS, VERIFYOBJECTDATATOFILE, VERIFYPROPERTY, VERIFYPROPERTYCONTAINS, VERIFYPROPERTYTOFILE, VERIFYTEXTFILETOFILE, VERIFYVALUECONTAINS, VERIFYVALUEEQUALS, VERIFYVALUES, VERIFYVALUESIGNORECASE, VSCROLLTO, WAITFORGUI, WIN_MAXIMIZED, WIN_MINIMIZED, WIN_NORMAL
 
Fields inherited from class org.safs.ComponentFunction
action, compName, mapname, utils, windowName
 
Fields inherited from class org.safs.Processor
breakpointsOn, CASE_INSENSITIVE_FLAG, CASEINSENSITIVE_FLAG, clearProxiesAlways, commandLineBreakpoint, customStr, customText, DEBUG_MESSAGE, debugStr, debugText, DEFAULT_CUSTOM_PROCESSOR_PACKAGE, DEFAULT_CUSTOM_PROCESSOR_SUBPACKAGE, DEFAULT_PROCESSOR_PACKAGE, FAILED_MESSAGE, FAILED_OK_MESSAGE, failedStr, failedText, FAILURE_DETAIL, GENERIC_MESSAGE, genericStr, genericText, LINE_FAILURE_4, log, myBreakpointsOn, otherStr, otherText, PARAM_SIZE_1, PARAM_SIZE_2, PARAM_SIZE_3, PARAM_SIZE_4, params, PASSED_MESSAGE, passedStr, passedText, PRE_TXT_SUCCESS_4, PRE_TXT_SUCCESS_5, processorConfigSet, processorMap, recordProcessed, RECTYPE_DRIVER_COMMAND, RECTYPE_DRIVER_COMMAND_F, RECTYPE_DRIVER_COMMAND_W, RECTYPE_TEST_STEP, RECTYPE_TEST_STEP_F, RECTYPE_TEST_STEP_W, SAFS_CLEARPROXIESALWAYS_ITEM, SAFS_COMMANDLINEBREAKPOINT_ITEM, SAFS_COMMANDLINEBREAKPOINT_VARIABLE, SAFS_PARAMS_FILE, SAFS_RESBUN_NAME, SAFS_SECSWAITFORCOMPONENT_ITEM, SAFS_SECSWAITFORCOMPONENT_VARIABLE, SAFS_SECSWAITFORWINDOW_ITEM, SAFS_SECSWAITFORWINDOW_VARIABLE, SAFS_TESTDOMAINS_ITEM, SAFS_TESTDOMAINS_VARIABLE, secsWaitForComponent, secsWaitForWindow, SENT_MSG_3, testDomains, testRecordData, TXT_FAILURE_1, TXT_FAILURE_2, TXT_FAILURE_3, TXT_FAILURE_4, TXT_FAILURE_5, TXT_SUCCESS_1, TXT_SUCCESS_2, TXT_SUCCESS_2a, TXT_SUCCESS_3, TXT_SUCCESS_4, TXT_SUCCESS_5, WARNING_MESSAGE, WARNING_OK_MESSAGE, warningStr, warningText
 
Constructor Summary
CFDotnetTable()
          
Purpose: constructor, calls super
 
Method Summary
protected  void actionClickColumnLabel(GuiTestObject guiObj, int col, int yoffset)
          overrides CFTable.actionClickColumnLabel for .NET support
protected  void actionVerifyCellEditable(GuiTestObject guiObj, int row, int col, boolean verifyFlag)
          
Purpose: overides CFTable.VerifyCellEditable for supporting VerifyCellEditable on .NET
protected  java.util.List captureObjectData(TestObject table)
          overrides CFTable.captureObjectData to capture the object data into a List of rows.
protected  Cell getCell(int row, int col)
          
Purpose: overrides CFTable.getCell, gets a Cell based on row and col
protected  int getColi(boolean fuzzy, java.lang.String column, GuiTestObject guiObj)
          
Purpose: overrides CFTable.getColi.
protected  java.lang.String getColumnName(TestObject guiObj, int col)
          
Purpose: overrides CFTable.getColumnName.
protected  java.awt.Rectangle getLocalRect(GuiTestObject jctable, int row, int col)
          
Purpose: getLocalRect get a rectangle based on row and col indicating the offset
protected  int getNumColumns(TestObject dotNetable)
          
Purpose: overrides CFTable.getNumColumns, gets number of columns in .Net table
protected  int getNumRows(TestObject dotNetable)
          
Purpose: overrides CFTable.getNumRows, gets number of rows in .Net tables.
 
Methods inherited from class org.safs.rational.CFTable
actionAssign, actionCaptureRangeToFile, actionClick, actionClick, actionClickRowLabel, actionGetCellCoordinates, actionGetTableRowColumnCount, actionLocalSelectCellTextSpecial, actionSelectCellTextSpecial, actionVerify, actionVerifyColumnLabel, actionVerifyRowLabel, commandAssignCellTextRow, commandAssignVariableCellText, commandCaptureRangeToFile, commandClick, commandClickCellOfColWithRowValues, commandClickColumnLabel, commandClickFind, commandClickRowLabel, commandGetCellCoordinates, commandGetTableRowColumnCount, commandSelectCellTextSpecial, commandSelectRowWithRowValues, commandVerifyCellEditable, commandVerifyCellText, commandVerifyCellTextFind, commandVerifyColumnLabel, commandVerifyRowLabel, convertCoords, doActionClick, formatObjectData, getCellText, getCellText, getJCTable, getObjectData, getRealTable, getRowi, getTableCellSubItemText, getTextProperty, isCustomCellObject, localProcess, performClick, processCustomCellObject, selectCellText
 
Methods inherited from class org.safs.rational.CFComponent
captureObjectDataToFile, checkForCoord, checkForCoord, componentClick, convertObjectValueToString, extractTreeItemsSub, findMenuBars, getAppletsBrowser, getComponentRectangle, getHelpers, getObjectProperty, getObjectPropertyFromProperties, getUserObject, isDotnetDomain, isFlexDomain, isHtmlDomain, isJavaDomain, isSwtDomain, isSWTWidget, isWinDomain, listAllProperties, listAllProperties, listMethods, listNonValueProperties, listProperties, matchedPathOfMenuItem, parseWhereInfo, preformDrag, process, selectMenuItem, setPosition, tobj, verifyMenuItem
 
Methods inherited from class org.safs.ComponentFunction
action_getGuiImage, action_verifyGuiImageToFile, componentExecutedFailureMessage, componentFailureMessage, componentSuccessMessage, convertNum, getAlternateParams, getHelpersWorker, issueActionFailure, issueActionOnXFailure, issueErrorPerformingAction, issueErrorPerformingActionOnX, issueFileErrorFailure, issueInputRecordFailure, issueParameterCountFailure, issueParameterCountFailure, issueParameterValueFailure, issuePassedSuccess, issuePassedSuccessUsing, issueUnknownErrorFailure, isSupportedRecordType, lookupAppMapCoordReference, lookupAppMapNumReference, lookupAppMapReference, updateFromTestRecordData
 
Methods inherited from class org.safs.Processor
activateBreakpoint, checkBreakpoints, checkMyBreakpoints, delay, distributeConfigInformation, getAppMapItem, getChainedProcessor, getClassInstance, getClearProxiesAlways, getCustomProcClassNames, getCustomProcInstancePath, getLogUtilities, getParams, getProcClassNames, getProcInstance, getProcInstancePath, getRequiredField, getSecsWaitForComponent, getSecsWaitForWindow, getStandardErrorMessage, getTestRecordData, getVariable, hasChainedProcessor, initProcessorAndProcess, instanceProcessorAndProcess, isBreakpointsOn, isComponentFunctionRecord, isDriverCommandRecord, isEngineCommandRecord, isMyBreakpointsOn, isRecordProcessed, paramsFailedMsg, paramsFailedMsg, processCustomProcessor, processSubclassProcessor, setBreakpointsOn, setChainedProcessor, setClearProxiesAlways, setCommandLineBreakpoint, setCustomProcInstancePath, setLogUtilities, setMyBreakpointsOn, setParams, setProcInstance, setProcInstancePath, setRecordProcessed, setSecsWaitForComponent, setSecsWaitForWindow, setTestDomains, setTestRecordData, setVariable, standardFailureMessage, substituteVariable, validateParamSize, validProcessorClassName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_DATAGRIDVIEW_NAME

public static final java.lang.String CLASS_DATAGRIDVIEW_NAME
See Also:
Constant Field Values

CLASS_DATAGRID_NAME

public static final java.lang.String CLASS_DATAGRID_NAME
See Also:
Constant Field Values
Constructor Detail

CFDotnetTable

public CFDotnetTable()

Purpose: constructor, calls super

Method Detail

actionClickColumnLabel

protected void actionClickColumnLabel(GuiTestObject guiObj,
                                      int col,
                                      int yoffset)
                               throws SAFSException
overrides CFTable.actionClickColumnLabel for .NET support

Overrides:
actionClickColumnLabel in class CFTable
Throws:
SAFSException

getLocalRect

protected java.awt.Rectangle getLocalRect(GuiTestObject jctable,
                                          int row,
                                          int col)
Description copied from class: CFTable

Purpose: getLocalRect get a rectangle based on row and col indicating the offset

Overrides:
getLocalRect in class CFTable
Parameters:
jctable - GuiTestObject
row - int
col - int
Returns:
java.awt.Rectangle

getColi

protected int getColi(boolean fuzzy,
                      java.lang.String column,
                      GuiTestObject guiObj)
               throws SAFSException

Purpose: overrides CFTable.getColi. get the column number based on fuzzy match

Overrides:
getColi in class CFTable
Parameters:
fuzzy, - boolean
column, - String
guiObj, - GuiTestObject
Returns:
int
Throws:
SAFSException

getNumRows

protected int getNumRows(TestObject dotNetable)
                  throws SAFSException

Purpose: overrides CFTable.getNumRows, gets number of rows in .Net tables.

Overrides:
getNumRows in class CFTable
Parameters:
dotNetable, - TestObject
Returns:
int
Throws:
SAFSException - based on caught Exception

getNumColumns

protected int getNumColumns(TestObject dotNetable)
                     throws SAFSException

Purpose: overrides CFTable.getNumColumns, gets number of columns in .Net table

Overrides:
getNumColumns in class CFTable
Parameters:
dotNetable, - TestObject
Returns:
int
Throws:
SAFSException - based on caught Exception

getCell

protected Cell getCell(int row,
                       int col)
                throws SAFSException

Purpose: overrides CFTable.getCell, gets a Cell based on row and col

Overrides:
getCell in class CFTable
Parameters:
row, - int 0-based index.
col, - int 0-based index.
Returns:
Cell, the cell
Throws:
SAFSException - based on caught Exception

getColumnName

protected java.lang.String getColumnName(TestObject guiObj,
                                         int col)

Purpose: overrides CFTable.getColumnName. Retrieve the column name for the provided zero-based column number.

Overrides:
getColumnName in class CFTable
Parameters:
guiObj - Expected to be a Table with a getColumnName(i) method that returns a String.
col - the column to get the name of.
Returns:
String column name or null if not available or an error occurs.

captureObjectData

protected java.util.List captureObjectData(TestObject table)
                                    throws java.lang.IllegalArgumentException,
                                           SAFSException
overrides CFTable.captureObjectData to capture the object data into a List of rows. Each row is a List of column values. The first row is a List of Column names, if any. If no column names exists then this first row will be a List of empty strings.

Overrides:
captureObjectData in class CFTable
Parameters:
table - GuiTestObject to snapshot data from. DataGrid and DataGridView are acceptable.
Returns:
List of rows of column value Lists. Null if an invalid table reference is provided or some other error occurs.
Throws:
SAFSException
java.lang.IllegalArgumentException - if table is not an acceptable GuiTestObject.
See Also:
CFTable.captureObjectData(TestObject), CFTable.formatObjectData(java.util.List)

actionVerifyCellEditable

protected void actionVerifyCellEditable(GuiTestObject guiObj,
                                        int row,
                                        int col,
                                        boolean verifyFlag)
                                 throws SAFSException

Purpose: overides CFTable.VerifyCellEditable for supporting VerifyCellEditable on .NET

For DataGrid and DataGridView, property "ReadOnly" shows if the table is editable.

if row or col is not in the range it should be, throws SAFSExecption.
T, JavaWin, JCTable, VerifyCellEditable, 2,5,true

Overrides:
actionVerifyCellEditable in class CFTable
Parameters:
guiObj, - GuiTestObject
row, - int 0-based index.
col, - int 0-based index.
verifyFlag, - boolean
Throws:
SAFSException