内置操作

使用内置操作时,映射规则会忽略对象,针对对象设置属性,或者创建指向或源自对象的关系。
并非所有这些操作都会在所有对映射规则进行求值的操作中予以使用:
以下是内置操作:

IGNORE 操作

IGNORE 操作意味着必须忽略对象。当用于迁移操作时,它意味着行为等效于该对象在其迁移源位置不存在。当用于工作区冲突检测时,它意味着任何具有此操作的非受控文件均会被忽略并且不会被报告为工作区冲突。保留字 IGNORE 不区分大小写。

示例:WHEN %name ~ '*.tmp' IGNORE

在此示例中,将忽略带有 .tmp 后缀的对象。

SET 操作

SET 操作对代表潜在或实际 Rational Synergy 对象的迁移对象设置命名属性。此操作的三种使用情况如下:
  • 当在工作区冲突检测期间执行此操作时,此操作确定在为解决非受控对象冲突而创建了 Rational Synergy 对象的情况下所使用的缺省类型。
  • 在对用户尚未显式指定 Rational Synergy 类型的创建操作执行此操作时,此操作确定所使用的缺省类型。
  • 当在迁移操作过程中执行此操作时,此操作造成在迁移所生成的导入包中表达对应属性。

以下是此内置操作的语法:

SET nameExpression TO valueExpression

SET TYPE TO valueExpression

第一种格式使用将转换为字符串的 nameExpression 来指定属性的名称。该字符串必须是有效的 Rational Synergy 属性名称。提供了第二种格式以作为一种便捷的短格式,它相当于指定 nameExpression 为“type”。SETTOTYPE 保留字不区分大小写。

valueExpression 指定要为属性所设置的值。

示例:

WHEN %name ~ '*.java' SET TYPE TO 'java'

WHEN %name ~ '*.perl' SET 'type' TO 'perl'

在此示例中,带有 .java 后缀的对象以 Rational Synergy 类型 java 来创建,而带有 .perl 后缀的对象则以 Rational Synergy 类型 perl 来创建。

对于迁移用途,在生成的导入包中表达的 Rational Synergy 属性类型取决于 valueExpression 的结果的类型,如下表中所示:

表 1. valueExpression 的结果的类型
值类型 Synergy 属性的类型
整型 整数
浮点型 float
Boolean 布尔值
String 包含任何换行符的值将变为 text。 如果该值不包含任何换行符,那么它将变为 string
any other type 将使用 Java™ toString() 方法将值转换为 String,并且将应用上述的 String 规则。
迁移用途具有以下限制:
  • Rational Synergy 内置属性 nameversiontypeowner 的类型必须为 string
  • 设置 subsystem 属性没有效果。 此 Rational Synergy 属性存放实例值,并且当导入由迁移所创建的导入包时,Rational Synergy 会自动确定实例。
  • Rational Synergy 内置属性 create_timemodify_time 的类型必须为 time
  • 您无法更改项目的根目录的 name。该目录必须始终与将其用作根目录的项目具有相同的 name
  • 对于不是历史记录叶的非项目对象,不能将 status 设置为非静态状态,如“working”。

BECOME 和 MAKE 操作

BECOMEMAKE 操作在迁移操作中用于表达所迁移的对象与另一个对象彼此之间的关系。

BECOME 操作创建从指定对象到所求值对象的命名关系。MAKE 操作创建从所求值对象到指定对象的命名关系。这些操作的语法如下所示:

BECOME relationExpression OF objectExpression

MAKE objectExpression MY relationshipExpression

BECOME、OF、MAKEMY 保留字不区分大小写。

relationExpression 将转换为字符串,并指定在由迁移所生成导入包中表达的关系的名称。此名称必须是有效的 Rational Synergy 关系名称。

objectExpression 将转换为字符串,并且必须是现有 Rational Synergy 对象的包含四个部分的对象名称格式。

示例:

WHEN %name='Utils.java'

BECOME 'associated_cv' OF 'task12:1:task:probtrac'

在此示例中,名为 Utils.java 的文件具有从对象 task12:1:task:probtrac 到该文件的 associated_cv 关系。

STOP 操作

STOP 操作在迁移操作中用于停止对当前对象进一步处理映射规则。该操作可用于防止先前求值的规则的操作被以后的规则所覆盖。


反馈