You are on page 1of 8

TAFJ-T F_Co r e

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

Tel SB: +41 (0) 22 708 1150


Fax: +41 (0) 22 708 1160

Please include your name, company, address, and telephone and fax numbers, and email
address if applicable. TAFJdev@temenos.com

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

JBC Example of Coverage functions............................................................................... 6

StartRecordCalls()......................................................................................................... 6

StopRecordCalls().......................................................................................................... 7

DumpCalls(toFile)............................................................................................................ 7

JBC Example of Calls Recording functions..................................................................... 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

success = TF.Core.CoverageStart() ;* Start to send coverage information


success = TF.Core.CoverageReset() ;* Reset any information having been already
sent.

CALL . . .

success = TF.Core.CoverageStop() ;* Stop sending information ....


* Generate a report under in a specific folder called "FIRST", using the sources
specified in the second parameter
success = TF.Core.CoverageReport("FIRST", "/home/user/My/Source/Folder")

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")

TF.Core.StopRecordCalls() ;* Stop recording calls


TF.Core.DumpCalls("./Calls.txt") ;* Dump the calls in TAFJ_HOME/Calls.txt
END

And the resulting file is :

--> 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

You might also like