Skip to content

Commit a71b7b4

Browse files
authored
Planned/6.0.0 (#32)
Merge to master to release updated examples
1 parent 4c25353 commit a71b7b4

File tree

13 files changed

+1285
-44
lines changed

13 files changed

+1285
-44
lines changed

README.md

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,33 @@ You can build the JAR files and the launch4j executable file using the `mvn pack
1515
- JavaSwingExample - Example Java Swing application
1616
- JavaHeadlessExample - Example of a window-less Java application
1717
- AuthenticationExample - Example component that performs authentication from within Java
18+
- MultiWindow - JavaSwingExample - Same as JavaSwingExample but running in multi-window (several windows running under the same
19+
process)
20+
- MultiWindow - AuthenticationExample - Same as AuthenticationExample but running in multi-window (several windows running under the same
21+
process)
22+
- InteropServiceExample - Example of JavaFX FDC3 Desktop Agent client
1823

1924
## Configuring the Java examples
2025
Copy the _java-example.json_ included in the project to _src/components/java-example/java-example.json_. Update the application manifest to include:
2126
``` JSON
2227
"finsemble": {
23-
"applicationRoot": "http://localhost:3375",
24-
"moduleRoot": "http://localhost:3375/finsemble",
25-
"servicesRoot": "http://localhost:3375/finsemble/services",
26-
"notificationURL": "http://localhost:3375/components/notification/notification.html",
27-
"javaExampleJarRoot": "<path to finsemble-java-example target (e.g. C:/Users/andy/Documents/SourceCode/finsemble-java-example/target)>",
28+
...,
29+
"custom": {
30+
"javaExampleJarRoot": "<path_to_the_jar_files_directory>"
31+
},
2832
"importConfig": [
29-
"$applicationRoot/configs/application/config.json",
30-
"$applicationRoot/components/java-example/java-example.json"
31-
],
32-
"IAC": {
33-
"serverAddress" : "ws://127.0.0.1:3376"
34-
}
33+
"../../configs/application/config.json",
34+
"../../configs/application/java-example.json"
35+
]
3536
}
3637
```
3738

38-
**NOTE:** The _java-example.json_ file includes two copies of the JavaFX example: Java Example (local) and Java Example (asset). The "local" component uses `javaExampleRoot` to specify the path to the JAR file on the local system. The "asset" component uses the `appAsset` (described below) to download and run the application.
39+
**NOTE:**
40+
- The _java-example.json_ file includes two copies of the JavaFX example:
41+
- Java Example (local)
42+
- Java Example (asset).
43+
44+
The "local" component uses `javaExampleRoot` to specify the path to the JAR file on the local system. The "asset" component uses the `appAsset` to download and run the application - Please refer to our tutorial
45+
on [integrating native applications](https://documentation.finsemble.com/tutorial-integratingNativeApplications.html) for more details.
46+
47+

appd.json

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{
2+
"appd": {
3+
"Java FDC3 Desktop Client": {
4+
"appId": "Java FDC3 Desktop Client",
5+
"name": "Java FDC3 Desktop Client",
6+
"description": "Java FDC3 Desktop Agent Client example app, by Cosaic.",
7+
"manifest": {
8+
"window": {
9+
"id": "InteropServiceExampleApplication",
10+
"windowType": "FinsembleNativeWindow",
11+
"path": "$javaExampleJarRoot/InteropServiceExampleApplication.jar",
12+
"arguments": "",
13+
"defaultHeight": 600,
14+
"autoShow": true,
15+
"alwaysOnTop": false,
16+
"resizable": true,
17+
"showTaskbarIcon": false,
18+
"contextMenu": true,
19+
"addToWorkspace": true,
20+
"options": {
21+
"customData": {
22+
"authenticationToken": "fooBar"
23+
}
24+
}
25+
},
26+
"component": {
27+
"mode": "native",
28+
"category": "system"
29+
},
30+
"foreign": {
31+
"services": {
32+
"workspaceService": {
33+
"allowAutoArrange": true
34+
}
35+
},
36+
"components": {
37+
"App Launcher": {
38+
"launchableByUser": true
39+
},
40+
"Window Manager": {
41+
"persistWindowState": false,
42+
"FSBLHeader": true
43+
},
44+
"Toolbar": {
45+
"iconURL": "$applicationRoot/assets/img/notepad.png"
46+
}
47+
}
48+
},
49+
"interop": {
50+
"rewire": [
51+
{
52+
"contextType": "layout",
53+
"fwd": "#Workspace"
54+
},
55+
{
56+
"contextType": "fdc3.instrument",
57+
"cc": "#Workspace"
58+
}
59+
]
60+
}
61+
},
62+
"version": "1.0.0",
63+
"tooltip": "ChartIQ Technical Chart",
64+
"images": [
65+
{
66+
"url": "https://i.imgur.com/10C3LdH.png",
67+
"tooltip": "ChartIQ FDC3 compatible chart"
68+
}
69+
],
70+
"tags": ["fdc3"],
71+
"contactEmail": "[email protected]",
72+
"supportEmail": "[email protected]",
73+
"publisher": "Cosaic",
74+
"icons": [
75+
{
76+
"url": "https://i.imgur.com/mpBdiHd.png"
77+
}
78+
],
79+
"intents": [
80+
{
81+
"name": "ViewChart",
82+
"displayName": "View Chart",
83+
"contexts": ["fdc3.instrument"]
84+
}
85+
]
86+
}
87+
}
88+
}

java-example.json

Lines changed: 84 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
"Java Example (local)": {
44
"window": {
55
"id": "JavaExample",
6-
"windowType": "native",
6+
"windowType": "FinsembleNativeWindow",
77
"path": "$javaExampleJarRoot/FinsembleJavaFXExample.jar",
8-
"url": "",
98
"arguments": "",
109
"defaultHeight": 600,
1110
"autoShow": true,
@@ -21,7 +20,7 @@
2120
"foreign": {
2221
"services": {
2322
"workspaceService": {
24-
"isArrangable": true
23+
"allowAutoArrange": true
2524
}
2625
},
2726
"components": {
@@ -41,9 +40,8 @@
4140
"Java Example (asset)": {
4241
"window": {
4342
"id": "JavaExample",
44-
"windowType": "native",
43+
"windowType": "FinsembleNativeWindow",
4544
"alias": "finsembleJavaExample",
46-
"url": "",
4745
"arguments": "",
4846
"defaultHeight": 600,
4947
"autoShow": true,
@@ -59,7 +57,7 @@
5957
"foreign": {
6058
"services": {
6159
"workspaceService": {
62-
"isArrangable": true
60+
"allowAutoArrange": true
6361
}
6462
},
6563
"components": {
@@ -79,9 +77,8 @@
7977
"Java Swing Example": {
8078
"window": {
8179
"id": "JavaExample",
82-
"windowType": "native",
80+
"windowType": "FinsembleNativeWindow",
8381
"path": "$javaExampleJarRoot/JavaSwingExample.jar",
84-
"url": "",
8582
"arguments": "",
8683
"defaultHeight": 600,
8784
"autoShow": true,
@@ -97,7 +94,7 @@
9794
"foreign": {
9895
"services": {
9996
"workspaceService": {
100-
"isArrangable": true
97+
"allowAutoArrange": true
10198
}
10299
},
103100
"components": {
@@ -116,7 +113,7 @@
116113
},
117114
"Java Authentication Example": {
118115
"window": {
119-
"windowType": "native",
116+
"windowType": "FinsembleNativeWindow",
120117
"path": "$javaExampleJarRoot/FinsembleJavaAuthenticationExample.jar",
121118
"top": "center",
122119
"left": "center",
@@ -138,7 +135,7 @@
138135
"foreign": {
139136
"services": {
140137
"workspaceService": {
141-
"isArrangable": false
138+
"allowAutoArrange": false
142139
}
143140
},
144141
"components": {
@@ -155,9 +152,8 @@
155152
"Java Headless Example": {
156153
"window": {
157154
"id": "JavaExample",
158-
"windowType": "native",
155+
"windowType": "FinsembleNativeWindow",
159156
"path": "$javaExampleJarRoot/FinsembleJavaHeadlessExample.jar",
160-
"url": "",
161157
"arguments": "",
162158
"defaultHeight": 600,
163159
"autoShow": true,
@@ -173,7 +169,7 @@
173169
"foreign": {
174170
"services": {
175171
"workspaceService": {
176-
"isArrangable": true
172+
"allowAutoArrange": true
177173
}
178174
},
179175
"components": {
@@ -189,6 +185,80 @@
189185
}
190186
}
191187
}
188+
},
189+
"MultiWindow - JavaSwingExample": {
190+
"window": {
191+
"id": "MultiWindowJavaSwingExample",
192+
"windowType": "FinsembleNativeWindow",
193+
"path": "$javaExampleJarRoot/MultiWindowJavaSwingExample.jar",
194+
"arguments": "example=JavaSwingExample",
195+
"defaultHeight": 600,
196+
"autoShow": true,
197+
"alwaysOnTop": false,
198+
"resizable": true,
199+
"showTaskbarIcon": false,
200+
"contextMenu": true,
201+
"addToWorkspace": true
202+
},
203+
"component": {
204+
"spawnOnStartup": false
205+
},
206+
"foreign": {
207+
"services": {
208+
"workspaceService": {
209+
"allowAutoArrange": true
210+
}
211+
},
212+
"components": {
213+
"App Launcher": {
214+
"launchableByUser": true
215+
},
216+
"Window Manager": {
217+
"persistWindowState": false,
218+
"FSBLHeader": true
219+
},
220+
"Toolbar": {
221+
"iconURL": "$applicationRoot/assets/img/notepad.png"
222+
}
223+
}
224+
}
225+
},
226+
"MultiWindow - AuthenticationExample": {
227+
"window": {
228+
"id": "MultiWindowJavaSwingExample",
229+
"windowType": "FinsembleNativeWindow",
230+
"path": "$javaExampleJarRoot/MultiWindowJavaSwingExample.jar",
231+
"arguments": "example=AuthenticationExample",
232+
"defaultHeight": 600,
233+
"autoShow": true,
234+
"alwaysOnTop": false,
235+
"resizable": true,
236+
"showTaskbarIcon": false,
237+
"contextMenu": true,
238+
"addToWorkspace": true
239+
},
240+
"component": {
241+
"spawnOnStartup": false
242+
},
243+
"foreign": {
244+
"services": {
245+
"workspaceService": {
246+
"allowAutoArrange": true
247+
}
248+
},
249+
"components": {
250+
"App Launcher": {
251+
"launchableByUser": true
252+
},
253+
"Window Manager": {
254+
"persistWindowState": false,
255+
"FSBLHeader": true
256+
},
257+
"Toolbar": {
258+
"iconURL": "$applicationRoot/assets/img/notepad.png"
259+
}
260+
}
261+
}
192262
}
193263
}
194264
}

logging.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
22

33
java.util.logging.ConsoleHandler.level=INFO
44
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
5-
5+
66
java.util.logging.FileHandler.level=INFO
77
java.util.logging.FileHandler.pattern=%t/FinsembleJavaTest.log
88
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
9-
9+
1010
# Write 10MB before rotating this file
1111
java.util.logging.FileHandler.limit=10000000
12-
12+
1313
# Number of rotating files to be used
1414
java.util.logging.FileHandler.count=4
15-
15+
1616
.level=ALL

0 commit comments

Comments
 (0)