I'm having issues evaluating an 'if' statement. I have a multi valued
attribute that I'm iterating through and comparing it to a list of valid
entries stored in an gcv. $tmp and $role should both be 'Student' in
the first iteration, but when "(if-local-variable '$tmp$' equal
"$role$") = FALSE.

Thanks in advance!

Here is the trace:

<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.6.10.4747">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify class-name="User" dest-dn="\TESTIDVAULT\org\users\testuser"
dest-entry-id="41831" from-merge="true" src-dn="Test User">
<association/>
<modify-attr attr-name="institutionalRoles">
<add-value>
<value type="string">STUDENT</value>
</add-value>
</modify-attr>
<operation-data/>
</modify>
</input>
</nds>
[06/23/10 11:02:25.040]elimited PT:Applying policy:
%+C%14Cpub-ctp-RoleMapping%-C.
[06/23/10 11:02:25.040]elimited PT: Applying to modify #1.
[06/23/10 11:02:25.040]elimited PT: Evaluating selection criteria
for rule 'Process institutionalRoles for Adding Roles'.
[06/23/10 11:02:25.040]elimited PT: (if-class-name equal "User")
= TRUE.
[06/23/10 11:02:25.041]elimited PT: (if-op-attr
'institutionalRoles' changing) = TRUE.
[06/23/10 11:02:25.041]elimited PT: Rule selected.
[06/23/10 11:02:25.041]elimited PT: Applying rule 'Process
institutionalRoles for Adding Roles'.
[06/23/10 11:02:25.041]elimited PT: Action:
do-for-each(arg-node-set(token-op-attr("institutionalRoles"))).
[06/23/10 11:02:25.042]elimited PT:
arg-node-set(token-op-attr("institutionalRoles"))
[06/23/10 11:02:25.042]elimited PT:
token-op-attr("institutionalRoles")
[06/23/10 11:02:25.042]elimited PT: Token Value: {<value>
@type = "string"}.
[06/23/10 11:02:25.042]elimited PT: Arg Value: {<value>
@type = "string"}.
[06/23/10 11:02:25.042]elimited PT: Performing actions for
local-variable(current-node) = <value> @type = "string".
[06/23/10 11:02:25.043]elimited PT: Action:
do-set-local-variable("tmp",scope="policy",token-local-variable("current-node")).
[06/23/10 11:02:25.043]elimited PT:
arg-string(token-local-variable("current-node"))
[06/23/10 11:02:25.043]elimited PT:
token-local-variable("current-node")
[06/23/10 11:02:25.044]elimited PT: Token Value:
"STUDENT".
[06/23/10 11:02:25.044]elimited PT: Arg Value:
"STUDENT".
[06/23/10 11:02:25.044]elimited PT: Action:
do-for-each(arg-node-set(token-global-variable("idv.dit.data.roles"))).
[06/23/10 11:02:25.044]elimited PT:
arg-node-set(token-global-variable("idv.dit.data.roles"))
[06/23/10 11:02:25.045]elimited PT:
token-global-variable("idv.dit.data.roles")
[06/23/10 11:02:25.045]elimited PT: Token Value:
{"STUDENT","FACULTY"}.
[06/23/10 11:02:25.045]elimited PT: Arg Value:
{"STUDENT","FACULTY"}.
[06/23/10 11:02:25.046]elimited PT: Performing actions for
local-variable(current-node) = "STUDENT".
[06/23/10 11:02:25.046]elimited PT: Action:
do-set-local-variable("role",scope="policy",token-local-variable("current-node")).
[06/23/10 11:02:25.046]elimited PT:
arg-string(token-local-variable("current-node"))
[06/23/10 11:02:25.047]elimited PT:
token-local-variable("current-node")
[06/23/10 11:02:25.047]elimited PT: Token Value:
"STUDENT".
[06/23/10 11:02:25.047]elimited PT: Arg Value:
"STUDENT".
[06/23/10 11:02:25.047]elimited PT: Action: do-if().
[06/23/10 11:02:25.047]elimited PT: Evaluating
conditions.
[06/23/10 11:02:25.048]elimited PT: Expanded
variable reference '$tmp$' to 'STUDENT'.
[06/23/10 11:02:25.048]elimited PT:
(if-local-variable '$tmp$' equal "$role$") = FALSE.
[06/23/10 11:02:25.048]elimited PT: Performing else
actions.
[06/23/10 11:02:25.048]elimited PT: Performing actions for
local-variable(current-node) = "FACULTY".
[06/23/10 11:02:25.049]elimited PT: Action:
do-set-local-variable("role",scope="policy",token-local-variable("current-node")).
[06/23/10 11:02:25.049]elimited PT:
arg-string(token-local-variable("current-node"))
[06/23/10 11:02:25.049]elimited PT:
token-local-variable("current-node")
[06/23/10 11:02:25.050]elimited PT: Token Value:
"FACULTY".
[06/23/10 11:02:25.050]elimited PT: Arg Value:
"FACULTY".
[06/23/10 11:02:25.050]elimited PT: Action: do-if().
[06/23/10 11:02:25.050]elimited PT: Evaluating
conditions.
[06/23/10 11:02:25.050]elimited PT: Expanded
variable reference '$tmp$' to 'STUDENT'.
[06/23/10 11:02:25.051]elimited PT:
(if-local-variable '$tmp$' equal "$role$") = FALSE.
[06/23/10 11:02:25.051]elimited PT: Performing else
actions.


--
masuog
------------------------------------------------------------------------
masuog's Profile: http://forums.novell.com/member.php?userid=15471
View this thread: http://forums.novell.com/showthread.php?t=414028