Page History
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
private void handleBridgeCallBacks(NAPMessage napMessage) {
System.out.println("Bridge got type NAPMessageType" + napMessage.getEvent().getNAPEventType());
switch (napMessage.getEvent().getNAPEventType()) {
case WebAppOpenPatientOpen:
try {
WebApp webApp = this.getWebAppById(
Configuration.getInstance().getNapAdminUrl(this.environment),
FHIRResoureValueGetter.getWebAppId(napMessage),
this.base64EncodedSAMLToken
sendCurrentPatient(txfCPR.getText(), napMessage.getDate(), napMessage.getId());
if (webApp != null) {break;
// ONLY Sent by NAP Lobby and Nap Platform.runLater(() -> this.webAppPane.openURL(webApp.getManifest().getUrl()));Test WEB
}case WebAppSelected:
} catch (ConnectException e) {
System.err.println("Kunne ikke oprette forbindelse til serveren"handleWebAppSelected(napMessage);
}// catchONLY (ExceptionSent e)by {
NAP Lobby and Nap e.printStackTrace();Test WEB
}
break;
case PatientOpenProjectsRetrieved:
sendCurrentPatient(txfCPR.getText(), napMessage.getDate(), napMessage.getId())filterProjectsRetrievedAndSendMessage(napMessage);
break;
case SessionOpenSessionClose:
sendTokenhandleSessionClose(napMessage);
break;
case SessionCloseSessionError:
sendSessionClosedhandleSessionError(napMessage);
break;
case SessionErrordefault:
sendSessionError(napMessageSystem.err.println("Unexpected event type: " + napMessage.getEvent().getNAPEventType());
}
}
} |
Når der skal sendes en NAP besked, kan der så gøres brug af bridgen. Call() tager imod en string, som angiver hvilken metode man vil kalde, her "handle", da det er den variable som SDK'et lytter på. Metoden sender en string, hvori indholdet repræsentere en JSON struktur med indholdet af en NAPMessage.
| Code Block | ||||
|---|---|---|---|---|
| ||||
if(napBridge.bridge != null) {
this.napBridge.bridge.call("handle", eventRawJSONString);
} |
NAP Lobby Web
Når kommunikationen er opsat med SDK'erne, eller initialt blot implementering af NapSessionOpen (NAP SDK - Guide til anvendere#Guidetilanvendere-Session-open/Session-close), er det nu klart til at vise alle de projekter der er tildelt.
...
...
NAP
...
Dette gøres ved at få WebView'et til at indlæse en af nedenstående URL'er til nap-lobby-web.
Test1: INDSÆT URL
Test2: INDSÆT URL
Produktion: INDSÆT URL
NAP Test Web
Projektet har til hensigt at teste, at der kan sendes og modtages beskender igennem NAP SDK'erne.
...
Dette afprøvningsprojekt ligger både på test1 og test2 og kan åbnes fra lobbyen i det givne miljø.
Når et projekt i lobbyen klikkes sendes et WebAppOpen event:
| Code Block | ||
|---|---|---|
| ||
/**
* Send and open-webapp event to over the host bridge
* @param webAppId the wep app id open
*/
public instructHostToOpenWebApp(webAppId: string): void {
const napMsg: NAPMessage = {
date: new Date().toISOString(),
id: UUID(),
event: {
type: NAPEventCatalogue.v1.WebAppOpen,
context: [
{
resource: {
resourceType: FHIRValueSetter.FHIRResourceType.Basic,
code: {
coding: [
{
code: NAPEventCatalogue.v1.WebAppOpen,
system: FHIRValueSetter.FHIRSystem.NAP,
},
],
},
identifier: [
{ system: FHIRValueSetter.FHIRSystem.NAP, value: webAppId },
],
},
},
],
},
};
this.napSDK.sendMessage(napMsg);
}
|
Et eksempel kunne være:
| Code Block | ||
|---|---|---|
| ||
{
"date":"2020-06-22T10:40:50.079Z",
"id":"43f642ed-b7ca-4c5b-91fc-e7fdf6e8ee4c",
"event":{
"type":"nap-open-webApp",
"context":[{
"resource":{
"resourceType":"Basic",
"code":{
"coding":[{
"code":"nap-open-webApp",
"system":"nap"
}]
},
"identifier":[{
"system":"nap",
"value":"11eaac74-505d-9772-ac11-0242c0a87002"
}]
}
}]
}
} |
Webappen med det givne id, kan så efterfølgende hentes på adminurl/webapp/id på hosten og åbnes i den indlejrede browser.
Test1: INDSÆT URL
Test2: INDSÆT URL
Produktion: INDSÆT URL
NAP Lobby Web
Når kommunikationen er opsat med SDK'erne, er det nu klart til at vise alle de projekter der er tildelt.
De forskellige typer events kan læses på NAP SDK - Guide til anvendere.
For at se de projekter der er tilgængelige, skal NAP Lobby Web åbnes i det nuværende system.
Dette gøres ved at få WebView'et til at indlæse en af nedenstående URL'er til nap-lobby-web.
Test1: INDSÆT URL
Test2: INDSÆT URL
...