Subversion Repositories DevTools

Rev

Rev 2222 | Rev 2228 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2222 sbetterm 1
//---------------------------------------------------------------------------
2
 
3
#ifndef MainH
4
#define MainH
5
//---------------------------------------------------------------------------
6
#include <Classes.hpp>
7
#include <Controls.hpp>
8
#include <StdCtrls.hpp>
9
#include <Forms.hpp>
10
#include <ComCtrls.hpp>
11
#include <ExtCtrls.hpp>
12
#include <Menus.hpp>
13
#include <ToolWin.hpp>
14
#include <Buttons.hpp>
15
#include <DBCtrls.hpp>
16
#include "Grids_ts.hpp"
17
#include "TSDBGrid.hpp"
18
#include "TSGrid.hpp"
19
#include <ADODB.hpp>
20
#include <DB.hpp>
21
#include <ActnList.hpp>
22
#include <vcl\Clipbrd.hpp>
23
#include <ImgList.hpp>
24
#include "TXMLSchema.h"
25
#include "AdvGrid.hpp"
26
#include "BaseGrid.hpp"
27
#include <Grids.hpp>
28
#include "DBAdvNavigator.hpp"
29
#include "AdvPageControl.hpp"
30
#include "AsgFindDialog.hpp"
31
#include "DBAdvGrd.hpp"
32
#include "DBAdvGrid.hpp"
33
#include "ProgressBar.h"
34
 
35
#include <map>
36
#include <string>
37
 
38
typedef map<unsigned int, AnsiString>	TXNIndexMap;
39
typedef pair<unsigned int, AnsiString>	TXNIndexPair;
40
 
41
 
42
typedef map<string, string>		IterationParams;
43
typedef pair<string, string>	IterationParamsPair;
44
 
45
typedef struct
46
{
47
	string			name;
48
	unsigned int	increment;
49
	unsigned int	initial_value;
50
	unsigned int	reset_at;
51
	unsigned int	value;
52
} IterationSequence;
53
 
54
typedef map<string,  IterationSequence>		IterationSequences;
55
typedef pair<string, IterationSequence>		IterationSequencesPair;
56
 
57
typedef struct
58
{
59
	int			txnscenario_no;
60
	int			txnspec_no;
61
	int			fieldtag;
62
	AnsiString  fieldname;
63
	int			subscript;
64
	AnsiString  fieldvalue;
65
	AnsiString  xpath;
66
	char		user_supplied;
67
} TxnSpecValue;
68
 
69
typedef map<AnsiString, TxnSpecValue>				TxnSpecValueMap;
70
typedef map<AnsiString, TxnSpecValue>::iterator		TxnSpecValueIterator;
71
typedef pair<AnsiString, TxnSpecValue>				TxnSpecValuePair;
72
 
73
typedef map<AnsiString, char>						FoundTxnSpecValueMap;
74
typedef pair<AnsiString, char>						FoundTxnSpecValuePair;
75
typedef map<AnsiString, char>::iterator				FoundTxnSpecValueIterator;
76
 
77
class DefinedVariableTable;
78
class Iteration;
79
class ISecurityWrapperFactory;
80
class SequenceCollection;
81
class TestScenario;
82
class TransactionSpecification;
83
#include "SecurityWrapper.h"
84
#include "TransactionCache.h"
85
#include "TransactionTemplateCollection.h"
86
 
