名称

ChangeSynergy::TriggerParser


描述

ChangeSynergy::TriggerParser 是针对 IBM Rational Change 输入触发器文件的 XML 解析器。 当触发器触发时,IBM Rational Change 生成一个 XML 文件,该文件包含关于引起触发器触发的对象和服务器的有用信息。该类非常适用于检索 XML 文件信息(例如服务器协议、主机名和端口)以及所有已更改属性的列表。


方法

以下方法可用:

new

sub new(xmlFile)

初始化新创建的 ChangeSynergy::TriggerParser 类,以便使该类以可访问的数据结构表示传入的 xml 数据。

my $trigger = new ChangeSynergy::TriggerParser( 'file.xml' );

 参数:
	xmlFile - 要进行语法分析的触发器 xml 文件或包含需要进行语法分析的
		      xml 数据的标量。
get_admin_token

获取管理员令牌。

my $token = $trigger->get_admin_token()

 返回:标量
管理员用户的令牌。	
如果触发器中未提供任何管理员令牌,则是未定义的
get_admin_user

获取管理员用户名。

my $user = $trigger->get_admin_user()

 返回:标量
管理员用户的用户名。	
如果触发器中未提供任何管理员用户名,则是未定义的
get_attributes

收集 xml 数据中的所有属性,并将其放入散列中。这些属性将是触发器触发时修改的属性。

my %trigger_attributes = $trigger->get_attributes()

 返回:散列
所有在该操作期间设置或修改的触发器属性,
如果 xml 文件中未定义任何触发器属性,
则是未定义的。	
get_database

获取当触发器触发时用户连接的 IBM Rational Synergy 数据库。 当创建与 IBM Rational Change 服务器的新连接时,它非常有用。

my $database = $trigger->get_database()

 返回:标量
触发器触发时用户所连接的数据库,	
或如果未提供任何数据库,则是未定义的。
get_database_uid

获取当触发器触发时用户连接的 IBM Rational Synergy 数据库唯一标识。 这是数据库的 IBM Rational Change 唯一标识。

my $database = $trigger->get_database_uid()

 返回:标量
触发器触发时用户所连接的数据库唯一标识,	
或如果未提供任何数据库标识,则是未定义的。
get_dcm_delimiter

获取当触发器触发时用户连接的数据库的 DCM 定界符。

my $dcm_delimiter = $trigger->get_dcm_delimiter()

 返回:标量
当触发器触发时用户连接的数据库的 DCM 定界符,
或如果未提供任何 DCM 定界符,则是未定义的。
get_from_email_addr

获取 pt.cfg 文件中定义的电子邮件地址,该地址将用于从触发器发送电子邮件时。

my $from_email = $trigger->get_from_email_addr();

 返回:标量
用于通过 PERL 脚本发送的电子邮件的源部分的电子邮件地址,
或如果触发器中未提供任何源对象,则
是未定义的。 
get_from_object

当执行转换时,初始状态将是进行转换之前对象所处的状态。

my $from_object = $trigger->get_from_object()

 返回:标量
关系的源对象,或如果触发器中未提供任何源对象,
则是未定义的。	
get_from_state

当执行转换时,初始状态将是进行转换之前对象所处的状态。

my $from_state = $trigger->get_from_state()

 返回:标量
对象所处的初始状态,或如果触发器中未提供任何初始状态,
则是未定义的。
get_host

获取当触发器触发时用户连接的 IBM Rational Change 安装的主机名。当创建与 IBM Rational Change 服务器的新连接时,它非常有用。

my $host = $trigger->get_host()

 返回:标量
引起触发器触发的 IBM Rational Change 安装的主机名,或如果
为提供任何主机名,则是未定义的。	
get_object_id

获取引起触发器触发的对象的标识号。

 对象标识是以下其中一种类型:
	problem_number
	task_number
	cvid

my $object_id = $trigger->get_object_id()

 返回:标量
引起触发器触发的对象的对象标识,
或如果触发器中未提供任何对象标识,则是未定义的。	
get_object_type

获取引起触发器触发的对象的类型。

 对象类型是以下其中一种:
	CCM_PROBLEM
	CCM_TASK
	CCM_OBJECT

