Skip to content
Snippets Groups Projects
Commit 925640bb authored by Erlend Stav's avatar Erlend Stav
Browse files

Updated support for property paths

parent 50de0b44
No related branches found
No related tags found
No related merge requests found
......@@ -142,6 +142,8 @@ import org.universAAL.middleware.api.annotation.UniversAALService;'
@ServiceOperation
'
var separator:String = ""
var returnParam:mdl.Parameter
var returnProp:uml.Property
// Print any outputs
if (!self.output.isEmpty()) {
......@@ -151,7 +153,7 @@ import org.universAAL.middleware.api.annotation.UniversAALService;'
separator + '\n\t\t@Output(name = "' + outParam.name + '", '
separator = ","
if (outParam.propertyPath != null) {
'filteringClass = ' outParam.propertyPath.getFilteringClass() ','
'filteringClass = ' outParam.propertyPath.getFilteringClass() + '.class,'
'propertyPaths = {\n'
'\t\t\t'outParam.propertyPath.generatePropertyPath()' } '
}
......@@ -193,12 +195,15 @@ import org.universAAL.middleware.api.annotation.UniversAALService;'
} else if (self.output.size() > 1) {
'Object[] '
} else {
var returnParam:mdl.Parameter = self.output.first()
var arrayAdd: String = ""
// if (returnParam.upperValue <> 1) {
// arrayAdd = '[]'
// }
// returnParam.getTypeFromParameter() + arrayAdd + ' '
returnParam = self.output.first()
//var arrayAdd: String = ""
//returnProp = returnParam.propertyPath.properties.last()
//if (returnProp.upperValue <> 1) {
// arrayAdd = '[]'
//}
returnParam.getTypeFromParameter() + ' '
//returnProp.type.name + arrayAdd + ' '
}
self.name
......@@ -206,13 +211,34 @@ import org.universAAL.middleware.api.annotation.UniversAALService;'
'('
separator = ""
self.input->forEach(par:mdl.Parameter) {
separator + '@Input(name = "'par.name'") '+ ' void ' par.name //par.type.name
separator + '@Input(name = "'par.name'", propertyPaths = {'
if (par.propertyPath != null) {
par.propertyPath.generatePropertyPath()
}
'}) '+ par.getTypeFromParameter() + ' ' par.name //par.type.name
// separator + '@Input(name = "'par.name'") '+ par.getTypeFromParameter() + ' ' par.name //par.type.name
separator = ", "
}
');
'
}
mdl.Parameter::getTypeFromParameter():String {
var returnProp:uml.Property
var arrayAdd: String = ""
if (self.propertyPath == null) {
'\nWarning: propertyPath for ' self.name ' is null!\n'
return ""
}
else {
returnProp = self.propertyPath.properties.last()
if (returnProp.upperValue <> 1) {
arrayAdd = '[]'
}
return returnProp.type.name + arrayAdd
}
}
/*
* This operation will generate the annotated operations of the level 2 interface
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment