summaryrefslogtreecommitdiffstats
path: root/dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/convertToYaml.js
diff options
context:
space:
mode:
Diffstat (limited to 'dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/convertToYaml.js')
-rw-r--r--dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/convertToYaml.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/convertToYaml.js b/dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/convertToYaml.js
new file mode 100644
index 0000000..c1f6b02
--- /dev/null
+++ b/dcae_dmaapbc_webapp/src/main/webapp/app/fusion/ase/scripts/convertToYaml.js
@@ -0,0 +1,73 @@
+function convertToYaml(data) {
+
+ for (var i=0; i<nodeArr.length; i++){
+ if (document.getElementById(nodeArr[i][1]).getAttribute('taska_id')==null || document.getElementById(nodeArr[i][1]).getAttribute('taska_id')==''){
+ return false;
+ }
+ }
+
+ data = decodeJSON(data,null);
+ data = JSON.parse(data);
+
+ var elementList = data.diagram.elements; //stores all elements
+ var allNodes = data.diagram.elements.nodes;
+ var allArrows = data.diagram.elements.arrows;
+ var allNotes = data.diagram.elements.notes;
+ var loadedRows = data.diagram.rows;
+ var loadedCols = data.diagram.cols;
+ var separators = data.diagram.elements.separators
+ var description = data.diagram.description
+ startArrowAtIndex = 0;
+ var yamlText = '';
+ yamlText += 'callFlowName: "'+description+'"\n';
+ yamlText += 'callSequenceSteps:\n';
+ for (var s = 0; s<separators.length; s++){
+ yamlText += ' - \n';
+ yamlText += ' name: "'+separators[s].text+'"\n';
+ yamlText += ' subSteps:\n';
+ for (var i=startArrowAtIndex; i<allArrows.length; i++){
+ var index = recallArray(arrowArr,allArrows[i].id)
+ try{
+ if (parseInt(arrowArr[index][4])>=parseInt(separators[s+1].lineNumber)*42+60){
+ startArrowAtIndex = index;
+ break;
+ }
+ }
+ catch (err){}
+ yamlText += ' - \n';
+ yamlText += ' destination_tosca_id: '+document.getElementById(arrowArr[index][9]).getAttribute('taska_id')+'\n';
+ yamlText += ' link_description: "'+arrowArr[index][10]+'"\n';
+ yamlText += ' link_message: "'+arrowArr[index][2]+'"\n';
+ var linkTitleName='';
+ if (arrowArr[index][10]!=='') {
+ linkTitleName= arrowArr[index][2];
+ }
+ yamlText += ' link_title: "'+linkTitleName+'"\n';
+ var linkType = 'standard';
+ if (arrowArr[index][0].attributes.direction.value==='self') {
+ linkType = 'self'
+ }
+ yamlText += ' link_type: '+linkType+'\n';
+
+ // if message_type attribute does not exist, set it as signal by default
+ var message_type_val = 'media'
+ if (arrowArr[index][0].hasAttribute('message_type')) {
+ message_type_val = arrowArr[index][0].attributes.message_type.value;
+ }
+ yamlText += ' message_type: '+ message_type_val +'\n';
+ yamlText += ' source_tosca_id: '+document.getElementById(arrowArr[index][8]).getAttribute('taska_id')+'\n';
+ }
+ }
+ yamlText += 'networkElementSequenceToscaIDs:\n';
+ for (var i=0; i<nodeArr.length;i++){
+ yamlText += ' - \n'
+ yamlText += ' tosca_id: '+document.getElementById(nodeArr[i][1]).getAttribute('taska_id')+'\n';
+ var NodeRoleID =''
+ if (nodeArr[i][0].hasAttribute('role_id')) {
+ NodeRoleID = nodeArr[i][0].attributes.role_id.value
+ }
+ yamlText += ' role: "'+ NodeRoleID +'"\n';
+ }
+ yamlText += 'overviewDescription: description';
+ return yamlText;
+}