diff --git a/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/DmnBean.java b/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/DmnBean.java deleted file mode 100644 index 58f01578dbff91f173cf45a29b9ba562ac40ca1a..0000000000000000000000000000000000000000 --- a/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/DmnBean.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.unikoblenz.fgbks.dmn.frontend; - -import java.io.Serializable; -import javax.enterprise.context.SessionScoped; -import javax.json.bind.annotation.JsonbProperty; - -@SessionScoped -public class DmnBean implements Serializable { - - @JsonbProperty("camundaUrl") - protected String camundaUrl = ""; - - @JsonbProperty("dmnXml") - protected String dmnXml; - - public String getDmnXml() { - return dmnXml; - } - - public void setDmnXml(String dmnXml) { - this.dmnXml = dmnXml; - } - - public String getCamundaUrl() { - return camundaUrl; - } - - public void setCamundaUrl(String camundaUrl) { - this.camundaUrl = camundaUrl; - } -} diff --git a/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/DmnSessionApi.java b/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/DmnSessionApi.java deleted file mode 100644 index 08dc705f4564eca81fda908d5aa53883653d79fc..0000000000000000000000000000000000000000 --- a/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/DmnSessionApi.java +++ /dev/null @@ -1,40 +0,0 @@ -package de.unikoblenz.fgbks.dmn.frontend; - -import javax.inject.Inject; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("/dmn") -public class DmnSessionApi { - - @Inject - DmnBean dmnBean; - - @GET - @Produces(MediaType.APPLICATION_JSON) - public Response getSessionDmn() { - if (dmnBean.getDmnXml() == null) { - return Response.noContent().build(); - } - return Response.ok(dmnBean).build(); - } - - @POST - @Path("/setDmn") - @Consumes(MediaType.TEXT_XML) - public void setSessionDmn(String dmnXml) { - dmnBean.setDmnXml(dmnXml); - } - - @POST - @Path("/setCamundaUrl") - @Consumes(MediaType.TEXT_PLAIN) - public void setCamundaUrl(String camundaUrl) { - dmnBean.setCamundaUrl(camundaUrl); - } -} diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnCamundaApi.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnCamundaApi.js index 98f1f42e09d193568dbb3177c598212a652bdc84..afeb3400aa8a323845800c0e7ae4f8a630ca276c 100644 --- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnCamundaApi.js +++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnCamundaApi.js @@ -1,4 +1,6 @@ const engineUrl = 'engine-rest/'; +const SESSION_KEY_CAMUNDA_URL = 'camundaUrl'; + let camundaEngineUrl = ''; let connectionSuccess = false; let $camundaApiRoot = $('#camunda-api-root'); @@ -10,6 +12,10 @@ let $buttonConnectCamundaUrl = $(` <button class="clickable modal-element" size="60" id="camunda-connect" onclick="connectCamunda()">Connect</button> `); +let $buttonDisconnectCamundaUrl = $(` + <button class="clickable modal-element" size="60" id="camunda-disconnect" + onclick="diconnectCamunda()">Disconnect</button> +`); let $selectCamundaDecisions = $( `<select class="clickable modal-element" name="decisions" id="select-camunda-decisions" @@ -37,6 +43,9 @@ function refreshParams() { $textCamundaUrl.val(camundaEngineUrl); $camundaApiContainer.empty(); if (connectionSuccess) { + $camundaApiContainer.append( + $(`<div>Camunda Server: ${camundaEngineUrl}</div>`)); + $camundaApiContainer.append($buttonDisconnectCamundaUrl); $camundaApiContainer.append($selectCamundaDecisions); $camundaApiContainer.append($buttonDeployDmn); } else { @@ -57,6 +66,15 @@ function connectCamunda() { requestOptionsCamundaDecisions(); } +function diconnectCamunda() { + connectionSuccess = false; + $textCamundaUrl.val(''); + camundaEngineUrl = $textCamundaUrl.val(); + $selectCamundaDecisions.empty(); + resetCamundaUrl(); + refreshParams(); +} + function deployDmn() { let dmnXml = exportDiagram(); if (dmnXml) { @@ -97,40 +115,23 @@ function deployDmn() { } function saveCamundaUrl() { - $.ajax({ - timeout: 1000, - url: "/dmn/setCamundaUrl", - type: 'POST', - contentType: 'text/plain', - data: $textCamundaUrl.val(), - error: function (err) { - // nothing - console.log(err); - } - }); + // Save data to sessionStorage + localStorage.setItem(SESSION_KEY_CAMUNDA_URL, $textCamundaUrl.val()); } -function loadCamundaSessionParams() { - $.ajax({ - timeout: 1000, - url: "/dmn", - type: 'GET', - contentType: 'application/json', - error: function (err) { - camundaEngineUrl = ''; - connectionSuccess = false; +function resetCamundaUrl() { + // Reset data from sessionStorage + localStorage.removeItem(SESSION_KEY_CAMUNDA_URL); +} - refreshParams(); - }, - success: function (data) { - if (data !== undefined && data.camundaUrl !== undefined) { - camundaEngineUrl = data.camundaUrl; - } else { - camundaEngineUrl = ''; - } - refreshParams(); - } - }); +function loadCamundaSessionParams() { + let url = localStorage.getItem(SESSION_KEY_CAMUNDA_URL); + if (url !== null && url !== 'undefined') { + camundaEngineUrl = url; + } else { + camundaEngineUrl = ''; + } + refreshParams(); } function requestOptionsCamundaDecisions() { diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnUpDownload.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnUpDownload.js index d96a586f152c359a7f4b03d70820cc39b40d0d4b..21530b25bdba49bf880e2b6abd006704eed03199 100644 --- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnUpDownload.js +++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnUpDownload.js @@ -1,3 +1,5 @@ +const SESSION_KEY_CURRENT_DMN = 'dmnSession'; + $(document).ready(function () { $('#dmn-file-upload').on('change', loadDmnFromFile); $('#dmn-file-empty').on('click', loadEmptyFile); @@ -34,7 +36,6 @@ function loadEmptyFile() { function download() { let dmnXml = exportDiagram(); - console.log("xxx:" + dmnXml); if (dmnXml !== undefined) { let el = document.createElement('a'); el.setAttribute('href', @@ -47,45 +48,20 @@ function download() { } } -let oSerializer = new XMLSerializer(); - function loadSessionDmn() { - $.ajax({ - timeout: 1000, - url: "/dmn", - type: 'GET', - contentType: 'application/json', - error: function (err) { - // nothing - console.log(">-->--> loading session dmn failed. <--<--<"); - // loading empty dmn - loadEmptyFile(); - }, - success: function (data) { - if (data !== undefined && data.dmnXml !== undefined) { - // let sXML = oSerializer.serializeToString(data.dmnXml); - let sXML = data.dmnXml; - openDiagram(sXML); - } else { - loadEmptyFile(); - } - } - }); + // Get saved dmn from sessionStorage + let dmn = localStorage.getItem(SESSION_KEY_CURRENT_DMN); + if (dmn === null || dmn === "undefined") { + loadEmptyFile(); + } else { + openDiagram(dmn); + } } function saveSessionDmn() { + // Save data to sessionStorage let dmnXml = exportDiagram(); - $.ajax({ - timeout: 1000, - url: "/dmn/setDmn", - type: 'POST', - contentType: 'text/xml', - data: dmnXml, - error: function (err) { - // nothing - console.log(">-->--> saving session dmn failed. <--<--<"); - } - }); + localStorage.setItem(SESSION_KEY_CURRENT_DMN, dmnXml); } function generateId(length) {