diff options
author | 2020-02-26 15:48:32 +0000 | |
---|---|---|
committer | 2020-03-20 12:33:47 +0000 | |
commit | 2d1528b34c45a650e2407bbc90737cc4ca6ec042 (patch) | |
tree | 76bebbb36a444963353dee17cc294c40fa8cb0d0 /mod/designtool/designtool-web/src/main/webapp/js/jquery | |
parent | 45341fa5e6e64e86286254d49ca951c43726ab94 (diff) |
Link DCAE MOD design tool to Acumos Adapter
Add import item to global menu with choices of import models, component specs,
and data formats.
Add prefix to acumos adapter API for consistency with rest of DCAE MOD and to
allow adding acumos adapter to k8s/rancher ingress or other reverse proxy
mechanism so it can be accessed by browser javascript in the design tool.
Remove dcae mod hostname mechanism for callbacks from browser javascript since
browser security only allows javascript to call back to the originating host
port.
Clean up indentation only differences between original NiFi code and ONAP
versions.
Remove 3 ONAP java files that are now identical to original NiFi versions.
Change-Id: I23bbd98d5b171d624ef35088cd821aff2918fc1b
Issue-ID: DCAEGEN2-1860
Signed-off-by: Andrew Gauld <agauld@att.com>
Diffstat (limited to 'mod/designtool/designtool-web/src/main/webapp/js/jquery')
-rw-r--r-- | mod/designtool/designtool-web/src/main/webapp/js/jquery/dcae-mod.js | 167 |
1 files changed, 151 insertions, 16 deletions
diff --git a/mod/designtool/designtool-web/src/main/webapp/js/jquery/dcae-mod.js b/mod/designtool/designtool-web/src/main/webapp/js/jquery/dcae-mod.js index 879739c..48c5d8e 100644 --- a/mod/designtool/designtool-web/src/main/webapp/js/jquery/dcae-mod.js +++ b/mod/designtool/designtool-web/src/main/webapp/js/jquery/dcae-mod.js @@ -19,7 +19,6 @@ limitations under the License. console.log("loading dcae-mod"); var dt_id; - var hostname; /** * @desc: on load of page, makes submit button disabled. Also makes an api call to get the host IP of the current instance @@ -27,19 +26,7 @@ console.log("loading dcae-mod"); $(document).ready(function (){ if(dt_id == null){ $('#operate-submit-btn').prop('disabled', true); } - //get hostname - $.ajax({ - type: 'GET', - url: '../nifi-api/flow/config', - dataType: 'json', - contentType: 'application/json', - success: function(data){ - hostname= data.flowConfiguration.dcaeDistributorApiHostname; - - //function call: invokes api to refresh the list of Envs - if(hostname){ getDistributionTargets(); } - } - }); + getDistributionTargets(); }); /** @@ -61,7 +48,7 @@ console.log("loading dcae-mod"); $.ajax({ type: 'GET', - url: hostname+'/distribution-targets', + url: '/distributor/distribution-targets', dataType: 'json', contentType: 'application/json', success: function(data){ @@ -97,7 +84,7 @@ console.log("loading dcae-mod"); $.ajax({ type: 'POST', data: JSON.stringify(request), - url: hostname+'/distribution-targets/'+dt_id+'/process-groups', + url: '/distributor/distribution-targets/'+dt_id+'/process-groups', dataType: 'json', contentType: 'application/json', success: function(data){ @@ -133,3 +120,151 @@ console.log("loading dcae-mod"); * @desc: event handler for Close icon of Setting/ Distribution Env CRUD dialog : invokes api to refresh the list of Envs */ var onCloseSettings= function(){ getDistributionTargets(); }; + + +function uecvalue(n) { + return encodeURIComponent("" + $(n).val()); +} + +function esc(s) { + return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); +} + +function onBoard() { + $("#onboarding-in-progress").show(); + var url = "/acumos-adapter/onboard.js?acumos=" + uecvalue("#furl"); + if ($("#cat-menu").val() != "*") { + url += "&catalogId=" + uecvalue("#cat-menu"); + if ($("#sol-menu").val() != "*") { + url += "&solutionId=" + uecvalue("#sol-menu"); + if ($("#rev-menu").val() != "*") { + url += "&revisionId=" + uecvalue("#rev-menu"); + } + } + } + var xhr = new XMLHttpRequest(); + xhr.onerror = function() { + $("#onboarding-in-progress").hide(); + alert("Onboarding failed"); + } + xhr.onload = function() { + if (this.status < 400) { + $("#onboarding-in-progress").hide(); + alert("Onboarding successful"); + } else { + alert("Onboarding error: " + this.statusText); + } + } + xhr.open("POST", url); + xhr.send(); +} + +function chooseSolution() { + if ($("#sol-menu").val() == "*") { + _updatevis(); + } else { + lookupItem("#ac-revs", "#rev-menu", "/acumos-adapter/listRevisions.js?acumos=" + uecvalue("#furl") + "&solutionId=" + uecvalue("#sol-menu")); + } +} + +function chooseCatalog() { + if ($("#cat-menu").val() == "*") { + _updatevis(); + } else { + lookupItem("#ac-sols", "#sol-menu", "/acumos-adapter/listSolutions.js?acumos=" + uecvalue("#furl") + "&catalogId=" + uecvalue("#cat-menu")); + } +} + +function lookupCatalogs() { + $("#onboard").show(); + lookupItem("#c-acumos", "#cat-menu", "/acumos-adapter/listCatalogs.js?acumos=" + uecvalue("#furl")); +} + +function lookupItem(dblock, smenu, url) { + var xhr = new XMLHttpRequest(); + var xmenu = $(smenu); + xmenu[0].options.length = 1; + xmenu.val("*"); + xhr.onerror = function() { + alert("Error querying remote Acumos system"); + $(dblock).hide(); + } + xhr.onload = function() { + var xresp = JSON.parse(this.response); + var i; + for (i = 0; i < xresp.length; i++) { + var option = document.createElement("option"); + option.text = esc(xresp[i].name); + option.value = xresp[i].id; + xmenu[0].add(option); + } + if (xresp.length == 0) { + $(dblock).hide(); + } else { + $(dblock).show(); + } + _updatevis(); + }; + xhr.open("GET", url); + xhr.send(); +} + +function setModelType() { + if ($("#model-type").val() == "mtAcumos") { + $("#furl").val(""); + $("#mt-acumos").show(); + } + _updatevis(); +} + +function _updatevis() { + if ($("#model-type").val() != "mtAcumos") { + $("#mt-acumos").hide(); + $("#furl").val(""); + } + if ($("#furl").val() == "") { + $("#c-acumos").hide(); + $("#onboard").hide(); + $("#cat-menu").val("*"); + } + if ($("#cat-menu").val() == "*") { + $("#ac-sols").hide(); + $("#sol-menu").val(""); + } + if ($("#sol-menu").val() == "*") { + $("#ac-revs").hide(); + $("#rev-menu").val(""); + } +} + +function onBoardComponent() { + _onBoardFile("#cspec", "/onboarding/components"); +} + +function onBoardDataFormat() { + _onBoardFile("#dfspec", "/onboarding/dataformats"); +} + +function _onBoardFile(source, url) { + reader = new FileReader(); + reader.onerror = function() { + alert("Error reading file"); + } + reader.onload = function(evt) { + xhr = new XMLHttpRequest(); + xhr.onload = function() { + if (this.status >= 400) { + alert("File upload failed " + this.statusText); + } else { + alert("File upload complete"); + } + } + xhr.onerror = function() { + alert("File upload failed"); + } + xhr.open("POST", url); + xhr.overrideMimeType("application/json"); + xhr.send(evt.target.result); + }; + reader.readAsBinaryString($(source)[0].files[0]); +} |