Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
Requirement Formalization Tool
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thodoris Nestoridis
Requirement Formalization Tool
Commits
176ab9ac
Commit
176ab9ac
authored
Apr 09, 2021
by
Thodoris Nestoridis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hide main component base on M1-M16
parent
6c3b314a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
88 additions
and
51 deletions
+88
-51
main-details.component.html
...c/app/components/main-details/main-details.component.html
+11
-9
main-details.component.ts
...src/app/components/main-details/main-details.component.ts
+39
-39
inference.py
...an/api/reqman/apps/reqtool/rest_api/services/inference.py
+2
-2
parse_ontologies.py
...reqman/apps/reqtool/rest_api/services/parse_ontologies.py
+36
-0
main_req_views.py
.../api/reqman/apps/reqtool/rest_api/views/main_req_views.py
+0
-1
No files found.
reqtool/ReqmanAngular11/src/app/components/main-details/main-details.component.html
View file @
176ab9ac
...
...
@@ -19,7 +19,7 @@
</form>
</div>
<div
class=
"col"
>
<form
class=
"form-group form-inline"
>
<form
class=
"form-group form-inline"
[
ngStyle
]="(
stateitemControlisDivVisible
)
?
{'
visibility
'
:
'
visible
'}
:
{'
visibility
'
:
'
hidden
'}"
>
<mat-form-field
class=
"example-full-width"
>
<mat-label
*
ngIf=
"this.stateitemControl.value !=null"
>
State or Item : {{this.stateitemControl.value.slice(0, this.stateitemControl.value.indexOf(':'))}}
</mat-label>
<input
type=
"text"
...
...
@@ -38,7 +38,7 @@
</form>
</div>
<div
class=
"col"
>
<form
class=
"form-group form-inline"
>
<form
class=
"form-group form-inline"
[
ngStyle
]="(
statevalueControlisDivVisible
)
?
{'
visibility
'
:
'
visible
'}
:
{'
visibility
'
:
'
hidden
'}"
>
<mat-form-field
class=
"example-full-width"
>
<mat-label
*
ngIf=
"statevalueControl.value !=null"
>
State Value : {{statevalueControl.value.slice(0, statevalueControl.value.indexOf(':'))}}
</mat-label>
<input
type=
"text"
...
...
@@ -96,15 +96,16 @@
</mat-form-field>
</form>
</div>
<div
class=
"col"
>
<form
class=
"form-group form-inline"
>
<div
class=
"col"
>
<form
class=
"form-group form-inline"
[
ngStyle
]="(
quantifierControlisDivVisible
)
?
{'
visibility
'
:
'
visible
'}
:
{'
visibility
'
:
'
hidden
'}"
>
<mat-form-field
class=
"example-full-width"
>
<mat-label>
Quantifier
</mat-label>
<input
type=
"text"
<input
placeholder=
"Pick one"
aria-label=
"Number"
matInput
[
formControl
]="
quantifierControl
"
type=
"text"
[
matAutocomplete
]="
autoquantifier
"
>
<mat-autocomplete
autoActiveFirstOption
#
autoquantifier =
"matAutocomplete"
>
...
...
@@ -117,7 +118,7 @@
</div>
<!--NUmber Value-->
<div
class=
"col"
>
<form
class=
"form-group form-inline"
>
<form
class=
"form-group form-inline"
[
ngStyle
]="(
numericalisDivVisible
)
?
{'
visibility
'
:
'
visible
'}
:
{'
visibility
'
:
'
hidden
'}"
>
<mat-form-field
class=
"example-full-width"
>
<mat-label>
Numerical Value
</mat-label>
<input
type=
"number"
matInput
value=
0
[(
ngModel
)]="
currentmain
.
numerical
"
name=
"numerical"
>
...
...
@@ -125,7 +126,7 @@
</form>
</div>
<div
class=
"col"
>
<form
class=
"form-group form-inline"
>
<form
class=
"form-group form-inline"
[
ngStyle
]="(
numunitControlisDivVisible
)
?
{'
visibility
'
:
'
visible
'}
:
{'
visibility
'
:
'
hidden
'}"
>
<mat-form-field
class=
"example-full-width"
>
<mat-label>
Number Unit
</mat-label>
<input
type=
"text"
...
...
@@ -166,12 +167,13 @@
</form>
</div>
<div
class=
"col"
>
<form
class=
"form-group form-inline"
>
<form
class=
"form-group form-inline"
[
ngStyle
]="(
stsysconsetControlisDivVisible
)
?
{'
visibility
'
:
'
visible
'}
:
{'
visibility
'
:
'
hidden
'}"
>
<mat-form-field
class=
"example-full-width"
>
<mat-label
*
ngIf=
"stsysconsetControl.value !=null"
>
Connection : {{stsysconsetControl.value.slice(0, stsysconsetControl.value.indexOf(':'))}}
</mat-label>
<input
type=
"text"
<input
placeholder=
"Pick one"
aria-label=
"Number"
type=
"text"
matInput
[
formControl
]="
stsysconsetControl
"
[
matAutocomplete
]="
autostsysconset
"
...
...
reqtool/ReqmanAngular11/src/app/components/main-details/main-details.component.ts
View file @
176ab9ac
...
...
@@ -31,10 +31,13 @@ export class MainDetailsComponent implements OnInit {
stateitemControl
=
new
FormControl
();
stateitem
:
string
[]
=
[];
stateitemfilteredOptions
:
Observable
<
string
[]
>
;
stateitemControlisDivVisible
=
false
statevalueControl
=
new
FormControl
();
statevalue
:
string
[]
=
[];
statevaluefilteredOptions
:
Observable
<
string
[]
>
;
statevalueControlisDivVisible
=
false
shallControl
=
new
FormControl
();
shall
:
string
[]
=
[];
...
...
@@ -47,10 +50,12 @@ export class MainDetailsComponent implements OnInit {
quantifierControl
=
new
FormControl
();
quantifier
:
string
[]
=
[];
quantifierfilteredOptions
:
Observable
<
string
[]
>
;
quantifierControlisDivVisible
=
false
numunitControl
=
new
FormControl
();
numunit
:
string
[]
=
[];
numunitfilteredOptions
:
Observable
<
string
[]
>
;
numunitControlisDivVisible
=
false
fifuintsysstatsetControl
=
new
FormControl
();
fifuintsysstatset
:
string
[]
=
[];
...
...
@@ -59,6 +64,10 @@ export class MainDetailsComponent implements OnInit {
stsysconsetControl
=
new
FormControl
();
stsysconset
:
string
[]
=
[];
stsysconsetfilteredOptions
:
Observable
<
string
[]
>
;
stsysconsetControlisDivVisible
=
false
numericalisDivVisible
=
false
public
static
id
:
any
[]
=
[];
private
readonly
notifier
:
NotifierService
;
...
...
@@ -88,7 +97,6 @@ export class MainDetailsComponent implements OnInit {
startWith
(
""
),
map
(
value
=>
this
.
_filter
(
this
.
subjects
,
value
))
);
this
.
stateitemControl
.
disable
()
this
.
stateitemfilteredOptions
=
this
.
stateitemControl
.
valueChanges
.
pipe
(
startWith
(
""
),
map
(
value
=>
this
.
_filter
(
this
.
stateitem
,
value
))
...
...
@@ -132,16 +140,7 @@ export class MainDetailsComponent implements OnInit {
this
.
dis
();
}
dis
():
void
{
//Related to System
this
.
stateitemControl
.
disable
();
this
.
statevalueControl
.
disable
()
//Quantifier
this
.
quantifierControl
.
disable
();
//numerical value
this
.
numunitControl
.
disable
();
// Extra Attribute
this
.
stsysconsetControl
.
disable
();
dis
():
any
{
//Check for each M1-M16
for
(
let
x
=
0
;
x
<
this
.
mainsyntax
.
length
;
x
++
){
//for (let x=0; x < 1; x++ ){
...
...
@@ -153,47 +152,48 @@ export class MainDetailsComponent implements OnInit {
for
(
let
v
=
0
;
v
<
this
.
mainsyntax
[
x
].
Verbs
.
length
;
v
++
){
if
(
this
.
mainsyntax
[
x
].
Verbs
[
v
]
==
((
this
.
verbControl
.
value
).
replace
(
/
\s
/g
,
""
))){
//console.log("Verb okk")
for
(
let
a
=
0
;
a
<
this
.
mainsyntax
[
x
].
Attributes
.
length
;
a
++
){
if
(
this
.
mainsyntax
[
x
].
Attributes
[
a
]
==
(
this
.
fifuintsysstatsetControl
.
value
.
slice
(
0
,
this
.
fifuintsysstatsetControl
.
value
.
indexOf
(
':'
))).
replace
(
/
\s
/g
,
""
)){
console
.
log
(
"Attribute okk"
,
this
.
mainsyntax
[
x
].
Id
)
if
(
this
.
mainsyntax
[
x
].
Related_to_Subject
.
length
>
0
){
this
.
stateitemControl
.
enable
();
this
.
stateitemControl
isDivVisible
=
true
for
(
let
r
=
0
;
r
<
this
.
mainsyntax
[
x
].
Related_to_Subject
.
length
;
r
++
){
if
(
this
.
mainsyntax
[
x
].
Related_to_Subject
[
r
]
==
"StateValue"
){
this
.
statevalueControl
.
enable
()
;
}
if
(
this
.
mainsyntax
[
x
].
Related_to_Subject
[
r
]
==
"StateValue"
){
this
.
statevalueControl
isDivVisible
=
true
;
}
}
}
console
.
log
(
this
.
mainsyntax
[
x
].
Quantifier
)
if
(
this
.
mainsyntax
[
x
].
Quantifier
){
this
.
quantifierControl
.
enable
();
//this.quantifierControl.enable();
this
.
quantifierControlisDivVisible
=
true
;
this
.
numericalisDivVisible
=
true
;
//numerical value
this
.
numunitControl
.
enable
();
this
.
numunitControlisDivVisible
=
true
;
//add the numunit data
}
if
(
this
.
mainsyntax
[
x
].
Attributes
.
length
>
1
){
this
.
stsysconsetControl
.
enable
();}
if
(
this
.
mainsyntax
[
x
].
Attributes
.
length
>
1
){
this
.
stsysconsetControlisDivVisible
=
true
;
//add the connection data
return
1
;
}
}
}
}
}
}
/*
if (this.mainsyntax[x].Quantifier){
console.log(this.mainsyntax[x].Quantifier)
}
for (let a=0; a < this.mainsyntax[x].Attributes.length; a++ ){
console.log(this.mainsyntax[x].Attributes[a])
}
for (let r=0; r < this.mainsyntax[x].Related_to_Subject.length; r++ ){
console.log(this.mainsyntax[x].Related_to_Subject[r])
}
for (let v=0; v < this.mainsyntax[x].Verbs.length; v++ ){
console.log(this.mainsyntax[x].Verbs[v])
}
//this.stateitemControl.enable();
*/
}
this
.
getchoices
();
//Related to System
this
.
stateitemControlisDivVisible
=
false
;
this
.
statevalueControlisDivVisible
=
false
;
//Quantifier
//this.quantifierControl.markAsUntouched();
this
.
quantifierControlisDivVisible
=
false
;
//numerical value
this
.
numunitControlisDivVisible
=
false
;
this
.
numericalisDivVisible
=
false
;
// Extra Attribute
this
.
stsysconsetControlisDivVisible
=
false
;
}
}
displayFn
(
option
:
string
):
string
{
if
(
option
!=
null
)
{
...
...
@@ -250,15 +250,15 @@ export class MainDetailsComponent implements OnInit {
updateMain
():
void
{
this
.
currentmain
.
sys_fun_inter
=
this
.
subjectsControl
.
value
;
this
.
currentmain
.
state_item_before_verb
=
this
.
stateitemControl
.
value
;
this
.
currentmain
.
statevalue_before_verb
=
this
.
statevalueControl
.
value
;
if
(
this
.
stateitemControlisDivVisible
){
this
.
currentmain
.
state_item_before_verb
=
this
.
stateitemControl
.
value
;}
if
(
this
.
statevalueControlisDivVisible
){
this
.
currentmain
.
statevalue_before_verb
=
this
.
statevalueControl
.
value
;}
this
.
currentmain
.
shall
=
this
.
shallControl
.
value
;
this
.
currentmain
.
verb
=
this
.
verbControl
.
value
;
this
.
currentmain
.
quantifier
=
this
.
quantifierControl
.
value
;
if
(
this
.
quantifierControlisDivVisible
){
this
.
currentmain
.
quantifier
=
this
.
quantifierControl
.
value
;}
//num
this
.
currentmain
.
mumerical_units
=
this
.
numunitControl
.
value
;
if
(
this
.
numericalisDivVisible
){
this
.
currentmain
.
mumerical_units
=
this
.
numunitControl
.
value
;}
this
.
currentmain
.
flow_function_interface_item_system_state_stateset
=
this
.
fifuintsysstatsetControl
.
value
;
this
.
currentmain
.
statevalue_system_connection_stateset
=
this
.
stsysconsetControl
.
value
;
if
(
this
.
stsysconsetControlisDivVisible
){
this
.
currentmain
.
statevalue_system_connection_stateset
=
this
.
stsysconsetControl
.
value
;}
for
(
let
i
=
0
;
i
<
MainDetailsComponent
.
id
.
length
;
i
++
){
this
.
mainService
.
update
(
this
.
route
.
snapshot
.
params
.
id
,
MainDetailsComponent
.
id
[
i
],
this
.
currentmain
)
.
subscribe
(
...
...
@@ -325,7 +325,7 @@ export class MainDetailsComponent implements OnInit {
.
subscribe
(
data
=>
{
for
(
let
x
=
0
;
x
<
data
.
length
;
x
++
){
this
.
quantifier
.
push
(
data
[
x
][
1
]);}
this
.
quantifier
.
push
(
data
[
x
][
1
]);}
},
error
=>
{
console
.
log
(
error
);
...
...
reqtool/reqman/api/reqman/apps/reqtool/rest_api/services/inference.py
View file @
176ab9ac
...
...
@@ -7,7 +7,7 @@ from reqman.apps.reqtool.models.main_req import SYSTEM_CHOICES, FUNCTION_CHOICES
Ontology_file
=
"../../Ontologies/Mokos_18_1_7_47.ttl"
main_syntax
=
get_main_sytax
()
main_syntax
=
get_main_sytax
_inference
()
def
getclassofmain
(
main
):
return
(
findclassofmain
(
main
))
...
...
@@ -89,7 +89,7 @@ def findclassofmain(listofmain):
#for currentmain in range(len(listofmain)):
currentverb
=
listofmain
[
'verb'
]
currentsubject
=
listofmain
[
'sys_fun_inter'
]
currentattr
=
listofmain
[
'
sys_fun_inter
'
]
currentattr
=
listofmain
[
'
flow_function_interface_item_system_state_stateset
'
]
for
verbmain
in
verbsmain
:
flag
=
0
if
(
verbmain
.
upper
()
==
currentverb
.
upper
()):
...
...
reqtool/reqman/api/reqman/apps/reqtool/rest_api/services/parse_ontologies.py
View file @
176ab9ac
...
...
@@ -399,6 +399,42 @@ def get_attribute(bnodes_uriref, subjects, related_subjects, verbs):
return
(
res
)
'''Find Main syntax - return a dict with the syntax'''
def
get_main_sytax_inference
():
get_main
=
get_instances_list
(
"RBO#Main"
)
main_dict
=
{}
for
main
in
get_main
:
bnodes
=
[]
p
=
URIRef
(
"http://delab.csd.auth.gr/ontologies/2018/RBO#"
+
main
)
for
s
,
p
,
o
in
g
.
triples
((
p
,
None
,
None
)):
if
isinstance
(
o
,
BNode
):
bnodes
.
append
(
o
)
bnodes
.
sort
()
for
bn
in
bnodes
:
for
objects
in
g
.
objects
(
subject
=
BNode
(
bn
)):
if
isinstance
(
objects
,
BNode
):
bnodes
.
append
(
objects
)
bnodes
.
sort
()
bnodes_uriref
=
[]
for
bn
in
bnodes
:
for
objects
in
g
.
objects
(
subject
=
BNode
(
bn
)):
if
isinstance
(
objects
,
URIRef
):
bnodes_uriref
.
append
(
objects
)
main_dict
[
main
]
=
{}
main_dict
[
main
][
"Subject"
]
=
get_subjects
(
bnodes_uriref
)
main_dict
[
main
][
"Related_to_Subject"
]
=
get_related_to_subject
(
bnodes_uriref
)
main_dict
[
main
][
"Verbs"
]
=
get_verb
(
bnodes_uriref
)
main_dict
[
main
][
"Quantifier"
]
=
check_quantifier
(
bnodes_uriref
)
main_dict
[
main
][
"Attributes"
]
=
get_attribute
(
bnodes_uriref
,
main_dict
[
main
][
"Subject"
],
main_dict
[
main
][
"Related_to_Subject"
],
main_dict
[
main
][
"Verbs"
])
return
main_dict
'''Find Main syntax - return a dict with the syntax'''
def
get_main_sytax
():
...
...
reqtool/reqman/api/reqman/apps/reqtool/rest_api/views/main_req_views.py
View file @
176ab9ac
...
...
@@ -109,7 +109,6 @@ class StatItemChoicesViewSet(APIView):
class
StatevalueChoicesViewSet
(
APIView
):
def
get
(
self
,
request
):
print
(
STATE_VALUE_CHOICES
)
response
=
Response
(
STATE_VALUE_CHOICES
)
return
response
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment