TAFJ-TF Core
TAFJ-TF Core
TAFJ-TF Core
R20
TAFJ-T F_Co r e
Amendment History:
Revisio
Date Amended Name Description
n
1 22nd Dec 2016 T. Aubert Initial version
2 20th Jan 2017 T. Aubert Record and Dump Calls
3 23rd Jan 2017 T. Aubert DumpCommo
4 22st Mar 2017 H. Aubert R19 Review
Preethi Pon
5 24th Mar 2020 R20 AMR Review
Evangelin P
Page 2
TAFJ-T F_Co r e
C o pyri g h t
Copyright © Temenos Headquarters SA 2009-2020. All rights reserved.
This document contains proprietary information that is protected by copyright. No part of this document may
be reproduced, transmitted, or made available directly or indirectly to a third party without the express
written agreement of TEMENOS UK Limited. Receipt of this material directly TEMENOS UK Limited
constitutes its express permission to copy. Permission to use or copy this document expressly excludes
modifying it for any purpose, or using it to create a derivative therefrom.
Err a t a a n d C o m m e n t s
If you have any comments regarding this manual or wish to report any errors in the
documentation, please document them and send them to the address below:
Technology Department
Temenos Headquarters SA
2 Rue de l’Ecole-de-Chimie,
CH - 1205 Geneva,
Switzerland
Please include your name, company, address, and telephone and fax numbers, and email
address if applicable. [email protected]
Page 3
TAFJ-T F_Co r e
Ta b l e o f C o n t e n t s
Copyright................................................................................................................................................ 3
Errata and Comments............................................................................................................................ 3
Introduction........................................................................................................................... 5
The methods......................................................................................................................... 5
CoverageStart()............................................................................................................... 5
CoverageReset()............................................................................................................. 5
CoverageStop()............................................................................................................... 6
CoverageReport(ReportID, FullPathToSource)............................................................... 6
StartRecordCalls()......................................................................................................... 6
StopRecordCalls().......................................................................................................... 7
DumpCalls(toFile)............................................................................................................ 7
DumpCommon(toFile)..................................................................................................... 8
Page 4
TAFJ-T F_Co r e
Intr o d u c ti o n
The TF.Core component is a T24 Component, implemented only in TAFJ. The usage of this
component won’t break the compilation of TAFC, but any invocation of its method will have
no effect outside of TAFJ.
The implementations of the different methods of this component are not done in jBC. There is
part of the core component of TAFJ. For this reason, we can consider the methods as an
extension of the jBC language
This document will describe the different methods available in the TF.Core component.
Note that in order to use it, you will need, as any other component to specify
$USING TF.Core
The m e t h od s
C ov e r a g e S t a r t ( )
Parameters : None
Return value : 1 = success, 0 = failure
Description : Start to send coverage information to the Coverage receiver defined in the
configuration file.
Note that the CCReceiver must be started as well as the Instance related to the port
specified in the configuration file (.properties).
t e m n . t afj. r u n ti m e. c ov e r a g e. h o s t = < h o s t_n a m e_o r_ip >
t e m n . t afj. r u n ti m e. c ov e r a g e. p o r t = < p o r t_of_t h e_in s t a n c e_r u n ni n g >
It the property t e m n . t afj. r u n ti m e. e n a bl e. c ov e r a g e is set to true, the runtime is already
sending coverage information and this method won’t have any effect.
C ov e r a g e R e s e t ( )
Parameters : None
Return value : 1 = success, 0 = failure
Description : Reset any coverage information. This is important to invoke it as the runtime
remember what lines have been sent to the Receiver and do usually not resend them.
Page 5
TAFJ-T F_Co r e
C ov e r a g e S t o p ( )
Parameters : None
Return value : 1 = success, 0 = failure
Description : Tells the runtime to stop collecting the touched lines.
C ov e r a g e R e p o r t ( R e p o r tI D , F u l l P a t hT o S o u r c e )
Parameters :
ReportID : any name which will the name of the folder containing the report. This folder will
be in the default <CoverageReceiverHome>/data/<INSTANCENAME> destination
FullPathToSource : Path to the sources of the runtime to generate a full report including the
sources and highlighted touched lines. Note that this path is on the server (the machine
where the CCReceiver runs)
Return value : 1 = success, 0 = failure
Description : Generate a Coverage report.
JBC Ex a m p l e o f C ov e r a g e f u n c t i o n s
$USING TF.Core
CALL . . .
S t a r t R e c o r d C a l l s ()
Tells the runtime to start recording every calls with their parameter. Warning, this can slow
down the system, and it can also consume a lot of memory. This should not be activated for
a long period of time. When invoked, any recorded call stack is cleared before starting to
record. Return 1 = success, 0 = failure. In case of failure, check the runtime.log
Page 6
TAFJ-T F_Co r e
S t o p R e c o r d C a l l s ()
Stop to record the calls. This has no impact on the recorded calls. Return 1 = success, 0 =
failure. In case of failure, check the runtime.log
D u m pCall s (t oFil e )
Dump (write) the recorded calls in the file specified. If the file (path) is not absolute, this will
be relative to your TAFJ_HOME. If the folder do not exists, it will be created. Return 1 =
success, 0 = failure. In case of failure, check the runtime.log
JBC Ex a m p l e o f C a l l s R e c o r d i n g f u n c t i o n s
$PACKAGE TH.Test
PROGRAM MAIN
$USING TF.Core
TF.Core.StartRecordCalls() ;* Start recording calls
TH.Test.subrA("Hello")
--> SUBR.A('Hello')
--> SUBR.B('[...]', 'Hello')
<-- SUBR.B(...)
<-- SUBR.A(...)
You will notice the parameter […] in the call SUBR.B. This means this is a DIMmed array
(MAT param)
Also, the name of the implementation is shown, not the Method alias.
Page 7
TAFJ-T F_Co r e
D u m pC o m m o n ( t oFil e )
Dump all known common to the file specified.
The format is
<COMMON_BLOCK_NAME>
COMMONVar [(idx)] : COMMONValue
</ COMMON_BLOCK_NAME>
Example :
< T H E.GLOBUS.CO M M O N >
R. N E W( 1) : S o m e t hi n g
R. N E W( 2) : S o m e t hi n g El s e
...
R. N E W( 4 9 9) : 0
R. N E W( 5 0 0) : 0
CO MI : H ello CO MI
ETEXT : S o m e t hi n g in ET EXT
< / T H E.GLOBUS.CO M M O N >
< G L OB U S 1 >
R U N N I NG.IN.JBASE : 0
< / GLOB U S 1 >
Page 8