Я новичок в ATL и OCL и пытаюсь преобразовать эту метамодель: введите здесь описание изображения
в это: введите здесь описание изображения
Помощник предназначен для выполнения всех тестов, созданных администратором пользователя, и после этого суммирует идентификаторы действий этого теста.
Я сделал этот помощник:
helper def: actionsId: Integer = Test!Test.allInstances()->select(i | i.md.user='admin')->collect(n | n.act.id.toInteger())->sum();
Но когда я запускаю преобразование, у меня возникает эта ошибка:
org.eclipse.m2m.atl.engine.emfvm.VMException: коллекции не имеют свойств, используйте ->collect()
Эта ошибка находится в части collect(n | n.act.id.toInteger())
помощника.
Остальная часть моего кода такова:
rule Testset2Testcase{
from s: Test!Test
to r: Testcase!Testcase(
ident <- thisModule.actionId.toString(),
date <- s.md.date,
act <- thisModule.resolveTemp(s.act,'a')
)
do{
'Bukatuta'.println();
}
}
rule Action2Activity{
from s: Test!Action
to a: Testcase!Activity(
ident <- s.id
)
}
Извините за мой плохой английский.