blob: f68b2701f6a183c6c2f7b656e46cb82df5f6cf4c [file] [log] [blame]
package [%=package%];
public class [%=s.name%] {
public [%=s.outPort.type%] execute([%=s.inPorts.collect(p|p.type + " " + p.name).concat(", ")%]) {
[%for (child in s.components){%]
[%=child.name%] [%=child.name.ftlc()%] = new [%=child.name%]();
[%=child.outPort.type%] [%=child.name.ftlc()%]Result = [%=child.name.ftlc()%].execute([%=child.getInputParameters().concat(", ")%]);
[%}%]
return [%=s.outPort.incoming.source.eContainer().name.ftlc() + "Result"%];
}
}
[%
operation Component getInputParameters(){
var parameters : Sequence;
for (p in self.inPorts) {
if (p.incoming.source.eContainer().isTypeOf(Application)) {
parameters.add(p.incoming.source.name);
}
else {
parameters.add(p.incoming.source.eContainer().name.ftlc() + "Result");
}
}
return parameters;
}
%]