Я новичок в 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
)
}
Извините за мой плохой английский.