2 * Copyright (c) 2015 Inocybe Technologies and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
9 define(['app/ovsdb/ovsdb.module'],function(ovsdb) {
\r
12 ovsdb.register.factory('TopologyNetworkRestangular', function(Restangular, ENV) {
\r
13 return Restangular.withConfig(function(RestangularConfig) {
\r
14 RestangularConfig.setBaseUrl(ENV.getBaseURL("AD_SAL"));
\r
18 ovsdb.register.factory('TopologyNetworkSvc', function(TopologyNetworkRestangular) {
\r
20 base: function(name) {
\r
21 return TopologyNetworkRestangular.one('restconf', name).one('network-topology:network-topology');
\r
26 svc.getCurrentData = function() {
\r
30 svc.getTopologiesIds = function() {
\r
31 svc.data = svc.base('operational').getList();
\r
35 svc.getConfigNode = function(topologyId, nodeId) {
\r
36 return svc.base('config').one('topology', topologyId).one('node', nodeId).get();
\r
39 svc.addConfigNode = function(topologyId, nodeId, data) {
\r
40 return svc.base('config').one('topology', topologyId).one('node').put(nodeId, data);
\r
43 svc.addConfigBridge = function(topologyId, nodeId, data) {
\r
44 return svc.base('config').one('topology', topologyId).put(nodeId, data);
\r
47 svc.removeConfigNode = function(topologyId, nodeId) {
\r
48 return svc.base('config').one('topology', topologyId).one('node', nodeId).remove();
\r
51 svc.addTerminationPointConfig = function(topologyId, nodeId, terminationId, data) {
\r
52 return svc.base('config').one('topology', topologyId).one('node', nodeId).one('termination-point').put(terminationId, data);
\r
55 svc.getTerminationPointConfig = function(topologyId, nodeId, terminationId) {
\r
56 return svc.base('config').one('topology', topologyId).one('node', nodeId).one('termination-point', terminationId).get();
\r
59 svc.removeTerminationPointConfig = function(topologyId, nodeId, terminationId) {
\r
60 return svc.base('config').one('topology', topologyId).one('node', nodeId).one('termination-point', terminationId).remove();
\r
66 ovsdb.register.factory('TopologyNetworkFactory', function() {
\r
69 createOvsdbNodeObject: function(nodeId, nodePort, nodeRemoteIp) {
\r
71 "network-topology:node": [
\r
74 "connection-info": {
\r
75 "ovsdb:remote-port": nodePort,
\r
76 "ovsdb:remote-ip": nodeRemoteIp
\r
82 createConfigNode: function(nodeId, bridgeName,datapathId, protocolEntries, controllerEntries, managedBy) {
\r
84 "network-topology:node": [
\r
87 "ovsdb:bridge-name": bridgeName,
\r
88 "ovsdb:datapath-id": datapathId,
\r
89 "ovsdb:protocol-entry": [ ],
\r
90 "ovsdb:controller-entry": [ ],
\r
91 "ovsdb:managed-by": managedBy
\r
96 for (var protocolEntry in protocolEntries) {
\r
97 configNode[0]['ovsdb:protocal-entry'].push({
\r
98 "protocol": protocolEntry
\r
102 for (var controllerEntry in controllerEntries) {
\r
103 configNode[0]['ovsdb:controller-entry'].push({
\r
104 "protocol" : controllerEntry
\r
111 createEndPoint: function(ovsdb_options, name, interface_type, tp_id, vlan_tag, trunks, vlan_mode) {
\r
112 var termination_point = {
\r
113 "network-topology:termination-point": [
\r
115 "ovsdb:options": [ ],
\r
116 "ovsdb:name": name,
\r
117 "ovsdb:interface-type": interface_type,
\r
119 "vlan-tag": vlan_tag,
\r
121 "vlan-mode":vlan_mode
\r
126 for (var ovsdb_option in ovsdb_options) {
\r
127 termination_point[0]['ovsdb:options'].push({
\r
128 "ovsdb:option": ovsdb_option.option,
\r
129 "ovsdb:value" : ovsdb_option.value
\r
133 for (var trunk in trunks) {
\r
134 termination_point[0]['trunks'].push({
\r
139 return termination_point;
\r