my $object_type = $trigger->get_object_type()

 返回:标量
触发器操作的对象类型,	
或如果触发器中未提供任何对象类型,则是未定义的。	
get_port

获取当触发器触发时用户连接的 IBM Rational Change 安装的端口。当创建与 CS 服务器的新连接时,它非常有用。

my $port = $trigger->get_port()

 返回:标量
引起触发器触发的 IBM Rational Change 安装的端口,或如果
未提供任何端口,则是未定义的。	
get_protocol

获取当触发器触发时用户连接的 IBM Rational Change 安装的协议。协议的类型为 http 或 https,取决于服务器的设置方式。当创建与 CS 服务器的新连接时,它非常有用。

my $protocol = $trigger->get_protocol()

 返回:标量
引起触发器触发的 IBM Rational Change 安装的协议类型,或如果
未提供任何协议,则是未定义的。	
get_relation_action

获取关系正在执行的操作。要么是 CREATE_RELATION,要么是 DELETE_RELATION。

my $relation_action = $trigger->get_relation_action()

 返回:标量
触发器正在执行的关系操作,
或如果触发器中未提供任何对象类型,则是未定义的。
get_relation_name

获取触发器正在操作的关系的名称。

my $relation_name = $trigger->get_relation_name()

 返回:标量
触发器正在操作的关系名称,	
或如果触发器中未提供任何对象类型,则是未定义的。
get_relation_type

获取触发器正在操作的关系类型。

 关系类型:
	CCM_PROBLEM_PROBLEM:一个问题 --> 问题关系。
	CCM_PROBLEM_TASK:一个问题 --> 任务关系。
	CCM_PROBLEM_OBJECT:一个问题 --> 对象关系。
	CCM_TASK_PROBLEM:一个任务 --> 问题关系。
	CCM_TASK_TASK:一个任务 --> 任务关系。
	CCM_TASK_OBJECT:一个任务 -->对象关系。 
	CCM_OBJECT_PROBLEM:一个对象 --> 问题关系。
	CCM_OBJECT_TASK:一个对象 -->任务关系。
	CCM_OBJECT_OBJECT:一个对象 -->对象关系。

my $relation_type = $trigger->get_relation_type()

 返回:标量
触发器正在操作的关系类型,
或如果触发器中未提供任何对象类型,则是未定义的。
get_requested_attributes

收集 xml 数据中的所有请求的触发器属性,并将其放入散列中。请求的属性指特别请求从生命周期编辑器发送至触发器的属性。如果触发器是前置转换触发器,则请求的属性值将是修改之前的值。如果触发器是后置触发器(后修改、后转换或后提交),则请求的属性值将是修改之后的值。

my %trigger_attributes = $trigger->get_requested_attributes();

 返回:散列
所有请求通过生命周期编辑器发送至触发器的属性,
或如果 xml 文件中未定义任何请求触发器属性,则是未定义的。
get_role

获取引起触发器触发的用户的角色。

my $role = $trigger->get_role()

 返回:标量
引起触发器触发的用户的角色,
或如果触发器中未提供任何角色,则是未定义的。	
get_smtp_server

获取 pt.cfg 文件中定义的 SMTP 服务器,该服务器将用于从触发器发送电子邮件。

my $smtp_server = $trigger->get_smtp_server();

 返回:标量
用于通过 PERL 脚本发送电子邮件的 SMTP 服务器,或如果
触发器中未提供任何源对象,则是未定义的。
get_subscriber_email_addresses

如果为预订触发器触发该触发器,则会获取预订了已修改 CR 的订户的电子邮件地址列表。对于所有非预订触发器,该字段是未定义的。

my $token = $trigger->get_subscriber_email_addresses()

 返回:标量
此 CR 订户的电子邮件地址列表,
或如果触发器中未提供任何令牌,则是未定义的
get_to_object

当执行关系创建时,这是关系所指向的对象。

my $to_object = $trigger->get_to_object()

 返回:标量
关系指向的对象,或如果触发器中	
未提供任何目标对象,则是未定义的。	
get_to_state

