-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from Olethros/ecmaversion
Ecmaversion
- Loading branch information
Showing
9 changed files
with
1,517 additions
and
200 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,211 @@ | ||
<?xml version="1.0" encoding="UTF-8"?><driver-configuration dn="cn=SendMigrateApp,cn=driverset1,o=system" driver-set-dn="cn=driverset1,o=system" name="SendMigrateApp"> | ||
<attributes> | ||
<configuration-manifest> | ||
<manifest/> | ||
</configuration-manifest> | ||
<driver-filter-xml> | ||
<filter> | ||
<filter-class class-name="User" publisher="ignore" publisher-create-homedir="true" publisher-track-template-member="true" subscriber="sync"> | ||
<filter-attr attr-name="Given Name" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> | ||
<filter-attr attr-name="CN" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> | ||
<filter-attr attr-name="Surname" merge-authority="default" publisher="ignore" publisher-optimize-modify="true" subscriber="sync"/> | ||
</filter-class> | ||
</filter> | ||
</driver-filter-xml> | ||
<driver-image>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</driver-image> | ||
<log-events inherit="true"/> | ||
<trace-file inherit="true"/> | ||
<trace-size-limit inherit="true"/> | ||
<trace-level value="3"/> | ||
<driver-trace-level inherit="true"/> | ||
<log-limit inherit="true"/> | ||
<java-module value="com.novell.nds.dirxml.driver.nulldriver.NullDriverShim"/> | ||
<policy-linkage> | ||
<linkage-item dn="cn=sendMigrateApp,cn=Library,cn=driverset1,o=system" order="0" policy-set="3" policy-set-name="ECMAScript"/> | ||
<linkage-item dn="cn=Send Migrate App,cn=Subscriber,cn=SendMigrateApp,cn=driverset1,o=system" order="0" policy-set="4" policy-set-name="Subscriber Event"/> | ||
</policy-linkage> | ||
<driver-cache-limit value="0"/> | ||
<shim-auth-password-query/> | ||
<driver-password-query/> | ||
<driver-start-option no-resync="false" value="2"/> | ||
<shim-config-info-xml> | ||
<driver-config name="Null Driver"> | ||
<publisher-options> | ||
<configuration-values> | ||
<definitions> | ||
<definition display-name="Publisher heartbeat interval" name="pub-heartbeat-interval" type="integer"> | ||
<description>Configures the driver shim to send a periodic status message on the publisher channel when there has been no publisher traffic for the given number of seconds.</description> | ||
<value>0</value> | ||
</definition> | ||
</definitions> | ||
</configuration-values> | ||
</publisher-options> | ||
</driver-config> | ||
</shim-config-info-xml> | ||
<global-config-values> | ||
<configuration-values> | ||
<definitions display-name="Queue Event"> | ||
<definition critical-change="true" display-name="How to handle queuing of events" name="drv.action.queueEvent" type="enum"> | ||
<description/> | ||
<value>use-es</value> | ||
<enum-choice display-name="Do nothing">none</enum-choice> | ||
<enum-choice display-name="Use JAR">use-jar</enum-choice> | ||
<enum-choice display-name="Use ECMAScript">use-es</enum-choice> | ||
</definition> | ||
</definitions> | ||
</configuration-values> | ||
</global-config-values> | ||
<application-schema/> | ||
</attributes> | ||
<children> | ||
<publisher name="Publisher"> | ||
<attributes/> | ||
<children/> | ||
</publisher> | ||
<subscriber name="Subscriber"> | ||
<attributes/> | ||
<children> | ||
<rule name="Send Migrate App"> | ||
<policy xmlns:dxqueue="http://www.novell.com/nxsl/java/dxqueue.send"> | ||
<rule> | ||
<description>Query Event</description> | ||
<comment xml:space="preserve">This policy will trigger on an incoming event, and generate a XDS Message to put onto the other driver. In this scenario, it does the following: | ||
- Create a query document | ||
- Inject it into the other driver tagged as a "Migrate From App" query. | ||
- Any resulting instance will be turned into a sync by the engine. | ||
|
||
There are a few tricks: | ||
- DriverDN must include the full TreeName. | ||
- sendMigrateApp will return a Nodeset so you must set the variable type to be a nodeset. - Resulting nodeset can be parsed to determine if the queue event request was successful or not. This does not indicate whether the query ran successfully, only that the queue event was successful. | ||
- Target driver can be same driver, or another driver. (not yet tested injecting events for drivers that run on another server in driverset) | ||
- Target driver does not have to be running, but it cannot be disabled.</comment> | ||
<conditions> | ||
<and> | ||
<if-global-variable name="drv.action.queueEvent" op="available"/> | ||
</and> | ||
</conditions> | ||
<actions> | ||
<do-set-local-variable name="attrsToClone" notrace="true" scope="policy"> | ||
<arg-node-set> | ||
<token-split csv="true" delimiter=","> | ||
<token-text xml:space="preserve">cached-time,class-id,class-name,timestamp</token-text> | ||
</token-split> | ||
</arg-node-set> | ||
</do-set-local-variable> | ||
<do-append-xml-element expression=".." name="query"/> | ||
<do-for-each> | ||
<arg-node-set> | ||
<token-xpath expression="../query[last()]"/> | ||
</arg-node-set> | ||
<arg-actions> | ||
<do-set-local-variable name="parent-node" scope="policy"> | ||
<arg-node-set> | ||
<token-local-variable name="current-node"/> | ||
</arg-node-set> | ||
</do-set-local-variable> | ||
<do-set-xml-attr expression="$current-node" name="event-id"> | ||
<arg-string> | ||
<token-text xml:space="preserve">migrateQuery:trigger</token-text> | ||
</arg-string> | ||
</do-set-xml-attr> | ||
<do-clone-xpath dest-expression="$current-node" notrace="true" src-expression="@*[name()=$attrsToClone]"/> | ||
<do-set-xml-attr expression="$current-node" name="scope"> | ||
<arg-string> | ||
<token-text xml:space="preserve">entry</token-text> | ||
</arg-string> | ||
</do-set-xml-attr> | ||
<do-clone-xpath dest-expression="$current-node" notrace="true" src-expression="$current-op/association"/> | ||
<do-append-xml-element before="*[1]" expression="$current-node" name="search-attr" notrace="true"/> | ||
<do-set-xml-attr expression="$current-node/search-attr" name="attr-name"> | ||
<arg-string> | ||
<token-text xml:space="preserve">CN</token-text> | ||
</arg-string> | ||
</do-set-xml-attr> | ||
<do-append-xml-element before="*[1]" expression="$current-node/search-attr[last()]" name="value" notrace="true"/> | ||
<do-append-xml-text expression="$current-node/search-attr[last()]/value[last()]"> | ||
<arg-string> | ||
<token-src-name/> | ||
</arg-string> | ||
</do-append-xml-text> | ||
<do-set-local-variable name="varQueryXDS-ns" scope="policy"> | ||
<arg-node-set> | ||
<token-xml-parse> | ||
<token-xml-serialize> | ||
<token-xpath expression="$current-node" notrace="true"/> | ||
</token-xml-serialize> | ||
</token-xml-parse> | ||
</arg-node-set> | ||
</do-set-local-variable> | ||
<do-strip-xpath expression="$current-node"/> | ||
</arg-actions> | ||
</do-for-each> | ||
<do-trace-message> | ||
<arg-string> | ||
<token-xml-serialize> | ||
<token-local-variable name="varQueryXDS-ns"/> | ||
</token-xml-serialize> | ||
</arg-string> | ||
</do-trace-message> | ||
<do-set-local-variable name="DriverDN" scope="policy"> | ||
<arg-string> | ||
<token-parse-dn dest-dn-format="slash" length="-2" src-dn-format="slash"> | ||
<token-text xml:space="preserve">~dirxml.auto.driverdn~</token-text> | ||
</token-parse-dn> | ||
<token-text xml:space="preserve">\JDBC</token-text> | ||
</arg-string> | ||
</do-set-local-variable> | ||
<do-if> | ||
<arg-conditions> | ||
<and> | ||
<if-global-variable mode="nocase" name="drv.action.queueEvent" op="equal">use-es</if-global-variable> | ||
</and> | ||
</arg-conditions> | ||
<arg-actions> | ||
<do-set-local-variable name="CmdResult" scope="policy"> | ||
<arg-node-set> | ||
<token-xpath expression="es:sendMigrateApp($DriverDN, $varQueryXDS-ns)"/> | ||
</arg-node-set> | ||
</do-set-local-variable> | ||
</arg-actions> | ||
</do-if> | ||
<do-if> | ||
<arg-conditions> | ||
<and> | ||
<if-global-variable mode="nocase" name="drv.action.queueEvent" op="equal">use-jar</if-global-variable> | ||
</and> | ||
</arg-conditions> | ||
<arg-actions> | ||
<do-set-local-variable name="XDS" scope="policy"> | ||
<arg-node-set> | ||
<token-xml-parse> | ||
<token-text xml:space="preserve"><nds><input></token-text> | ||
<token-xml-serialize> | ||
<token-local-variable name="varQueryXDS-ns"/> | ||
</token-xml-serialize> | ||
<token-text xml:space="preserve"></input></nds></token-text> | ||
</token-xml-parse> | ||
</arg-node-set> | ||
</do-set-local-variable> | ||
<do-set-local-variable name="CmdResult" scope="policy"> | ||
<arg-node-set> | ||
<token-xpath expression="dxqueue:sendMigrateApp($DriverDN, $XDS/nds)"/> | ||
</arg-node-set> | ||
</do-set-local-variable> | ||
</arg-actions> | ||
<arg-actions/> | ||
</do-if> | ||
<do-trace-message> | ||
<arg-string> | ||
<token-xml-serialize> | ||
<token-xpath expression="$CmdResult//status"/> | ||
</token-xml-serialize> | ||
</arg-string> | ||
</do-trace-message> | ||
</actions> | ||
</rule> | ||
</policy> | ||
</rule> | ||
</children> | ||
</subscriber> | ||
</children> | ||
</driver-configuration> |
Oops, something went wrong.