示例:使用内联 Groovy 的映射规则

以下是仅在星期五忽略可执行文件类型的文件并设置周几属性规则的示例。

仅在周五忽略可执行文件类型的文件

此样本规则将忽略文件类型为 executable 的文件,除非该文件仅在周五执行。此规则说明如何在 Groovy 中编写条件,同时保留使用内置操作编写的操作。
INSERT {
IMPORT com.telelogic.cm.migrate.MigrateObject;
IMPORT static java.util.Calendar.*;
}

WHEN { migrateObject.type() == 'executable' &&
		Calendar.getInstance().get(DAY_OF_WEEK) != FRIDAY } IGNORE

设置周几属性

此样本规则在所有名为 '*.day' 的文件上将“day”属性设置为工作日的名称。尽管此规则可能没什么作用,但是它说明如何在 Groovy 中编写操作,同时保留以内置条件编写的条件。

尽管此示例的广度和长度超过了实际需要,但是此示例表明了如何使用 INSERT 机制来声明一些帮助程序方法。
IMPORT com.telelogic.cm.migrate.MigrateObject;
IMPORT org.joda.time.*;

WHEN %name ~ '*.day' { migrateObject.setAttribute('day', getWeekDay()) }

INSERT
{
		String getWeekDay()
	{
				return new DateTime().dayOfWeek().getAsText();
	}

}

反馈