当执行转换时,目标状态将是对象的最终状态。

my $to_state = $trigger->get_to_state()

 返回:标量
对象的目标状态,或如果触发器中	
未提供目标状态,则是未定义的。	
get_token

获取引起触发器触发的用户的令牌。

my $token = $trigger->get_token()

 返回:标量
引起触发器触发的用户的令牌,
或如果触发器中未提供任何令牌,则是未定义的
get_user

获取引起触发器触发的用户的用户名。

my $user = $trigger->get_user()

 返回:标量
引起触发器触发的用户的用户名,
或如果触发器中未提供任何用户名,则是未定义的。
set_admin_token

设置类实例的“管理令牌”属性。

$trigger->set_admin_token($value);

 参数:
	value - 管理令牌的新值。	
set_admin_user

设置类实例的“管理用户名”属性。

$trigger->set_admin_user($value);

 参数:
	value - 管理用户名的新值。
set_database

设置类实例的“数据库”属性。

$trigger->set_database($value);

 参数:
	value - 数据库的新值。	
set_database_uid

设置类实例的“数据库唯一标识”属性。

$trigger->set_database_uid($value);

 参数:
	value - 数据库唯一标识的新值。	
set_dcm_delimiter

设置类实例的“DCM 定界符”属性。

$trigger->set_dcm_delimiter($value);

 参数:
	value - DCM 定界符的新值。 
set_from_email_addr

设置类实例的“电子邮件发件人地址”属性。 完成触发器 XML 文件的语法分析后将设置该属性,但是如果需要,可以覆盖设置。

$trigger->set_from_email_addr($value);

 参数:
	value - 源对象的新值。	
set_from_object

设置类实例的“源对象”属性。

$trigger->set_from_object($value);

 参数:
	value - 源对象的新值。
set_from_state

设置类实例的“初始状态”属性。

$trigger->set_from_state($value);

 参数:
	value - 初始状态的新值。	
set_host

设置类实例的“主机名”属性。

$trigger->set_host($value);

 参数:
	value - 主机的新值。	
set_object_id

设置类实例的“对象标识”属性。

$trigger->set_object_id($value);

 参数:
	value - 对象标识的新值。	
set_object_type

设置类实例的“对象类型”属性。

$trigger->set_object_type($value);

 参数:
	value - 对象类型的新值。	
set_port

设置类实例的“端口”属性。

$trigger->set_port($value);

 参数:
	value - 端口的新值。	
set_protocol

设置类实例的“协议”属性。

$trigger->set_protocol($value);

 参数:
	value - 协议的新值。	
set_relation_action

设置类实例的“关系操作”属性。

$trigger->set_relation_action($value);

 参数:
	value - 关系操作的新值。	
set_relation_name

设置类实例的“关系名称”属性。

$trigger->set_relation_name($value);

 参数:
	value - 关系名称的新值。	
set_relation_type

设置类实例的“关系类型”属性。 $trigger->set_relation_type($value);

 参数:
	value - 关系类型的新值。	
set_role

设置类实例的“角色”属性。

$trigger->set_role($value);

 参数:
	value - 用户角色的新值。	
set_smtp_server

设置类实例的“SMTP 服务器”属性。完成触发器 XML 文件的语法分析后将设置该属性,但是如果需要,可以覆盖设置。

$trigger->set_smtp_server($value);

 参数:
	value - 源对象的新值。
set_subscriber_email_addresses

设置类实例的“订户电子邮件地址”属性。

$trigger->set_subscriber_email_addresses($value);

 参数:
	value - 订户电子邮件地址的新值。	
set_to_object

设置类实例的“目标对象”属性。

$trigger->set_to_object($value);

 参数:
	value - 目标对象的新值。	
set_to_state

设置类实例的“目标状态”属性。

$trigger->set_to_state($value);

 参数:
	value - 目标状态的新值。	
set_token

设置类实例的“令牌”属性。

$trigger->set_token($value);

 参数:
	value - 令牌的新值。	
set_user

设置类实例的“用户名”属性。

$trigger->set_user($value);

 参数:
	value - 用户名的新值。