Commit a624c3df authored by Thodoris Nestoridis's avatar Thodoris Nestoridis

Complete dictionary info

parent cfc4aafc
......@@ -102,14 +102,14 @@
</mat-expansion-panel-header>
{{ systems [i+1] }}
<ul> <h4><b>Instances</b></h4>
<div *ngFor="let instan of intacesystems; let y = index">
<div *ngFor="let instan of instacesystems; let y = index">
<div *ngIf="item == instan">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ intacesystems[y+1] }}
{{ instacesystems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
......@@ -129,13 +129,13 @@
</mat-expansion-panel-header>
<p>{{subclassystems[y+2]}}</p>
<ul> <h5>Instances</h5>
<div *ngFor="let instan of intacesystems; let y = index">
<div *ngFor="let instan of instacesystems; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ intacesystems[y+1] }}
{{ instacesystems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
......@@ -153,11 +153,737 @@
</div>
</div>
</mat-tab>
<mat-tab label="Function">Content 2</mat-tab>
<mat-tab label="Interface">Content 3</mat-tab>
<mat-tab label="Item">Content 3</mat-tab>
<mat-tab label="State">Content 3</mat-tab>
<!-- Function -->
<mat-tab label="Function">
<div *ngIf= "checklen(functions); else down">
<div *ngFor="let item of functions; let i = index">
<div *ngIf="checkeven(i)">
<mat-accordion>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ item }}
</mat-panel-title>
<mat-panel-description>
<!-- only mini description-->
</mat-panel-description>
</mat-expansion-panel-header>
{{ functions [i+1] }}
<ul> <div *ngIf= checklen(instacefunctions)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instacefunctions; let y = index">
<div *ngIf="item == instan">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacefunctions[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
<ul> <div *ngIf= checklen(subclasfunctions)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasfunctions; let y = index">
<div *ngIf="item == sub">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasfunctions[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasfunctions[y+2]}}</p>
<ul> <div *ngIf= checklen(instacefunctions)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instacefunctions; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacefunctions[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
</div>
<ng-template #down>
<div *ngIf= checklen(instacefunctions)>
<ul> <div *ngIf= checklen(instacefunctions)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instacefunctions; let y = index">
<div *ngIf="checkeven(y)">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacefunctions[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
<div *ngIf= checklen(subclasfunctions)>
<ul> <div *ngIf= checklen(subclasfunctions)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasfunctions; let y = index">
<div *ngIf="checkthree(y)">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasfunctions[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasfunctions[y+2]}}</p>
<ul> <div *ngIf= checklen(instacefunctions)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instacefunctions; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacefunctions[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
</ng-template>
</mat-tab>
<!-- Interface -->
<mat-tab label="Interface">
<div *ngIf= "checklen(interfaces); else down1">
<div *ngFor="let item of interfaces; let i = index">
<div *ngIf="checkeven(i)">
<mat-accordion>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ item }}
</mat-panel-title>
<mat-panel-description>
<!-- only mini description-->
</mat-panel-description>
</mat-expansion-panel-header>
{{ interfaces [i+1] }}
<ul> <div *ngIf= checklen(instaceinterfaces)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceinterfaces; let y = index">
<div *ngIf="item == instan">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceinterfaces[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
<ul> <div *ngIf= checklen(subclasinterfaces)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasinterfaces; let y = index">
<div *ngIf="item == sub">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasinterfaces[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasinterfaces[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceinterfaces)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceinterfaces; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceinterfaces[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
</div>
<ng-template #down1>
<div *ngIf= checklen(instaceinterfaces)>
<ul> <div *ngIf= checklen(instaceinterfaces)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceinterfaces; let y = index">
<div *ngIf="checkeven(y)">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceinterfaces[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
<div *ngIf= checklen(subclasinterfaces)>
<ul> <div *ngIf= checklen(subclasinterfaces)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasinterfaces; let y = index">
<div *ngIf="checkthree(y)">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasinterfaces[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasinterfaces[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceinterfaces)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceinterfaces; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceinterfaces[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
</ng-template>
</mat-tab>
<!-- Item -->
<mat-tab label="Item">
<div *ngIf= "checklen(items); else down2">
<div *ngFor="let item of items; let i = index">
<div *ngIf="checkeven(i)">
<mat-accordion>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ item }}
</mat-panel-title>
<mat-panel-description>
<!-- only mini description-->
</mat-panel-description>
</mat-expansion-panel-header>
{{ items [i+1] }}
<ul> <div *ngIf= checklen(instaceitems)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceitems; let y = index">
<div *ngIf="item == instan">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceitems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
<ul> <div *ngIf= checklen(subclasitems)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasitems; let y = index">
<div *ngIf="item == sub">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasitems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasitems[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceitems)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceitems; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceitems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
</div>
<ng-template #down2>
<div *ngIf= checklen(instaceitems)>
<ul> <div *ngIf= checklen(instaceitems)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceitems; let y = index">
<div *ngIf="checkeven(y)">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceitems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
<div *ngIf= checklen(subclasitems)>
<ul> <div *ngIf= checklen(subclasitems)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasitems; let y = index">
<div *ngIf="checkthree(y)">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasitems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasitems[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceitems)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceitems; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceitems[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
</ng-template>
</mat-tab>
<!-- Connection -->
<mat-tab label="Connection">
<div *ngIf= "checklen(connections); else down3">
<div *ngFor="let item of connections; let i = index">
<div *ngIf="checkeven(i)">
<mat-accordion>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ item }}
</mat-panel-title>
<mat-panel-description>
<!-- only mini description-->
</mat-panel-description>
</mat-expansion-panel-header>
{{ connections [i+1] }}
<ul> <div *ngIf= checklen(instaceconnections)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceconnections; let y = index">
<div *ngIf="item == instan">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceconnections[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
<ul> <div *ngIf= checklen(subclasconnections)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasconnections; let y = index">
<div *ngIf="item == sub">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasconnections[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasconnections[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceconnections)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceconnections; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceconnections[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
</div>
<ng-template #down3>
<div *ngIf= checklen(instaceconnections)>
<ul> <div *ngIf= checklen(instaceconnections)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceconnections; let y = index">
<div *ngIf="checkeven(y)">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceconnections[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
<div *ngIf= checklen(subclasconnections)>
<ul> <div *ngIf= checklen(subclasconnections)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasconnections; let y = index">
<div *ngIf="checkthree(y)">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasconnections[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasconnections[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceconnections)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceconnections; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceconnections[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
</ng-template>
</mat-tab>
<!-- Flow -->
<mat-tab label="Flow">
<div *ngIf= "checklen(flows); else down4">
<div *ngFor="let item of flows; let i = index">
<div *ngIf="checkeven(i)">
<mat-accordion>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ item }}
</mat-panel-title>
<mat-panel-description>
<!-- only mini description-->
</mat-panel-description>
</mat-expansion-panel-header>
{{ flows [i+1] }}
<ul> <div *ngIf= checklen(instaceflows)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceflows; let y = index">
<div *ngIf="item == instan">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceflows[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
<ul> <div *ngIf= checklen(subclasflows)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasflows; let y = index">
<div *ngIf="item == sub">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasflows[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasflows[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceflows)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceflows; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceflows[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
</div>
<ng-template #down4>
<div *ngIf= checklen(instaceflows)>
<ul> <div *ngIf= checklen(instaceflows)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instaceflows; let y = index">
<div *ngIf="checkeven(y)">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceflows[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
<div *ngIf= checklen(subclasflows)>
<ul> <div *ngIf= checklen(subclasflows)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasflows; let y = index">
<div *ngIf="checkthree(y)">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasflows[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasflows[y+2]}}</p>
<ul> <div *ngIf= checklen(instaceflows)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instaceflows; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instaceflows[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
</ng-template>
</mat-tab>
<!-- State -->
<mat-tab label="State">
<div *ngIf= "checklen(states); else down5">
<div *ngFor="let item of states; let i = index">
<div *ngIf="checkeven(i)">
<mat-accordion>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ item }}
</mat-panel-title>
<mat-panel-description>
<!-- only mini description-->
</mat-panel-description>
</mat-expansion-panel-header>
{{ states [i+1] }}
<ul> <div *ngIf= checklen(instacestates)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instacestates; let y = index">
<div *ngIf="item == instan">
<li>
<mat-expansion-panel hideToggle>
<p>Description.</p>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacestates[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
<ul> <div *ngIf= checklen(subclasstates)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasstates; let y = index">
<div *ngIf="item == sub">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasstates[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasstates[y+2]}}</p>
<ul> <div *ngIf= checklen(instacestates)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instacestates; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacestates[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</mat-accordion>
</div>
</div>
</div>
<ng-template #down5>
<div *ngIf= checklen(instacestates)>
<ul> <div *ngIf= checklen(instacestates)><h4><b>Instances</b></h4></div>
<div *ngFor="let instan of instacestates; let y = index">
<div *ngIf="checkeven(y)">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacestates[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
<div *ngIf= checklen(subclasstates)>
<ul> <div *ngIf= checklen(subclasstates)><h4><b>Subclasses</b></h4></div>
<div *ngFor="let sub of subclasstates; let y = index">
<div *ngIf="checkthree(y)">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ subclasstates[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
<p>{{subclasstates[y+2]}}</p>
<ul> <div *ngIf= checklen(instacestates)><h5><b>Instances</b></h5></div>
<div *ngFor="let instan of instacestates; let y = index">
<div *ngIf="sub == instan">
<li>
<mat-expansion-panel hideToggle>
<mat-expansion-panel-header>
<mat-panel-title>
{{ instacestates[y+1] }}
</mat-panel-title>
</mat-expansion-panel-header>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</mat-expansion-panel>
</li>
</div>
</div>
</ul>
</div>
</ng-template>
</mat-tab>
</mat-tab-group>
</div>
\ No newline at end of file
......@@ -17,11 +17,34 @@ export class BoilerplateDetailsComponent implements OnInit {
panelOpenState = false;
subjects:string[] = [];
systems:string[] = [];
subclassystems:string[] = [];
intacesystems:string[] = [];
instacesystems:string[] = [];
functions:string[] = [];
subclasfunctions:string[] = [];
instacefunctions:string[] = [];
items:string[] = [];
subclasitems:string[] = [];
instaceitems:string[] = [];
interfaces:string[] = [];
subclasinterfaces:string[] = [];
instaceinterfaces:string[] = [];
connections:string[] = [];
subclasconnections:string[] = [];
instaceconnections:string[] = [];
flows:string[] = [];
subclasflows:string[] = [];
instaceflows:string[] = [];
states:string[] = [];
subclasstates:string[] = [];
instacestates:string[] = [];
currentboilerplate: Boilerplate = {
......@@ -83,6 +106,7 @@ export class BoilerplateDetailsComponent implements OnInit {
}
getchoices(): void{
//System
this.mainService.getclasssystem()
.subscribe(
data => {
......@@ -95,7 +119,7 @@ export class BoilerplateDetailsComponent implements OnInit {
this.mainService.getinstancesystem()
.subscribe(
data => {
this.intacesystems = data
this.instacesystems = data
},
error => {
console.log(error);
......@@ -109,10 +133,185 @@ export class BoilerplateDetailsComponent implements OnInit {
error => {
console.log(error);
});
}
//Function
this.mainService.getclassfunction()
.subscribe(
data => {
this.functions = data
},
error => {
console.log(error);
});
this.mainService.getinstancefunction()
.subscribe(
data => {
this.instacefunctions = data
},
error => {
console.log(error);
});
this.mainService.getsubclasfunction()
.subscribe(
data => {
this.subclasfunctions = data
},
error => {
console.log(error);
});
//Item
this.mainService.getclassitem()
.subscribe(
data => {
this.items = data
},
error => {
console.log(error);
});
this.mainService.getinstanceitem()
.subscribe(
data => {
this.instaceitems = data
},
error => {
console.log(error);
});
this.mainService.getsubclasitem()
.subscribe(
data => {
this.subclasitems = data
},
error => {
console.log(error);
});
//Interface
this.mainService.getclassinterface()
.subscribe(
data => {
this.interfaces = data
},
error => {
console.log(error);
});
this.mainService.getinstanceinterface()
.subscribe(
data => {
this.instaceinterfaces = data
},
error => {
console.log(error);
});
this.mainService.getsubclasinterface()
.subscribe(
data => {
this.subclasinterfaces = data
},
error => {
console.log(error);
});
//Connection
this.mainService.getclassconnection()
.subscribe(
data => {
this.connections = data
},
error => {
console.log(error);
});
this.mainService.getinstanceconnection()
.subscribe(
data => {
this.instaceconnections = data
},
error => {
console.log(error);
});
this.mainService.getsubclasconnection()
.subscribe(
data => {
this.subclasconnections = data
},
error => {
console.log(error);
});
//Flow
this.mainService.getclassflow()
.subscribe(
data => {
this.flows = data
},
error => {
console.log(error);
});
this.mainService.getinstanceflow()
.subscribe(
data => {
this.instaceflows = data
},
error => {
console.log(error);
});
this.mainService.getsubclasflow()
.subscribe(
data => {
this.subclasflows = data
},
error => {
console.log(error);
});
//State
this.mainService.getclassstate()
.subscribe(
data => {
this.states = data
},
error => {
console.log(error);
});
this.mainService.getinstancestate()
.subscribe(
data => {
this.instacestates = data
console.log(data)
},
error => {
console.log(error);
});
this.mainService.getsubclasstate()
.subscribe(
data => {
this.subclasstates = data
},
error => {
console.log(error);
});
}
checkeven(i:any): any {
if (i%2 == 0){ return true}
return false
}
checkthree(i:any): any {
if (i%3 == 0){ return true}
return false
}
checklen(i:any): any {
if (i.length>1){ return true}
return false
}
}
......@@ -80,5 +80,77 @@ export class MainService {
getinstancesystem(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/system/instance`);
}
getclassfunction(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/function`);
}
getsubclasfunction(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/function/subclasses`);
}
getinstancefunction(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/function/instance`);
}
getclassitem(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/item`);
}
getsubclasitem(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/item/subclasses`);
}
getinstanceitem(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/item/instance`);
}
getclassinterface(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/interface`);
}
getsubclasinterface(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/interface/subclasses`);
}
getinstanceinterface(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/interface/instance`);
}
getclassconnection(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/connection`);
}
getsubclasconnection(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/connection/subclasses`);
}
getinstanceconnection(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/connection/instance`);
}
getclassflow(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/flow`);
}
getsubclasflow(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/flow/subclasses`);
}
getinstanceflow(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/flow/instance`);
}
getclassstate(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/state`);
}
getsubclasstate(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/state/subclasses`);
}
getinstancestate(): Observable<any> {
return this.http.get(`http://155.207.131.19:8000/api-auth/class/state/instance`);
}
}
......@@ -32,29 +32,59 @@ MAIN_CHOICES = ( ("",""), ("M1", "M1"),
#to be updated with domains from DSO
#SYSTEM
SYSTEM_CHOICES = get_instances("SAO#System") #+get_i_instances("SAO#System")
SYSTEM_CLASSES_COMMENTS = get_dmo_classes_and_comment("SAO#System")
SYSTEM_SUBCLASSES_COMMENTS = get_dmo_classes_of_classes_and_comment("SAO#System")
SYSTEM_INSTANCES_COMMENTS = get_dmo_instance_and_comment("SAO#System")
#print(get_instances("SAO#System"))
#FUNTION
FUNCTION_CHOICES = get_instances("SAO#Function")
FUNCTION_CLASSES_COMMENTS = get_dmo_classes_and_comment("SAO#Function")
FUNCTION_SUBCLASSES_COMMENTS = get_dmo_classes_of_classes_and_comment("SAO#Function")
FUNCTION_INSTANCES_COMMENTS = get_dmo_instance_and_comment("SAO#Function")
#
SHALL_CHOICES = ( ("shall", "shall"), ("shall not", "shall not"))
QUANTIFIER_CHOICES = ( ("none","NONE"), ("all", "ALL"), ("only", "ONLY"),
("more than", "MORE THAN"), ("less than", "LESS THAN"), ("exactly","EXACTLY"),
("at least", "AT LEAST"), ("at most", "AT MOST")
)
NUMBER_UNITS_CHOICES = (("",""), ("meters","METERS"), ("kilometers","KILOMETERS"), ("volt","VOLT"))
#ITEM
ITEM_CHOICES = get_instances("SAO#Item")
#NO ITEM returned
ITEM_CLASSES_COMMENTS = get_dmo_classes_and_comment("SAO#Item")
ITEM_SUBCLASSES_COMMENTS = get_dmo_classes_of_classes_and_comment("SAO#Item")
ITEM_INSTANCES_COMMENTS = get_dmo_instance_and_comment("SAO#Item")
#
#Interface
INTERFACE_CHOICES = get_instances("SAO#Interface")
INTERFACE_CLASSES_COMMENTS = get_dmo_classes_and_comment("SAO#Interface")
INTERFACE_SUBCLASSES_COMMENTS = get_dmo_classes_of_classes_and_comment("SAO#Interface")
INTERFACE_INSTANCES_COMMENTS = get_dmo_instance_and_comment("SAO#Interface")
#
#Connection
CONNECTION_CHOICES = get_instances("SAO#Connection")
CONNECTION_CLASSES_COMMENTS = get_dmo_classes_and_comment("SAO#Connection")
CONNECTION_SUBCLASSES_COMMENTS = get_dmo_classes_of_classes_and_comment("SAO#Connection")
CONNECTION_INSTANCES_COMMENTS = get_dmo_instance_and_comment("SAO#Connection")
#
#Flow
FLOW_CHOICES = get_instances("SAO#Flow")
FLOW_CLASSES_COMMENTS = get_dmo_classes_and_comment("SAO#Flow")
FLOW_SUBCLASSES_COMMENTS = get_dmo_classes_of_classes_and_comment("SAO#Flow")
FLOW_INSTANCES_COMMENTS = get_dmo_instance_and_comment("SAO#Flow")
#
#State
STATE_CHOICES = get_instances("SAO#State")
STATE_CLASSES_COMMENTS = get_dmo_classes_and_comment("SAO#State")
STATE_SUBCLASSES_COMMENTS = get_dmo_classes_of_classes_and_comment("SAO#State")
STATE_INSTANCES_COMMENTS = get_dmo_instance_and_comment("SAO#State")
#
STATE_VALUE_CHOICES =get_instances("SAO#StateValue")
#print(STATE_VALUE_CHOICES)
STATE_CHOICES = get_instances("SAO#State")
#nothing return get_instances
STATE_SET_CHOICES = get_i_instances("SAO#StateSet")
#print(STATE_SET_CHOICES)
FLOW_CHOICES = get_instances("SAO#Flow")
INTERFACE_CHOICES = get_instances("SAO#Interface")
CONNECTION_CHOICES = get_instances("SAO#Connection")
#add automatic function ot get verbs
VERB_CHOICES = (("set","set"),("send","send"),("receive","receive"),("ingest","ingest"),("emit","emit"),("perform","perform"),("invoke","invoke"),
("present","present"),("transfer","transfer"),("interact with","interact with"),("have state","have state"),("have substate","have substate"),
......
......@@ -100,7 +100,7 @@ def get_dmo_instance_and_comment(keyword):
mid_list = []
out_list_com = []
keywordspl = keyword.split("#")
in_list = []
in_list = [keywordspl[len(keywordspl)-1]]
with open('../../Ontologies/instances.txt') as f:
for data in f:
if (data.strip()).endswith(keyword):
......@@ -130,6 +130,7 @@ def get_dmo_instance_and_comment(keyword):
#Classes and Comments
def get_dmo_classes_and_comment(keyword):
out_list_instance = []
out_list_instance_backup = []
out_list_com = []
keywordspl = keyword.split("#")
in_list = [keywordspl[len(keywordspl)-1]]
......@@ -139,19 +140,29 @@ def get_dmo_classes_and_comment(keyword):
for s, p, o in g.triples((None, RDFS.subClassOf, per)): #subClassOf
spl = s.split("#")
out_list_instance.append(spl[len(spl) - 1])
out_list_instance_backup.append(spl[len(spl) - 1])
out_list_instance_backup.append(" ")
for comment in out_list_instance:
for uri in list_of_DSO:
per = URIRef(uri +comment)
for s, p, o in g.triples((per, RDFS.comment, None)):
out_list_com.append(str(comment))
out_list_com.append((str(o).replace("\r","")).replace("\n",""))
return(out_list_com)
if out_list_com:
return out_list_com
else:
if out_list_instance_backup:
return out_list_instance_backup
else:
out_list_instance_backup.append(" ")
return out_list_instance_backup
#Classes of classes and Comments
def get_dmo_classes_of_classes_and_comment(keyword):
out_list_instance = []
out_list_com = []
mid_list = []
find_comment = False
keywordspl = keyword.split("#")
in_list = [keywordspl[len(keywordspl)-1]]
for extra in in_list:
......@@ -168,8 +179,12 @@ def get_dmo_classes_of_classes_and_comment(keyword):
out_list_com.append(str(comment))
out_list_com.append(spl[len(spl) - 1])
kop = URIRef(uri + spl[len(spl) - 1])
for q, w,m in g.triples((kop, RDFS.comment, None)):
find_comment = False
for q, w, m in g.triples((kop, RDFS.comment, None)):
out_list_com.append((str(m).replace("\r","")).replace("\n",""))
find_comment = True
if find_comment == False:
out_list_com.append(" ")
return(out_list_com)
......
......@@ -52,12 +52,39 @@ urlpatterns = [
path('suffix/choices/numunits/', suffix_req_views.NumChoicesViewSet.as_view(), name='suffixnum'),
path('suffix/choices/flow/', suffix_req_views.FlowChoicesViewSet.as_view(), name='suffixflow'),
#CLASSES
#CLASSES System
path('class/system', main_req_views.SystemClassViewSet.as_view(), name='class_system'),
path('class/system/subclasses', main_req_views.SystemSubclasesViewSet.as_view(), name='subclass_system'),
path('class/system/instance', main_req_views.SystemInstancesViewSet.as_view(), name='instances_of_system'),
#CLASSES Function
path('class/function', main_req_views.FunctionClassViewSet.as_view(), name='class_function'),
path('class/function/subclasses', main_req_views.FunctionSubclasesViewSet.as_view(), name='subclass_function'),
path('class/function/instance', main_req_views.FunctionInstancesViewSet.as_view(), name='instances_of_function'),
#CLASSES Item
path('class/item', main_req_views.ItemClassViewSet.as_view(), name='class_item'),
path('class/item/subclasses', main_req_views.ItemSubclasesViewSet.as_view(), name='subclass_item'),
path('class/item/instance', main_req_views.ItemInstancesViewSet.as_view(), name='instances_of_item'),
#CLASSES Interface
path('class/interface', main_req_views.InterfaceClassViewSet.as_view(), name='class_interface'),
path('class/interface/subclasses', main_req_views.InterfaceSubclasesViewSet.as_view(), name='subclass_interface'),
path('class/interface/instance', main_req_views.InterfaceInstancesViewSet.as_view(), name='instances_of_interface'),
#CLASSES Connection
path('class/connection', main_req_views.ConnectionClassViewSet.as_view(), name='class_connection'),
path('class/connection/subclasses', main_req_views.ConnectionSubclasesViewSet.as_view(), name='subclass_connection'),
path('class/connection/instance', main_req_views.ConnectionInstancesViewSet.as_view(), name='instances_of_connection'),
#CLASSES Flow
path('class/flow', main_req_views.FlowClassViewSet.as_view(), name='class_flow'),
path('class/flow/subclasses', main_req_views.FlowSubclasesViewSet.as_view(), name='subclass_flow'),
path('class/flow/instance', main_req_views.FlowInstancesViewSet.as_view(), name='instances_of_flow'),
#CLASSES State
path('class/state', main_req_views.StateClassViewSet.as_view(), name='class_state'),
path('class/state/subclasses', main_req_views.StateSubclasesViewSet.as_view(), name='subclass_state'),
path('class/state/instance', main_req_views.StateInstancesViewSet.as_view(), name='instances_of_state'),
]
\ No newline at end of file
......@@ -18,8 +18,13 @@ from reqman.apps.reqtool.models.main_req import SYSTEM_CHOICES, FUNCTION_CHOICES
from reqman.apps.reqtool.models.main_req import STATE_VALUE_CHOICES, SHALL_CHOICES, VERB_CHOICES, QUANTIFIER_CHOICES, NUMBER_UNITS_CHOICES
from reqman.apps.reqtool.models.main_req import FLOW_CHOICES, CONNECTION_CHOICES, STATE_SET_CHOICES
from reqman.apps.reqtool.models.main_req import SYSTEM_CLASSES_COMMENTS, SYSTEM_SUBCLASSES_COMMENTS, SYSTEM_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.main_req import SYSTEM_CLASSES_COMMENTS, SYSTEM_SUBCLASSES_COMMENTS, SYSTEM_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.main_req import FUNCTION_CLASSES_COMMENTS, FUNCTION_SUBCLASSES_COMMENTS, FUNCTION_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.main_req import ITEM_CLASSES_COMMENTS, ITEM_SUBCLASSES_COMMENTS, ITEM_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.main_req import INTERFACE_CLASSES_COMMENTS, INTERFACE_SUBCLASSES_COMMENTS, INTERFACE_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.main_req import CONNECTION_CLASSES_COMMENTS, CONNECTION_SUBCLASSES_COMMENTS, CONNECTION_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.main_req import FLOW_CLASSES_COMMENTS, FLOW_SUBCLASSES_COMMENTS, FLOW_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.main_req import STATE_CLASSES_COMMENTS, STATE_SUBCLASSES_COMMENTS, STATE_INSTANCES_COMMENTS
from reqman.apps.reqtool.models.requirements import BoilerplateData
from rest_framework.exceptions import APIException
......@@ -165,4 +170,112 @@ class SystemInstancesViewSet(APIView):
def get(self, request):
response = Response(SYSTEM_INSTANCES_COMMENTS)
return response
class FunctionClassViewSet(APIView):
def get(self, request):
response = Response(FUNCTION_CLASSES_COMMENTS)
return response
class FunctionSubclasesViewSet(APIView):
def get(self, request):
response = Response(FUNCTION_SUBCLASSES_COMMENTS)
return response
class FunctionInstancesViewSet(APIView):
def get(self, request):
response = Response(FUNCTION_INSTANCES_COMMENTS)
return response
class ItemClassViewSet(APIView):
def get(self, request):
response = Response(ITEM_CLASSES_COMMENTS)
return response
class ItemSubclasesViewSet(APIView):
def get(self, request):
response = Response(ITEM_SUBCLASSES_COMMENTS)
return response
class ItemInstancesViewSet(APIView):
def get(self, request):
response = Response(ITEM_INSTANCES_COMMENTS)
return response
class InterfaceClassViewSet(APIView):
def get(self, request):
response = Response(INTERFACE_CLASSES_COMMENTS)
return response
class InterfaceSubclasesViewSet(APIView):
def get(self, request):
response = Response(INTERFACE_SUBCLASSES_COMMENTS)
return response
class InterfaceInstancesViewSet(APIView):
def get(self, request):
response = Response(INTERFACE_INSTANCES_COMMENTS)
return response
class ConnectionClassViewSet(APIView):
def get(self, request):
response = Response(CONNECTION_CLASSES_COMMENTS)
return response
class ConnectionSubclasesViewSet(APIView):
def get(self, request):
response = Response(CONNECTION_SUBCLASSES_COMMENTS)
return response
class ConnectionInstancesViewSet(APIView):
def get(self, request):
response = Response(CONNECTION_INSTANCES_COMMENTS)
return response
class FlowClassViewSet(APIView):
def get(self, request):
response = Response(FLOW_CLASSES_COMMENTS)
return response
class FlowSubclasesViewSet(APIView):
def get(self, request):
response = Response(FLOW_SUBCLASSES_COMMENTS)
return response
class FlowInstancesViewSet(APIView):
def get(self, request):
response = Response(FLOW_INSTANCES_COMMENTS)
return response
class StateClassViewSet(APIView):
def get(self, request):
response = Response(STATE_CLASSES_COMMENTS)
return response
class StateSubclasesViewSet(APIView):
def get(self, request):
response = Response(STATE_SUBCLASSES_COMMENTS)
return response
class StateInstancesViewSet(APIView):
def get(self, request):
response = Response(STATE_INSTANCES_COMMENTS)
return response
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment