| /* |
| Copyright 2017 CNIT - Consorzio Nazionale Interuniversitario per le Telecomunicazioni |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| */ |
| |
| if (typeof dreamer === 'undefined') { |
| var dreamer = {}; |
| } |
| var level = {} |
| |
| dreamer.GraphRequests = (function(global) { |
| 'use strict'; |
| |
| var DEBUG = true; |
| |
| GraphRequests.prototype.constructor = GraphRequests; |
| |
| /** |
| * Constructor |
| */ |
| function GraphRequests(args) { |
| |
| |
| } |
| |
| GraphRequests.prototype.addNode = function(args, choice, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| |
| data = args_to_formdata(args, data); |
| |
| //FIXME questo metodo dovrebbere essere generico |
| if(args.existing_element) |
| data.append('existing_element', args.existing_element ? args.existing_element : false) |
| //if (choice) |
| // data.append('choice', choice); |
| $.ajax({ |
| url: "addelement", |
| type: 'POST', |
| data: data, |
| cache: false, |
| contentType: false, |
| processData: false, |
| success: function(result) { |
| if (success) |
| success(); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| }; |
| |
| GraphRequests.prototype.removeNode = function(args, choice, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| |
| data = args_to_formdata(args, data); |
| |
| $.ajax({ |
| url: "removeelement", |
| type: 'POST', |
| data: data, |
| cache: false, |
| contentType: false, |
| processData: false, |
| success: function(result) { |
| if (success) |
| success(); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| } |
| }); |
| }; |
| |
| GraphRequests.prototype.getNodeOverview = function(args, success, error) { |
| |
| var params = jQuery.param(args) |
| console.log("params", params) |
| $.ajax({ |
| url: "overviewelement?"+params, |
| type: 'GET', |
| success: function(result) { |
| if (success) |
| success(result); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| } |
| }); |
| }; |
| |
| GraphRequests.prototype.addLink = function(args, choice, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| data = args_to_formdata(args, data); |
| |
| //data.append('destination', JSON.stringify(destination)); |
| if (choice) |
| data.append('choice', choice); |
| //if(link.desc_id) |
| // data.append('element_desc_id', link.desc_id || ''); |
| $.ajax({ |
| url: "addlink", |
| type: 'POST', |
| data: data, |
| cache: false, |
| contentType: false, |
| processData: false, |
| success: function(result) { |
| if (success) |
| success(); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| }; |
| |
| GraphRequests.prototype.removeLink = function(args, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| data = args_to_formdata(args, data); |
| |
| $.ajax({ |
| url: "removelink", |
| type: 'POST', |
| data: data, |
| cache: false, |
| contentType: false, |
| processData: false, |
| success: function(result) { |
| if (success) |
| success(); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| }; |
| |
| // |
| GraphRequests.prototype.getAvailableNodes = function(args, success, error){ |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| $.ajax({ |
| url: "availablenodes?layer="+args.layer, |
| type: 'GET', |
| success: function(result) { |
| if (success) |
| success(result); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| } |
| |
| GraphRequests.prototype.savePositions = function(positions, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| data.append('positions', JSON.stringify(positions)); |
| $.ajax({ |
| url: "positions", |
| type: 'POST', |
| data: data, |
| cache: false, |
| contentType: false, |
| processData: false, |
| success: function(result) { |
| if (success) |
| success(); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| }; |
| |
| /* START ETSI methods */ |
| GraphRequests.prototype.addVnffg = function(args, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| /* data.append('group_id', args.info.group[0]); |
| data.append('element_id', args.id); |
| data.append('element_type', args.info.type);*/ |
| data = args_to_formdata(args, data); |
| $.ajax({ |
| url: "addelement", |
| type: 'POST', |
| data: data, |
| cache: false, |
| contentType: false, |
| processData: false, |
| success: function(result) { |
| if (success) |
| success(result); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| }; |
| |
| GraphRequests.prototype.addNodeToVnffg = function(args, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| /* data.append('group_id', args.info.group[0]); |
| data.append('element_id', args.id); |
| data.append('element_type', args.info.type); |
| data.append('vnffg_id', args.vnffgId);*/ |
| data = args_to_formdata(args, data); |
| |
| $.ajax({ |
| url: "addnodetovnffg", |
| type: 'POST', |
| data: data, |
| cache: false, |
| contentType: false, |
| processData: false, |
| success: function(result) { |
| if (success) |
| success(result); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| }; |
| |
| GraphRequests.prototype.getUnusedVnf = function(nsd_id, success, error) { |
| var data = new FormData(); |
| data.append('csrfmiddlewaretoken', this.getCookie('csrftoken')); |
| $.ajax({ |
| url: "unusedvnf/" + nsd_id, |
| type: 'GET', |
| success: function(result) { |
| if (success) |
| success(result); |
| }, |
| error: function(result) { |
| if (error) |
| error(result); |
| log("some error: " + result); |
| } |
| }); |
| |
| }; |
| /* END ETSI methods */ |
| |
| GraphRequests.prototype.getCookie = function(name) { |
| var cookieValue = null; |
| if (document.cookie && document.cookie !== '') { |
| var cookies = document.cookie.split(';'); |
| for (var i = 0; i < cookies.length; i++) { |
| var cookie = jQuery.trim(cookies[i]); |
| // Does this cookie string begin with the name we want? |
| if (cookie.substring(0, name.length + 1) === (name + '=')) { |
| cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); |
| break; |
| } |
| } |
| } |
| return cookieValue; |
| }; |
| |
| function args_to_formdata(args, form_data){ |
| for ( var key in args ) { |
| form_data.append(key, args[key]); |
| } |
| return form_data; |
| }; |
| |
| |
| /** |
| * Log utility |
| */ |
| function log(text) { |
| if (DEBUG) |
| console.log("::GraphRequests::", text); |
| } |
| |
| return GraphRequests; |
| |
| |
| }(this)); |
| |
| if (typeof module === 'object') { |
| module.exports = dreamer.GraphRequests; |
| } |