So for a variety of reasons I need to match, find a match, realize this
is a bad match, and move on to Create.

So I figured thats easy, let the match go, if the resulting found object
is a specific case (Not a User, but in the Users container) then just
strip by XPATH @dest-dn, since that is what tells the Match rule that it
found somebody.

Well that does not quiet work, get an immediate Null pointer.

I assume you should not interupt a do-find-matching, mid stream is the
cause.

Bug? Feature? Me being an idiot?

I am lazy and do not want to do the query myself, though I guess I could
narrow down the conditions on the Match everything else rule to fix it
as well....

But certainly an interesting error to run into...



[10/20/09 13:43:15.464]:ASIAPAC-AD PT: Applying rule 'match
everything else'.
[10/20/09 13:43:15.464]:ASIAPAC-AD PT: Action:
do-find-matching-object(scope="entry",arg-dn(token-global-variable("idv.dit.data.users")+"\"+token-src-name())).
[10/20/09 13:43:15.465]:ASIAPAC-AD PT:
arg-dn(token-global-variable("idv.dit.data.users")+"\"+token-src-name())
[10/20/09 13:43:15.465]:ASIAPAC-AD PT:
token-global-variable("idv.dit.data.users")
[10/20/09 13:43:15.465]:ASIAPAC-AD PT: Token Value: "acme\Users".
[10/20/09 13:43:15.466]:ASIAPAC-AD PT: token-text("\")
[10/20/09 13:43:15.466]:ASIAPAC-AD PT: token-src-name()
[10/20/09 13:43:15.466]:ASIAPAC-AD PT: Token Value: "Admins".
[10/20/09 13:43:15.466]:ASIAPAC-AD PT: Arg Value:
"acme\Users\Admins".
[10/20/09 13:43:15.466]:ASIAPAC-AD PT: Query from policy
[10/20/09 13:43:15.467]:ASIAPAC-AD PT:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.6.1.4427">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="Organizational Unit" dest-dn="acme\Users\Admins"
scope="entry">
<search-class class-name="Organizational Unit"/>
<read-attr/>
</query>
</input>
</nds>
[10/20/09 13:43:15.468]:ASIAPAC-AD PT: Pumping XDS to eDirectory.
[10/20/09 13:43:15.468]:ASIAPAC-AD PT: Performing operation query
for acme\Users\Admins.
[10/20/09 13:43:15.469]:ASIAPAC-AD PT: Query from policy result
[10/20/09 13:43:15.469]:ASIAPAC-AD PT:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.6.1.4427">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="Organizational Unit" event-id="0"
qualified-src-dn="O=acme\OU=Users\OU=admins"
src-dn="\acme-LAB-IDV\acme\Users\admins" src-entry-id="35882"/>
<status event-id="0" level="success"></status>
</output>
</nds>
[10/20/09 13:43:15.470]:ASIAPAC-AD PT: Match found:
src-dn='\acme-LAB-IDV\acme\Users\admins'
[10/20/09 13:43:15.471]:ASIAPAC-AD PT: Action: do-if().
[10/20/09 13:43:15.471]:ASIAPAC-AD PT: Evaluating conditions.
[10/20/09 13:43:15.471]:ASIAPAC-AD PT: (if-class-name not-equal
"User") = TRUE.
[10/20/09 13:43:15.471]:ASIAPAC-AD PT: (if-dest-dn in-container
"acme\Users") = TRUE.
[10/20/09 13:43:15.472]:ASIAPAC-AD PT: Performing if actions.
[10/20/09 13:43:15.472]:ASIAPAC-AD PT: Action:
do-strip-xpath("@dest-dn").
[10/20/09 13:43:15.472]:ASIAPAC-AD PT:Policy returned:
[10/20/09 13:43:15.472]:ASIAPAC-AD PT:
<nds dtdversion="2.2">
<source>
<product version="3.6.1.4427">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="Organizational Unit" dest-entry-id="35882"
event-id="ASIAPAC-AD##1247307f51b##0"
src-dn="OU=Admins,OU=Shanghayho,OU=China,DC=asiapac,DC =wwt,DC=corp">
<association>96a298871c45114584c9a71d1ceb8582</association>
<add-attr attr-name="Description">
<value naming="true" type="string">Admin Users for
Shanghayo</value>
</add-attr>
<add-attr attr-name="OU">
<value naming="true" type="string">Admins</value>
</add-attr>
<operation-data unmatched-src-dn="China\Shanghayho\Admins"/>
</add>
</input>
</nds>
[10/20/09 13:43:15.475]:ASIAPAC-AD PT:
DirXML Log Event -------------------
Driver: \acme-LAB-IDV\acme\Drivers\IDM\ASIAPAC-AD
Channel: Publisher
Object: OU=Admins,OU=Shanghayho,OU=China,DC=asiapac,DC=wwt ,DC=corp
Status: Error
Message: Code(-9010) An exception occurred:
java.lang.NullPointerException
at
com.novell.nds.dirxml.engine.Publisher$AddProcesso r.process(Publisher.java:823)
at
com.novell.nds.dirxml.engine.Publisher$ModifyProce ssor.process(Publisher.java:978)
at
com.novell.nds.dirxml.engine.Publisher.processEven t(Publisher.java:690)
at
com.novell.nds.dirxml.engine.Publisher.processEven ts(Publisher.java:595)
at
com.novell.nds.dirxml.engine.Publisher.execute(Pub lisher.java:264)
at
com.novell.nds.dirxml.remote.driver.PublicationShi mImpl.publish(PublicationShimImpl.java:259)
at
com.novell.nds.dirxml.remote.driver.PublicationShi mImpl.start(PublicationShimImpl.java:175)
at com.novell.nds.dirxml.engine.Publisher.run(Publish er.java:420)
at java.lang.Thread.run(Unknown Source)