87
using namespace std;
88
//---------------------------------------------------------------------------
89
class TMainForm : public TForm
90
{
91
__published:	// IDE-managed Components
92
	TPanel *Panel1;
93
	TPanel *Panel2;
94
	TSplitter *Splitter1;
95
	TToolBar *ToolBar1;
96
	TMainMenu *MainMenu1;
97
	TMenuItem *Help1;
98
	TMenuItem *About1;
99
	TToolButton *ToolButton1;
100
	TLabel *Label1;
101
	TLabel *Label2;
102
	TSpeedButton *ProjectConfigBtn;
103
	TSpeedButton *IterationConfigBtn;
104
	TComboBox *ProjectsComboBox;
105
	TComboBox *IterationsComboBox;
106
	TPanel *Panel4;
107
	TBitBtn *ImportXMLSchemaBtn;
108
	TADOQuery *MASSTxnsQuery;
109
	TDataSource *MASSTxnsDataSource;
110
	TADOQuery *TestScenariosQuery;
111
	TDataSource *TestCasesDataSource;
112
	TActionList *ActionList1;
113
	TAction *EditTestCase;
114
	TADOQuery *TxnSpecQuery;
115
	TDataSource *TxnSpecDataSource;
116
	TPanel *Panel3;
117
	TADOQuery *TxnValuesQuery;
118
	TDataSource *TxnValuesDataSource;
119
	TPanel *Panel8;
120
	TImageList *ImageList1;
121
	TADOQuery *TestCaseQuery;
122
	TDataSource *TestCaseEditDataSource;
123
	TPanel *Panel9;
124
	TDBMemo *DBMemo2;
125
	TLabel *Label4;
126
	TBitBtn *SaveUseCaseEditBtn;
127
	TADOQuery *IterationParamsQuery;
128
	TDataSource *IterationParamsDataSource;
129
	TPopupMenu *ScenarioPopupMenu;
130
	TMenuItem *NewTransaction;
131
	TAction *NewTransactionAction;
132
	TAction *DeleteTransactionAction;
133
	TPanel *TestCasePanel;
134
	TPanel *Panel6;
135
	TSplitter *Splitter2;
136
    TToolBar *TestScenarioToolBar;
137
	TToolButton *ToolButton2;
138
	TSpeedButton *AddTestCaseNode;
139
	TToolButton *ToolButton4;
140
	TSpeedButton *TestCaseZoomIn;
141
	TSpeedButton *TestCaseZoomOut;
142
	TTreeView *TestCaseTreeView;
143
	TPanel *Panel7;
144
	TAction *RunTestCase;
145
	TPanel *Panel10;
146
	TPanel *Panel5;
147
	TToolBar *ToolBar4;
148
	TToolButton *ToolButton8;
149
	TSpeedButton *ImportTestDirector;
150
	TBitBtn *ApplyTemplates;
151
	TToolButton *ToolButton9;
152
	TtsDBGrid *tsDBGrid3;
153
	TADOQuery *TxnStepsQuery;
154
	TDataSource *TxnStepsDataSource;
155
	TSplitter *Splitter3;
156
	TPanel *Panel11;
157
	TDBMemo *DBMemo3;
158
	TSplitter *Splitter4;
159
	TPanel *Panel12;
160
	TDBMemo *DBMemo4;
161
	TLabel *Label5;
162
	TLabel *Label6;
163
	TDBNavigator *DBNavigator3;
164
	TtsDBGrid *tsDBGrid6;
165
	TADOQuery *TxnHdrValuesQuery;
166
	TDataSource *TxnHdrValuesDataSource;
167
	TDBNavigator *DBNavigator4;
168
	TtsDBGrid *tsDBGrid4;
169
	TMenuItem *N1;
170
	TMenuItem *ScenarioParameters;
171
	TADOQuery *SequenceGeneratorQuery;
172
	TDataSource *SequenceGeneratorDataSource;
173
	TPopupMenu *TxnValuesPopupMenu;
174
	TMenuItem *RemoveUserSuppliedValue;
175
	TBitBtn *GenerateTestTestCaseBtn;
176
	TMenuItem *ApplyTemplatesToScenario;
177
	TMemo *TxnFieldComments;
178
	TSplitter *Splitter5;
179
	TLabel *Label3;
180
	TEdit *FieldDatatype;
181
	TPanel *Panel13;
182
	TLabel *Label7;
183
	TListBox *FieldEnumValues;
184
	TStringField *TxnValuesQueryFIELDNAME;
185
	TStringField *TxnValuesQueryXPATH;
186
	TStringField *TxnValuesQueryPROJECT_CODE;
187
	TBCDField *TxnValuesQueryITERATION;
188
	TStringField *TxnValuesQueryUSER_SUPPLIED;
189
	TIntegerField *TxnValuesQuerySUBSCRIPT;
190
	TBCDField *TxnValuesQueryFIELDTAG;
191
	TStringField *TxnValuesQueryFIELDVALUE;
192
	TStringField *TxnValuesQueryNOTES;
193
	TBCDField *TxnValuesQueryTXNSPEC_NO;
194
	TBCDField *TxnValuesQueryTESTSCENARIO_NO;
195
	TStringField *TxnValuesQueryDISPLAY_FIELDNAME;
196
	TToolBar *ToolBar5;
197
	TDBAdvNavigator *DBAdvNavigator1;
198
	TDBAdvNavigator *PayloadStructureNavigator;
199
	TAdvPageControl *TestsPageControl;
200
	TAdvTabSheet *TestCaseTabSheet;
201
	TAdvTabSheet *ParamsTabSheet;
202
	TAdvTabSheet *MASSTxnTabSheet;
203
    TStringField *TestCaseQueryUSECASE_ID;
204
    TStringField *TestCaseQueryNAME;
205
    TStringField *TestCaseQueryDESCRIPTION;
206
    TStringField *TestCaseQueryTESTCASE_ID;
207
    TStringField *TestCaseQueryTRACEABILITY_REF;
208
    TStringField *TestCaseQueryREF_TYPE;
209
    TStringField *TestCaseQueryUSE_CASE_TYPE;
210
	TMenuItem *N3;
211
	TMenuItem *Properties1;
212
	TPopupMenu *TransactionPopupMenu;
213
	TMenuItem *DeleteTransaction;
214
	TMenuItem *DeleteScenario;
215
	TAction *DeleteScenarioAction;
216
	TAction *InitialiseTransactionAction;
217
	TMenuItem *InitialiseTransaction;
218
	TXMLSchema *XMLSchema;
219
	TAdvPageControl *TestParametersPageControl;
220
	TAdvTabSheet *IterationParametersTabSheet;
221
	TAdvTabSheet *BatchHeaderParametersTabSheet;
222
	TAdvTabSheet *SequenceGeneratorsTabSheet;
223
	TAdvTabSheet *CopyParametersTabSheet;
224
	TBitBtn *Copy;
225
	TComboBox *SourceIterationComboBox;
226
	TADOStoredProc *CopyIterationProcedure;
227
	TDBAdvStringGrid *TestCaseGrid;
228
	TDBAdvStringGrid *DBAdvStringGrid2;
229
	TDBAdvStringGrid *DBAdvStringGrid3;
230
	TAdvPageControl *AdvPageControl1;
231
	TAdvTabSheet *AdvTabSheet1;
232
	TAdvTabSheet *AdvTabSheet2;
233
	TDBAdvGrid *NewPayloadStructureGrid;
234
	TDBAdvStringGrid *TransactionValueGrid;
235
	TAdvPageControl *TransactionStructurePageControl;
236
	TAdvTabSheet *PayloadStructureTabSheet;
237
	TAdvTabSheet *NewPayloadStructureTabSheet;
238
	TAdvTabSheet *HeaderStructureTabSheet;
239
	TBCDField *TxnValuesQueryORDINAL;
240
	TBCDField *TxnValuesQueryCHILD_COUNT;
241
	TStatusBar *MainStatusBar;
242
	TAdvTabSheet *ObsoleteFieldTabSheet;
243
	TDBAdvNavigator *ObsoleteFieldNavigator;
244
	TDBAdvStringGrid *ObsoleteFieldGrid;
245
	TDBAdvNavigator *HeaderStructureNavigator;
246
	TDBAdvStringGrid *HeaderStructureGrid;
247
	TDBAdvNavigator *NewPayloadStructureNavigator;
248
	TADOQuery *TxnHeaderValuesQuery;
249
	TStringField *StringField1;
250
	TStringField *StringField2;
251
	TStringField *StringField3;
252
	TBCDField *BCDField1;
253
	TStringField *StringField4;
254
	TIntegerField *IntegerField1;
255
	TBCDField *BCDField2;
256
	TStringField *StringField5;
257
	TStringField *StringField6;
258
	TBCDField *BCDField3;
259
	TBCDField *BCDField4;
260
	TStringField *StringField7;
261
	TBCDField *BCDField5;
262
	TBCDField *BCDField6;
263
	TDataSource *TxnHeaderValuesDataSource;
264
	TADOQuery *TxnObsoleteValuesQuery;
265
	TStringField *StringField8;
266
	TStringField *StringField9;
267
	TStringField *StringField10;
268
	TBCDField *BCDField7;
269
	TStringField *StringField11;
270
	TIntegerField *IntegerField2;
271
	TBCDField *BCDField8;
272
	TStringField *StringField12;
273
	TStringField *StringField13;
274
	TBCDField *BCDField9;
275
	TBCDField *BCDField10;
276
	TStringField *StringField14;
277
	TBCDField *BCDField11;
278
	TBCDField *BCDField12;
279
	TDataSource *TxnObsoleteValuesDataSource;
280
	TAdvPageControl *MainPageControl;
281
	TAdvTabSheet *TestCasesTabSheet;
282
	TAdvTabSheet *TestScenariosTabSheet;
283
	TAdvTabSheet *ScenarioStepsTabSheet;
284
	TAdvTabSheet *AdvTabSheet4;
285
	TAdvTabSheet *AdvTabSheet5;
286
	TAdvTabSheet *AdvTabSheet6;
287
	TToolButton *ToolButton3;
288
	TAdvGridFindDialog *TransactionValueGridFindDialog;
289
	TAdvGridFindDialog *HeaderStructureGridFindDialog;
290
	TAdvGridFindDialog *ObsoleteFieldGridFindDialog;
291
	TADOQuery *SequenceGeneratorValueQuery;
292
	TDataSource *SequenceGeneratorValueDataSource;
293
	TDBAdvStringGrid *SequenceGeneratorsGrid;
294
	TDBAdvNavigator *SequenceGeneratorNavigator;
2224 sbetterm 295
	TEdit *DocDataType;
296
	TLabel *Label8;
297
	TMenuItem *ImportTransactions;
298
	TAction *ImportTransactionAction;
2222 sbetterm 299
	void __fastcall ProjectConfigBtnClick(TObject *Sender);
300
	void __fastcall IterationConfigBtnClick(TObject *Sender);
301
	void __fastcall FormShow(TObject *Sender);
302
	void __fastcall ProjectsComboBoxChange(TObject *Sender);
303
	void __fastcall tsDBGrid2RowChanged(TObject *Sender, Variant &OldRow,
304
          Variant &NewRow);
305
	void __fastcall EditTestCaseExecute(TObject *Sender);
306
	void __fastcall UseCaseDBGridEnter(TObject *Sender);
307
	void __fastcall TestCaseTreeViewEnter(TObject *Sender);
308
	void __fastcall TestCaseQueryAfterPost(TDataSet *DataSet);
309
	void __fastcall IterationsComboBoxChange(TObject *Sender);
310
	void __fastcall IterationParamsQueryAfterInsert(TDataSet *DataSet);
311
	void __fastcall ImportXMLSchemaBtnClick(TObject *Sender);
312
	void __fastcall TestCaseTreeViewChange(TObject *Sender, TTreeNode *Node);
313
	void __fastcall NewTransactionActionExecute(TObject *Sender);
314
	void __fastcall DeleteTransactionActionExecute(TObject *Sender);
315
	void __fastcall TestCaseZoomInClick(TObject *Sender);
316
	void __fastcall TestCaseZoomOutClick(TObject *Sender);
317
	void __fastcall AddTestCaseNodeClick(TObject *Sender);
318
	void __fastcall TestCaseTreeViewEndDrag(TObject *Sender, TObject *Target,
319
          int X, int Y);
320
	void __fastcall TestCaseTreeViewStartDrag(TObject *Sender,
321
          TDragObject *&DragObject);
322
	void __fastcall TestCaseTreeViewDragOver(TObject *Sender, TObject *Source,
323
          int X, int Y, TDragState State, bool &Accept);
324
	void __fastcall ApplyTemplatesClick(TObject *Sender);
325
	void __fastcall ImportTestDirectorClick(TObject *Sender);
326
	void __fastcall TxnHdrValuesQueryAfterInsert(TDataSet *DataSet);
327
	void __fastcall ScenarioParametersClick(TObject *Sender);
328
	void __fastcall TestCaseTreeViewMouseDown(TObject *Sender,
329
          TMouseButton Button, TShiftState Shift, int X, int Y);
330
	void __fastcall TxnValuesQueryBeforePost(TDataSet *DataSet);
331
	void __fastcall RemoveUserSuppliedValueClick(TObject *Sender);
332
	void __fastcall CopyValuesToClipboardBtnClick(TObject *Sender);
333
	void __fastcall GenerateTestTestCaseBtnClick(TObject *Sender);
334
	void __fastcall ApplyTemplatesToScenarioClick(TObject *Sender);
335
	void __fastcall FieldEnumValuesDblClick(TObject *Sender);
336
	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
337
	void __fastcall SetGenerationDirectoryClick(TObject *Sender);
338
	void __fastcall TestCaseGridRowChanging(TObject *Sender, int OldRow,
339
          int NewRow, bool &Allow);
340
    void __fastcall TestCaseQueryAfterClose(TDataSet *DataSet);
341
    void __fastcall TestCaseQueryAfterOpen(TDataSet *DataSet);
342
    void __fastcall SequenceGeneratorQueryAfterInsert(TDataSet *DataSet);
343
    void __fastcall TestCaseQueryBeforePost(TDataSet *DataSet);
344
    void __fastcall TestCaseTreeViewEditing(TObject *Sender,
345
          TTreeNode *Node, bool &AllowEdit);
346
	void __fastcall TestCaseTreeViewEdited(TObject *Sender,
347
          TTreeNode *Node, AnsiString &S);
348
	void __fastcall TestScenarioPropertiesClick(TObject *Sender);
349
	void __fastcall TestCaseTreeViewContextPopup(TObject *Sender,
350
          TPoint &MousePos, bool &Handled);
351
	void __fastcall DeleteScenarioClick(TObject *Sender);
352
	void __fastcall InitialiseTransactionActionExecute(TObject *Sender);
353
	void __fastcall InitialiseCopyParametersTabSheet(TObject *Sender);
354
	void __fastcall CopyClick(TObject *Sender);
355
	void __fastcall TransactionValueGrid1BeforeContractNode(TObject *Sender,
356
          int ARow, int ARowReal, bool &Allow);
357
	void __fastcall TransactionValueGridCanEditCell(TObject *Sender, int ARow,
358
          int ACol, bool &CanEdit);
359
	void __fastcall TransactionValueGridGetDisplText(TObject *Sender,
360
          int ACol, int ARow, AnsiString &Value);
361
	void __fastcall TransactionValueGridRowChanging(TObject *Sender,
362
          int OldRow, int NewRow, bool &Allow);
363
	void __fastcall ObsoleteFieldGridRowChanging(TObject *Sender, int OldRow,
364
          int NewRow, bool &Allow);
365
	void __fastcall HeaderStructureGridRowChanging(TObject *Sender,
366
          int OldRow, int NewRow, bool &Allow);
367
	void __fastcall HeaderStructureTabSheetShow(TObject *Sender);
368
	void __fastcall PayloadStructureTabSheetShow(TObject *Sender);
369
	void __fastcall ObsoleteFieldTabSheetShow(TObject *Sender);
370
	void __fastcall MainStatusBarResize(TObject *Sender);
371
	void __fastcall TransactionValueGridKeyDown(TObject *Sender, WORD &Key,
372
          TShiftState Shift);
373
	void __fastcall HeaderStructureGridKeyDown(TObject *Sender, WORD &Key,
374
          TShiftState Shift);
375
	void __fastcall ObsoleteFieldGridKeyDown(TObject *Sender, WORD &Key,
376
          TShiftState Shift);
2224 sbetterm 377
	void __fastcall ImportTransactionActionExecute(TObject *Sender);
2222 sbetterm 378
 
379
private:	// User declarations
380
	TXNIndexMap			m_mass_txns;
381
    AnsiString			m_testteamcode;
382
	AnsiString			m_currentproject;
383
    int					m_currentiteration;
384
    string				m_schema_handle;
385
    int					m_testscenario_no;
386
    int					m_txnspec_no;
387
    string				m_structure_name;
388
 
389
	TRegistry *						m_Registry;
390
	vector< string >				m_xml_schemas;
391
	TTreeNode *						m_startnode;
392
	std::vector< int >				m_parents;
393
	TransactionCache				m_transactionCache;
394
	TransactionTemplateCollection	m_transactionTemplates;
395
	ProgressBar *					m_progressBar;
396
 
397
	HINSTANCE					m_securityWrapper;
398
	getSecurityWrapperFactory_t	m_getSecurityWrapperFactory;
399
	ISecurityWrapperFactory *	m_securityWrapperFactory;
400
 
401
    void __fastcall InitialiseMASSTxns();
402
    void __fastcall InitialiseTxnParams(unsigned int schema_format_version, IterationParams &iteration_params, IterationSequences &iteration_sequences);
403
	void __fastcall InitialiseTestScenario(unsigned int testscenario_no, TxnSpecValueMap &txnSpecValueMap, FoundTxnSpecValueMap &foundTxnSpecValueMap, IterationSequences &iteration_sequences, IterationParams &iteration_params);
404
    string __fastcall FindField(const string &structure_name, int fieldtag);
405
 
406
    void LoadProjectCombo();
407
    void __fastcall LoadTestCaseNodes(TTreeNode *testcase_node);
408
    void __fastcall ResequenceTestCases(TTreeNode *testcase_node);
409
    void __fastcall ResequenceTransactions(TTreeNode *testcase_node);
410
    void __fastcall ProcessTxnStructure(string structure_handle, unsigned short udtype, unsigned short udsubtype, int testscenario_no, int txnspec_no, TADOQuery *query, TxnSpecValueMap &txnSpecValueMap, FoundTxnSpecValueMap &foundTxnSpecValueMap, IterationParams &iteration_params, IterationSequences &iteration_sequences, unsigned int nested_subscript);
411
	AnsiString LookupParameter(IterationParams &iteration_params, IterationSequences &iteration_sequences, TADOQuery *query, int testscenario_no, const string &param, unsigned short udtype, unsigned short udsubtype);
412
	static AnsiString & getNameFromNode( AnsiString & name, const AnsiString & string );
413
	void __fastcall populateHeaderStructureTab( const AnsiString & structure );
414
	void __fastcall populatePayloadStructureTab( const AnsiString & structure );
415
	void __fastcall populateObsoleteStructureTab( void );
416
	void __fastcall buildTransactionSpecificationValues(
417
						TransactionCache &	transactionCache,
418
						const int &			testScenario,
419
						const int &			transactionSpecification,
420
						const std::string &	transactionStructureName,
421
						const std::string &	headerStructureName,
422
						const std::string &	schema,
423
						const int &			iteration );
424
	void __fastcall buildTransactionSpecificationFieldValue(
425
						TADOQuery &					query,
426
						const std::string &			rootStructure,
427
						const std::string &			fieldHandle,
428
						const int &					testScenario,
429
						const int &					transactionSpecification,
430
						int &						ordinal,
431
						const &						childCount,
432
						TransactionSpecification &	transactions,
433
						const int &					subscript = 0 );
434
	void __fastcall buildTransactionSpecificationRepeatValue(
435
						TADOQuery &					query,
436
						const std::string &			rootStructure,
437
						const std::string &			attribute,
438
						const int &					testScenario,
439
						const int &					transactionSpecification,
440
						const std::string &			transactionStructureHandle,
441
						int &						ordinal,
442
						TransactionSpecification &	transactions,
443
						const int &					repeatLimit = 1000 );
444
	void __fastcall buildTransactionSpecificationValues(
445
						TADOQuery &					query,
446
						const std::string &			rootStructure,
447
						const int &					testScenario,
448
						const int &					transactionSpecification,
449
						const std::string &			transactionStructureHandle,
450
						int &						ordinal,
451
						TransactionSpecification &	transactions );
452
 
453
	const unsigned __fastcall countChildren(
454
						const std::string &	transactionStructureHandle,
455
						const bool &	isStructureRepeat );
456
	const unsigned __fastcall countChildren(
457
						const std::string &	attribute,
458
						const std::string &		transactionStructureHandle,
459
						const int &			repeatLimit = 1000 );
460
 
461
	void __fastcall clearTransactionSpecificationValueTree( TDBAdvGrid & grid );
462
	void __fastcall buildTransactionSpecificationValueTree(
463
						TDBAdvGrid &	grid,
464
						TADOQuery &		query );
465
	static const int countChildNodes(
466
						TDBAdvGrid &	grid,
467
						TADOQuery &		query,
468
						const int &		row,
469
						const int &		rows );
470
	void __fastcall getParentOrdinals( std::vector< int > & parents );
471
	const bool __fastcall isParent( const int & ordinal );
472
	void __fastcall readTransactionSpecifications(
473
						TransactionSpecification &	transaction,
474
						const int &					transactionSpecification );
475
	void __fastcall obsoleteTransactionSpecifications(
476
						const TransactionSpecification & transaction );
477
	void __fastcall TransactionGridRowChanging( TADOQuery & query, const char * structureName );
478
	void __fastcall buildTransactionTemplates( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
479
	void __fastcall loadLegacyHeaderValues( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
480
	void __fastcall loadLegacyParameters( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
481
	void __fastcall applyTemplatesToScenario( ProgressBar & progressBar, const int & scenario );
482
	void __fastcall applyTemplatesToTransaction(
483
									ProgressBar &					progressBar,
484
									const int &						transaction,
485
									const TestScenarioTemplate *	testScenario,
486
									const TestScenarioTemplate *	all );
487
	const unsigned __fastcall countTransactionsInScenario( const int & scenario );
488
	const unsigned __fastcall countTransactionsInIteration( const char * project, const int & iteration );
489
	void __fastcall buildTransactionsForIteration(
490
						TransactionCache &	transactionCache,
491
						ProgressBar &		progressBar,
492
						const std::string &	schema,
493
						const std::string &	project,
494
						const int &			iteration );
495
	void __fastcall buildTransactionsForScenario(
496
					TransactionCache &	transactionCache,
497
					ProgressBar &		progressBar,
498
					const int &			scenario,
499
					const std::string &	schema,
500
					const int &			iteration );
501
	void __fastcall buildExecutionSchedule(
502
						Iteration &			iteration,
503
						const std::string &	testcaseId );
504
	void __fastcall buildExecutionSchedule( TestScenario & testScenario );
505
	void __fastcall buildExecutionSchedule( TransactionSpecification & transactionSpecification );
506
	const bool __fastcall findSchema( std::string &			handle,
507
									  const AnsiString &	projectCode,
508
									  const int &			iteration );
509
	void __fastcall loadLegacyVariables(
510
						DefinedVariableTable &	variables,
511
						const AnsiString &		project,
2224 sbetterm 512
						Iteration &				iteration );
2222 sbetterm 513
	const bool __fastcall openSecurityFactory( const char * library = "SecurityWrapper.dll" );
514
	void __fastcall closeSecurityFactory();
515
	void __fastcall readSequences( SequenceCollection & sequences, const std::string & project, const int & iteration );
516
	void __fastcall writeSequences( const SequenceCollection & sequences, const std::string & project, const int & iteration );
2224 sbetterm 517
	void __fastcall importTransaction( const int & testScenarioNumber, const AnsiString & profile, const AnsiString & file );
2222 sbetterm 518
 
519
public:		// User declarations
520
	__fastcall TMainForm(TComponent* Owner);
521
	__fastcall virtual ~TMainForm();
522
	static const char *	g_headerStructure;
523
	static const int	g_messagePanel;
524
 
525
};
526
//---------------------------------------------------------------------------
527
extern PACKAGE TMainForm *MainForm;
528
//---------------------------------------------------------------------------
529
#endif