improved ns topology
Change-Id: I6eb1ee664cf52a86b8b723b52c5c6490998a0e63
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/descriptorhandler/template/composer.html b/descriptorhandler/template/composer.html
index cad68fa..2de4ae8 100644
--- a/descriptorhandler/template/composer.html
+++ b/descriptorhandler/template/composer.html
@@ -30,9 +30,32 @@
{% block content_body %}
{{ block.super }}
{% csrf_token %}
+
<div class="container-fluid">
<div id="main" class="row">
<div id="leftside">
+ <div class="section">
+ <span style="font-weight: 500;">Select Element</span>
+ </div>
+ <div id="palette">
+ <div class="node" draggable="true">
+ <div class="icon" style="background-color: #cf1c24" ></div>
+ <div class="name">VDU</div>
+ </div>
+ <div class="node" draggable="true">
+ <div class="icon" style="background-color: #f8a800" ></div>
+ <div class="name">VL</div>
+ </div>
+ <div class="node" draggable="true">
+ <div class="icon" style="background-color: #e3bfad" ></div>
+ <div class="name">intCP</div>
+ </div>
+ <div class="node" draggable="true">
+ <div class="icon" style="background-color: #c6b63f" ></div>
+ <div class="name">extCp</div>
+ </div>
+
+ </div>
</div>
<div id="graph_editor_container" class="col">
@@ -61,6 +84,7 @@
</script>
<!-- d3.js -->
<script src="/static/bower_components/d3/d3.js"></script>
+ <script src="/static/bower_components/moment/moment.js"></script>
<!-- TopologyComposer D3 -->
<script src="/static/TopologyComposer/js/event.js"></script>
@@ -71,6 +95,7 @@
<script src="/static/src/osm_gui_properties.js"></script>
+ <script src="/static/src/descriptorhandler/composer.js"></script>
{# <script src="/static/src/instancehandler/instance_topology_view.js"></script>#}
{% endblock %}
diff --git a/descriptorhandler/template/descriptorlist.html b/descriptorhandler/template/descriptorlist.html
index 9d86624..df7bda2 100644
--- a/descriptorhandler/template/descriptorlist.html
+++ b/descriptorhandler/template/descriptorlist.html
@@ -7,9 +7,12 @@
<h3 class="box-title">
</h3>
<div class="box-tools">
- <div class="btn-group">
-
- </div>
+ {% comment %}<div class="btn-group">
+ <button type="button" class="btn btn-default" data-container="body"
+ data-toggle="tooltip" data-placement="top" title="Composer"
+ onclick="">
+ <i class="fa fa-paint-brush"></i> <span> Composer</span></button>
+ </div>{% endcomment %}
</div>
</div>
<div class="box-body">
diff --git a/descriptorhandler/views.py b/descriptorhandler/views.py
index 8b902af..c80af8a 100644
--- a/descriptorhandler/views.py
+++ b/descriptorhandler/views.py
@@ -25,6 +25,7 @@
from lib.util import Util
from lib.osm.osmclient.clientv2 import Client
+from lib.osm.osm_rdcl_parser import OsmParser
import authosm.utils as osmutils
logging.basicConfig(level=logging.DEBUG)
@@ -263,6 +264,30 @@
def open_composer(request):
user = osmutils.get_user(request)
project_id = user.project_id
+ descriptor_id = request.GET.get('id')
+ descriptor_type = request.GET.get('type')
+ client = Client()
+ if descriptor_id:
+ try:
+ if descriptor_type == 'nsd':
+ descriptor_result = client.nsd_get(user.get_token(), descriptor_id)
+ elif descriptor_type == 'vnfd':
+ descriptor_result = client.vnfd_get(user.get_token(), descriptor_id)
+
+ except Exception as e:
+ descriptor_result = {'error': True, 'data': str(e)}
+
+ if isinstance(descriptor_result, dict) and 'error' in descriptor_result and descriptor_result['error']:
+ return render(request, 'error.html')
+
+ test = OsmParser()
+ # print nsr_object
+ if descriptor_type == 'nsd':
+ result = test.nsd_to_graph(descriptor_result)
+ elif descriptor_type == 'vnfd':
+ result = test.vnfd_to_graph(descriptor_result)
+ return __response_handler(request, result,'composer.html')
+
result = {'project_id': project_id,
'vertices': [
{"info": {"type": "vnf", "property": {"custom_label": ""},