fix composer bug

Change-Id: If7c754ccf3e63e95bc06817b35a66c504bb9dc5c
diff --git a/static/TopologyComposer/js/model_graph_editor.js b/static/TopologyComposer/js/model_graph_editor.js
index 4ec7650..700b432 100644
--- a/static/TopologyComposer/js/model_graph_editor.js
+++ b/static/TopologyComposer/js/model_graph_editor.js
@@ -296,6 +296,7 @@
         var source_type = s.info.type;
         var destination_type = d.info.type;
         var current_layer = self.getCurrentView();
+        console.log(self.model.layer[current_layer])
         if (self.model.layer[current_layer].allowed_edges && self.model.layer[current_layer].allowed_edges[source_type] && self.model.layer[current_layer].allowed_edges[source_type].destination[destination_type] &&
             self.model.layer[current_layer].allowed_edges[source_type].destination[destination_type].removable
         ) {
@@ -303,10 +304,12 @@
                 var callback = self.model.layer[current_layer].allowed_edges[source_type].destination[destination_type].removable.callback;
                 var c = self.model.callback[callback].class;
                 var controller = new  TCD3.OsmController();
-                controller[callback](self, link, function () {
+                controller[callback](self, link, function (result) {
                     self._deselectAllNodes();
                     self._deselectAllLinks();
-                    self.parent.removeLink.call(self, link.index);
+                    
+                    self.updateData(result);
+                    // success && success();
                     success && success();
                 }, error);
             } else {
diff --git a/static/src/descriptorhandler/composer.js b/static/src/descriptorhandler/composer.js
index b3d849e..ecafe77 100644
--- a/static/src/descriptorhandler/composer.js
+++ b/static/src/descriptorhandler/composer.js
@@ -18,7 +18,7 @@
 var graph_editor = new TCD3.ModelGraphEditor();
 
 var type_view = {
-    "nsd": ["vnf", "ns_vl"],
+    "nsd": ["vnf", "ns_vl", "ns_cp"],
     "vnfd": ["vdu", "cp", "vnf_vl", "int_cp"]
 };
 
@@ -201,6 +201,9 @@
             case 'int_cp':
                 intcpDetails(element.info.osm);
                 break;
+            case 'ns_cp':
+                nscpDetails(element.info.osm);
+                break;
             case 'cp':
                 cpDetails(element.info.osm);
                 break;
@@ -343,6 +346,15 @@
     side.append(cp_template);
 }
 
+function nscpDetails(cp) {
+    var side = $('#side_form');
+    var cp_template = getMainSection('Connection Point');
+
+    cp_template += getChildrenTable(cp, true);
+    side.empty();
+    side.append(cp_template);
+}
+
 function vlDetails(vl) {
     var side = $('#side_form');
     var vl_template = getMainSectionWithSubmitButton('Virtual Link');
diff --git a/static/src/descriptorhandler/controller.js b/static/src/descriptorhandler/controller.js
index fd22411..f127ea7 100644
--- a/static/src/descriptorhandler/controller.js
+++ b/static/src/descriptorhandler/controller.js
@@ -210,17 +210,13 @@
         var desc_type = getUrlParameter('type');
 
         if (desc_type === 'nsd') {
-            var element_type = 'cp';
+            var element_type = 'ns_cp';
             var data_form = new FormData();
-
-            var vnfd_node = (link.source.info.type === 'vnf') ? link.source : link.target;
-            var vld_node = (link.source.info.type === 'ns_vl') ? link.source : link.target;
-
+            var ns_cp = (link.source.info.type === 'ns_cp') ? link.source : link.target;
             data_form.append('csrfmiddlewaretoken', getCookie('csrftoken'));
-            //data_form.append('vnfd-connection-point-ref', 'cp_temp');
-            data_form.append('member-vnf-index-ref', vnfd_node.info.osm['member-vnf-index']);
-            data_form.append('vnfd-id-ref', vnfd_node.info.osm['vnfd-id-ref']);
-            data_form.append('vld_id', vld_node.info.osm['id']);
+            data_form.append('member-vnf-index-ref', ns_cp.info.osm['member-vnf-index-ref']);
+            data_form.append('vnfd-id-ref', ns_cp.info.osm['vnfd-id-ref']);
+            data_form.append('vld_id', ns_cp.info.osm['vld_id']);
 
             $.ajax({
                 url: '/projects/descriptors/' + desc_type + '/' + desc_id + '/removeElement/' + element_type,
diff --git a/static/src/instancehandler/instance_topology_view.js b/static/src/instancehandler/instance_topology_view.js
index 95239e3..716a619 100644
--- a/static/src/instancehandler/instance_topology_view.js
+++ b/static/src/instancehandler/instance_topology_view.js
@@ -40,7 +40,7 @@
 };
 
 var type_view = {
-    "nsr": ["vnfr", "ns_vl"],
+    "nsr": ["vnfr", "ns_vl", "ns_cp"],
     "vnfr": ["vdur", "cp", "vnf_vl"]
 };
 
diff --git a/static/src/osm_gui_properties.js b/static/src/osm_gui_properties.js
index 0060e13..1ebf214 100644
--- a/static/src/osm_gui_properties.js
+++ b/static/src/osm_gui_properties.js
@@ -26,6 +26,13 @@
                 "height": 20,
                 "name": "VDU"
             },
+            "ns_cp": {
+                //"image": "cp-80.png",
+                 "shape": "square",
+                "color": "#3c8dbc",
+                "size": 20,
+                "name": "CP"
+            },
             "cp": {
                 //"image": "cp-80.png",
                  "shape": "square",