[CORD-1338] Adding onetomany relations to modeldefs
Change-Id: I213ebf807984adcc69edee91252ccd53f6ab1c25
diff --git a/lib/xos-genx/xosgenx/jinja2_extensions/gui.py b/lib/xos-genx/xosgenx/jinja2_extensions/gui.py
index bd23fdb..25342d2 100644
--- a/lib/xos-genx/xosgenx/jinja2_extensions/gui.py
+++ b/lib/xos-genx/xosgenx/jinja2_extensions/gui.py
@@ -87,4 +87,25 @@
val = 'null'
else:
val = str(default)
- return val
\ No newline at end of file
+ return val
+
+
+def xproto_links_to_modeldef_relations(llst):
+ outlist = []
+ seen = []
+ for l in llst:
+ try:
+ t = l['link_type']
+ except KeyError, e:
+ raise e
+
+ if l['peer']['fqn'] not in seen and t != 'manytomany':
+ on_field = 'null'
+ if l['link_type'] == 'manytoone':
+ on_field = l['src_port']
+ elif l['link_type'] == 'onetomany':
+ on_field = l['dst_port']
+ outlist.append('- {model: %s, type: %s, on_field: %s}\n' % (l['peer']['name'], l['link_type'], on_field))
+ seen.append(l['peer'])
+
+ return outlist
\ No newline at end of file