From 27dd048f950248f2993c24cceaf2874dc010e904 Mon Sep 17 00:00:00 2001 From: Wasin Waeosri Date: Thu, 5 Mar 2026 13:58:36 +0700 Subject: [PATCH 1/5] 1. Rebranded LSEG 2. Updated RTSDK links to be updated 3. Added JavaFX requirement and run information 4. Added JavaFX dependency to pom.xml --- .gitignore | 1 + README.md | 59 ++++++++++++++++++++++++++------------ images/run_speedguide.png | Bin 0 -> 84449 bytes pom.xml | 16 +++++++++-- 4 files changed, 55 insertions(+), 21 deletions(-) create mode 100644 images/run_speedguide.png diff --git a/.gitignore b/.gitignore index 104cb8c..107dc45 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /target /src/main/resources/images /src/main/resources/view +/javafx-sdk-17.0.18/ diff --git a/README.md b/README.md index 2171f42..33c7ce9 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # Speed Guide -The Speed Guide utility allows users and developers, who do not have access to **LSEG Workspace/Eikon** desktop applications, a simple and quick way to easily browse market data content available within Refinitiv's Data Platform. The following guide outlines the fundamental purpose of speed guides and provides basic instructions to use the utility. In addition, outlines the components and basic instructions to build the tool using the source code available within this project. +The Speed Guide utility allows users and developers, who do not have access to **LSEG Workspace/Eikon** desktop applications, a simple and quick way to easily browse market data content available within LSEG Real-Time Platform. The following guide outlines the fundamental purpose of speed guides and provides basic instructions to use the utility. In addition, outlines the components and basic instructions to build the tool using the source code available within this project. # Overview -The Speed Guide utility allows users and developers who do not have access to the desktop application to browse market data content available from Refinitiv's Data Platform. The utility provides access to either cloud-based, Real-Time -- Optimized services or directly to your deployed Real-Time servers. +The Speed Guide utility allows users and developers who do not have access to the desktop application to browse market data content available from LSEG Real-Time Platform. The utility provides access to either cloud-based, Real-Time -- Optimized services or directly to your deployed Real-Time servers. -When building applications consuming streaming market data, developers often need a list of RICs (Refinitiv Instrument Codes), and the values they contain, for certain market, exchange, or instrument types.  The list of fields provided for these instrument types will differ depending on the type of asset. To aid in the discovery and understanding of these assets, the Speed Guide utility is a graphical tool presenting data screen displays. These data screens, or ***speed guides***, help users navigate through the universe of RICs and list the fields available for the specific asset. Developers will be presented with a simple organization of the data to gain a better understanding which includes complex structures such as Option Chains, Indices, Futures, etc. +When building applications consuming streaming market data, developers often need a list of RICs (Instrument Codes), and the values they contain, for certain market, exchange, or instrument types.  The list of fields provided for these instrument types will differ depending on the type of asset. To aid in the discovery and understanding of these assets, the Speed Guide utility is a graphical tool presenting data screen displays. These data screens, or ***speed guides***, help users navigate through the universe of RICs and list the fields available for the specific asset. Developers will be presented with a simple organization of the data to gain a better understanding which includes complex structures such as Option Chains, Indices, Futures, etc. The Speed Guide tool registers for Snapshot only data content (i.e, non-streaming). @@ -16,7 +16,7 @@ The executable program and Readme is available for Download within the [LSEG Dev ## Running the Utility -The Speed Guide utility provides the ability to connect directly to the Refinitiv Data Platform, via Refinitiv Real-Time -- Optimized or access through your deployed Real-Time streaming server (ADS) available within the Refinitiv RTDS (Real-Time Distribution System). +The Speed Guide utility provides the ability to connect directly to the Real-Time -- Optimized (RTDS) or access through your deployed Real-Time streaming server (ADS) available within the RTDS (Real-Time Distribution System). The package includes 2 components offering multiple ways to launch the tool. Packaged are: @@ -30,7 +30,7 @@ Double-clicking either the _.jar_ or _.exe_ file will not pass any required conn If the required parameters are not specified, the application will present a [Connection Dialog](#usage) requesting for the required connection details. In either case, no console is involved thus no additional messages, such as log messages, can be viewed. -**Note**: Launching the executable JAR requires the [Javaw](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html) program to open it. When not associated, you will be presented with a request such as: +**Note**: Launching the executable JAR requires the [Java Web Start](https://docs.oracle.com/javase/8/docs/technotes/guides/javaws/) (javaw) program to open it. When not associated, you will be presented with a request such as: ![program](images/jarExtension.png) @@ -38,13 +38,28 @@ You will need to choose the Javaw program within your Java installation. ### Launching the tool from the console +Before running, please download the [JavaFX library](https://openjfx.io/) version that matches to your Java version to your machine. You can see the JDK and JavaFX compatibility information [here](https://gluonhq.com/products/javafx/). + At the console, you can pass command-line parameters to the utility: * #### Launching the executable JAR - \> **java -jar SpeedGuide.jar [connection parameters]** + \> **java --module-path ".\javafx-sdk-version\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics -jar ".\SpeedGuide.jar" [connection parameters]** + + Or + + \> **java -cp ./SpeedGuide.jar --module-path ./javafx-sdk-version/lib --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics com.lseg.ema.example.gui.SpeedGuide [connection parameters]** When launching the executable JAR, users optionally specify command-line options and have the opportunity to see the output on the console. + + Example: + + ```bash + java --module-path ".\javafx-sdk-17.0.18\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics -jar ".\SpeedGuide.jar" - --host=MY_ADS:14002 --username=USER1 --service=ELEKTRON_DD + ``` + + ![example](images/run_speedguide.png) + * #### Launching the windows wrapper EXE @@ -162,35 +177,39 @@ To demonstrate, we manually entered the Nasdaq Top 25 index _.AV.O_: We can see from above, the record contains a preset number of elements (1-14) and the ability to pull up the next group of elements within the _next link_. For a detailed outline of Chains, refer to the article: [Simple Chain Objects](https://developers.lseg.com/article/simple-chain-objects-ema-part-1) within the Developer Community. -Feel free to navigate through the guide to discover many other assets and data elements offered by Refinitiv. +Feel free to navigate through the guide to discover many other assets and data elements offered by LSEG. # Solution Code -The utility was developed using the [Refinitiv Real-Time SDK - Java](https://developers.lseg.com/en/api-catalog/refinitiv-real-time-opnsrc/rt-sdk-java) and Java's GUI library Java 8 - JavaFx. +The utility was developed using the [Real-Time SDK - Java](https://developers.lseg.com/en/api-catalog/real-time-opnsrc/rt-sdk-java) and Java's GUI library Java - JavaFx. ## Prerequisites Required software components: -* [Refinitiv Real-Time SDK - Java](https://developers.lseg.com/en/api-catalog/refinitiv-real-time-opnsrc/rt-sdk-java) (2.0.1.L1 or greater) - Refinitiv interface to streaming, real-time services. -* [JDK 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) - Java Development Kit - version 8. +* [Real-Time SDK - Java edition](https://developers.lseg.com/en/api-catalog/real-time-opnsrc/rt-sdk-java) (2.0.1.L1 or greater) - LSEG Enterprise Message API to streaming, real-time services. +* Supported Java SDKs - Required to build and run the application. Please check supported SDK versions from the [API Compatibility Matrix](https://developers.lseg.com/en/api-catalog/real-time-opnsrc/rt-sdk-java/documentation#api-compatibility-matrix) page. +* [JavaFX library](https://openjfx.io/) - Required for the JavaFX UI components used by this project. Please choose the version that matches to your Java version. You can see the JDK and JavaFX compatibility information [here](https://gluonhq.com/products/javafx/). + Note: Java FX has been removed from the Java SDK by oracle since April 15, 2025 (Java 8 update 451). * [VScode](https://code.visualstudio.com/Download) - Visual Studio Code ## Building and running -The Java FXML project is a Maven-based solution that generates the desired package for distribution. As defined within the pom.xml configuration file, the packaging uses -the Launch4j plugin to help prepare a Windows package. Users can optionally remove this stanza if there is no desire to generate an EXE file for Windows. If -there is a desire to use this plugin, it assumes the following JDK installation (Note: you can update to suit your environment) +The Java FXML project is a Maven-based solution that generates a bundled distribution package using: -``` - - C:\Program Files\Common Files\Oracle\javapath - 1.8.0 - +* `maven-shade-plugin` to build the executable JAR with dependencies. +* `jlink` to generate a local runtime image that includes JavaFX modules. +* `launch4j-maven-plugin` to build a Windows EXE that points to the bundled runtime folder. +* `maven-assembly-plugin` to zip the JAR, EXE, and runtime image for distribution. + +Build the package using: + +```bash +mvn clean package ``` -The project was built using VS Code and Maven. +After packaging, the generated ZIP contains `SpeedGuide.jar`, `SpeedGuide.exe`, and a `runtime/` folder required by the EXE. ## Contributing @@ -200,6 +219,8 @@ Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c6 | **Name** | **Release** | **Details** | | --- | --- | --- | +| Wasin Waeosri | Release 4.1.0 | Add JavaFX information when run jar file | +| | | Add JavaFX dependencies to pom.xml | | Nick Zincone | Release 4.1.0 | Ability to specify region | | | | Default service based on Directory interrogation | | Nick Zincone | Release 4.0.0 | Added access to Real-Time -- Optimized v2 authentication. Rebranded (LSEG) | diff --git a/images/run_speedguide.png b/images/run_speedguide.png new file mode 100644 index 0000000000000000000000000000000000000000..e757e0bfcd9115aa186343de3bb5615f144cf161 GIT binary patch literal 84449 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 QPq7HWI`Qp?jTSTg%@7^!fF$tl?rSCnjl> z#fh~Gugifu=8gF|vpw8+v3j;znKxcwxQev=$j3;B@L~3y8MgQ4n^)mjgHJlT@S36X zW|pBEkMLJw01fAZgqm%5;fQC1uY+(cJE4z*w(CDLsM!9W(k)_8G7X@9_#5S@#qxS? zdh&OzI8gd78gNt1|6wljDZjdkD-K1?0+E3ZRFkxqG+>jzye%b}3+u4D^a#%MJ!<8h z7%a5kTb8Lbrz?xgtHGUukK-MZv^5+h0&}u}sqSYUoZR3SZOfSK6{O3>_899GO@{rV zZ43$B>Pqa}b~|x|XRTd*2P{6h=(-$aIXS7(#_$xUG0?50$tQ|pKt8vtLnBd@yY?_X@)2%p&@ubQ_89REuwalm!n66~SB R9vS7GX>Mv|Lb>V^^>56!y9NLN literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 8bb202d..f0a7167 100644 --- a/pom.xml +++ b/pom.xml @@ -17,6 +17,7 @@ 8 8 UTF-8 + 17.0.18 @@ -30,7 +31,18 @@ com.refinitiv.eta eta 3.7.2.0 - + + + + org.openjfx + javafx-fxml + ${javafx.version} + + + org.openjfx + javafx-controls + ${javafx.version} + @@ -146,7 +158,7 @@ com.akathist.maven.plugins.launch4j launch4j-maven-plugin - 2.4.1 + 2.7.0 l4j-clui From 2dd8817051b57e6d79c82033e21dce599a1b05d0 Mon Sep 17 00:00:00 2001 From: Wasin Waeosri Date: Thu, 5 Mar 2026 13:59:13 +0700 Subject: [PATCH 2/5] changed launch4j back to 2.4.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f0a7167..70cb826 100644 --- a/pom.xml +++ b/pom.xml @@ -158,7 +158,7 @@ com.akathist.maven.plugins.launch4j launch4j-maven-plugin - 2.7.0 + 2.4.1 l4j-clui From 82e318358be79ccd2707164f5df24f0b9da12620 Mon Sep 17 00:00:00 2001 From: Wasin Waeosri Date: Fri, 6 Mar 2026 14:05:02 +0700 Subject: [PATCH 3/5] fix README.md error --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 33c7ce9..bde9769 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Speed Guide -The Speed Guide utility allows users and developers, who do not have access to **LSEG Workspace/Eikon** desktop applications, a simple and quick way to easily browse market data content available within LSEG Real-Time Platform. The following guide outlines the fundamental purpose of speed guides and provides basic instructions to use the utility. In addition, outlines the components and basic instructions to build the tool using the source code available within this project. +The Speed Guide utility allows users and developers, who do not have access to **LSEG Workspace** desktop applications, a simple and quick way to easily browse market data content available within LSEG Real-Time Platform. The following guide outlines the fundamental purpose of speed guides and provides basic instructions to use the utility. In addition, outlines the components and basic instructions to build the tool using the source code available within this project. # Overview @@ -52,11 +52,7 @@ At the console, you can pass command-line parameters to the utility: When launching the executable JAR, users optionally specify command-line options and have the opportunity to see the output on the console. - Example: - - ```bash - java --module-path ".\javafx-sdk-17.0.18\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics -jar ".\SpeedGuide.jar" - --host=MY_ADS:14002 --username=USER1 --service=ELEKTRON_DD - ``` + See examples below. ![example](images/run_speedguide.png) @@ -111,8 +107,11 @@ At the console, you can pass command-line parameters to the utility: --d[ebug] Debug Mode. Display verbose messages to the console --h[elp] Prints this screen + The following example shows the command-line parameters to connect to either an ADS or directly to Real-Time -- Optimized in the cloud. +* java --module-path ".\javafx-sdk-17.0.18\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics -jar ".\SpeedGuide.jar" --host=MY_ADS:14002 --username=USER1 --service=ELEKTRON_DD +* java -cp ./SpeedGuide.jar --module-path ./javafx-sdk-21.0.10/lib --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics com.lseg.ema.example.gui.SpeedGuide --clientId=GE-XXXX1234XXXX --clientSecret=9x999999-9xxx-9999-9x99-9x9xx99x9x99 --region=ap-northeast-1 * SpeedGuide.exe --host=myserver:14002 --service=ELEKTRON_AD --user=testuser --appid=256 --position=127.0.0.1 * SpeedGuide.exe --clientId=GE-XXXX1234XXXX --clientSecret=9x999999-9xxx-9999-9x99-9x9xx99x9x99 * SpeedGuide.exe --clientId=GE-123X9ABCDE9Z --clientSecret=9z123456-9abc-5555-9a12-1a2bc34d5e67 --region=eu-west-1 From faee8c2a816f6f835077c79f8d63467b2239e4d7 Mon Sep 17 00:00:00 2001 From: Wasin Waeosri Date: Wed, 11 Mar 2026 11:45:17 +0700 Subject: [PATCH 4/5] Added note about no-SLA and no-guarantee support. Added Q&A forum. --- README.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index bde9769..e2ba670 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,14 @@ # Speed Guide + The Speed Guide utility allows users and developers, who do not have access to **LSEG Workspace** desktop applications, a simple and quick way to easily browse market data content available within LSEG Real-Time Platform. The following guide outlines the fundamental purpose of speed guides and provides basic instructions to use the utility. In addition, outlines the components and basic instructions to build the tool using the source code available within this project. +#### Important Note + +This Speed Guide tool is intended solely for demonstration and data exploration purposes and must not be deployed in any production environment. It is provided "AS IS," without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement. No service level agreement (SLA), product support, or maintenance obligations are provided or implied. + +If you have any questions regarding how to use the tool, please post the question on the Developer Portal [Q&A forum](https://community.developers.lseg.com/) page. -# Overview +## Overview The Speed Guide utility allows users and developers who do not have access to the desktop application to browse market data content available from LSEG Real-Time Platform. The utility provides access to either cloud-based, Real-Time -- Optimized services or directly to your deployed Real-Time servers. @@ -210,6 +216,10 @@ mvn clean package After packaging, the generated ZIP contains `SpeedGuide.jar`, `SpeedGuide.exe`, and a `runtime/` folder required by the EXE. +## Troubleshooting + +As I have mentioned above. This tool is provided "as" with no service level agreement (SLA). If you have any questions regarding how to use the tool, please post the question on the Developer Portal [Q&A forum](https://community.developers.lseg.com/) page. + ## Contributing Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us. @@ -218,8 +228,9 @@ Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c6 | **Name** | **Release** | **Details** | | --- | --- | --- | -| Wasin Waeosri | Release 4.1.0 | Add JavaFX information when run jar file | -| | | Add JavaFX dependencies to pom.xml | +| Wasin Waeosri | Release 4.1.0 | Added JavaFX information when run jar file | +| | | Added JavaFX dependencies to pom.xml | +| | | Added information about Q&A forum and product non-SLA | | Nick Zincone | Release 4.1.0 | Ability to specify region | | | | Default service based on Directory interrogation | | Nick Zincone | Release 4.0.0 | Added access to Real-Time -- Optimized v2 authentication. Rebranded (LSEG) | @@ -231,11 +242,6 @@ Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c6 | | | Utilized JavaFX Scene Builder to generate FXML | | Susana Chang | Release 1.1 | Initial implementation | - - - - - ## License This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details From a949f85e7d045a131d260b919e8b37e06fcbd289 Mon Sep 17 00:00:00 2001 From: Wasin Waeosri Date: Wed, 11 Mar 2026 13:00:03 +0700 Subject: [PATCH 5/5] added bold to SLA messages --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e2ba670..13647fc 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ The Speed Guide utility allows users and developers, who do not have access to * #### Important Note -This Speed Guide tool is intended solely for demonstration and data exploration purposes and must not be deployed in any production environment. It is provided "AS IS," without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement. No service level agreement (SLA), product support, or maintenance obligations are provided or implied. +**This Speed Guide tool is intended solely for demonstration and data exploration purposes and must not be deployed in any production environment. It is provided "AS IS," without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, or non-infringement. No service level agreement (SLA), product support, or maintenance obligations are provided or implied.** -If you have any questions regarding how to use the tool, please post the question on the Developer Portal [Q&A forum](https://community.developers.lseg.com/) page. +**If you have any questions regarding how to use the tool, do not contact the Support team but please post the question on the Developer Portal [Q&A forum](https://community.developers.lseg.com/) page.** ## Overview @@ -218,7 +218,7 @@ After packaging, the generated ZIP contains `SpeedGuide.jar`, `SpeedGuide.exe`, ## Troubleshooting -As I have mentioned above. This tool is provided "as" with no service level agreement (SLA). If you have any questions regarding how to use the tool, please post the question on the Developer Portal [Q&A forum](https://community.developers.lseg.com/) page. +**As I have mentioned above. This tool is provided "as" with no service level agreement (SLA). If you have any questions regarding how to use the tool, please post the question on the Developer Portal [Q&A forum](https://community.developers.lseg.com/) page.** ## Contributing