question

Upvotes
Accepted
1 1 2 3

Correct way to structure a page partial update

Hello,

I am using EMA Java application to post page based data, in the case which we are required to post an update to a page which starts somewhere in the middle of the column (e.g. row 1, column 10). What is the correct way to structure the code to achieve this? I noticed if given just a String then it posts it directly from column 0, which is incorrect in this case...

I am working on using a ByteBuffer to post the update, with some information which was reverse engineered from this article: https://developers.refinitiv.com/en/article-catalog/article/how-to-parse-page-based-data-using-elektron-sdk-java


However there is no example of doing this when creating the packet. Is the below correct? And is there any examples in java of doing what I am describing?

private static final char CHAR_CSI = 0x9B;
private static final char HPA = 0x60;


// 1 + 4 + 1 + 80 = Bytes Required for all data
ByteBuffer bbuf = ByteBuffer.allocate(86);
bbuf.putChar(CHAR_CSI);
bbuf.putInt(column);
bbuf.putChar(HPA);
bbuf.put(page.getText().getBytes());


Many thanks

refinitiv-realtimeelektronelektron-sdkema-apirrtjava
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

· Write an Answer
Upvote
Accepted
87.3k 294 53 79

@Faris

The code should look like this:

                ByteBuffer bbuf = ByteBuffer.allocate(8);
                byte[] partial = {
                          27,//0x1B <CSI1>
                          91,//0x5B <CSI2>
                          49,48, //0x31 (1), 0x30 (0) 
                          96,//0x60 <HPA>
                          65,//0x41 (A)
                          66,//0x42 (B)
                          67 //0x43 (C)
                          };
                bbuf.put(partial);
                
                bbuf.rewind();
                fieldList.add(EmaFactory.createFieldEntry().buffer(215, bbuf));

The raw buffer in the trace file looks like this:

<fieldEntry fieldId="215" data="1B5B 3130 6041 4243"/>

The output is:

0123456789ABC34567890123456789012345678901234567890123456789

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.