5398N/A<?xml version="1.0" encoding="UTF-8" standalone="no"?>
5398N/A<!DOCTYPE stax SYSTEM "/stax.dtd">
5398N/A<!--
5398N/A ! CDDL HEADER START
5398N/A !
5398N/A ! The contents of this file are subject to the terms of the
5398N/A ! Common Development and Distribution License, Version 1.0 only
5398N/A ! (the "License"). You may not use this file except in compliance
5398N/A ! with the License.
5398N/A !
5398N/A ! You can obtain a copy of the license at
5398N/A ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
5398N/A ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
5398N/A ! See the License for the specific language governing permissions
5398N/A ! and limitations under the License.
5398N/A !
5398N/A ! When distributing Covered Code, include this CDDL HEADER in each
5398N/A ! file and include the License file at
5398N/A ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
5398N/A ! add the following below this CDDL HEADER, with the fields enclosed
5398N/A ! by brackets "[]" replaced with your own identifying information:
5398N/A ! Portions Copyright [yyyy] [name of copyright owner]
5398N/A !
5398N/A ! CDDL HEADER END
5398N/A !
6322N/A ! Copyright 2011-2013 ForgeRock AS
5398N/A ! -->
5398N/A<stax>
5398N/A <!-- SDK ldapsearch Function -->
5398N/A <function name="SDKldapSearch">
5398N/A <function-prolog>
5398N/A This function performs an ldapsearch using the SDK java API
5398N/A </function-prolog>
5398N/A <function-map-args>
5398N/A <function-arg-def name="dsInstanceHost" type="optional">
5398N/A <function-arg-description>
5398N/A Directory server hostname or IP address
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="hostname"/>
5398N/A </function-arg-def>
5398N/A <function-arg-def name="dsInstancePort" type="optional">
5398N/A <function-arg-description>
5398N/A Directory server port number
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="Port number"/>
5398N/A </function-arg-def>
5398N/A <function-arg-def name="dsInstanceDn" type="optional">
5398N/A <function-arg-description>
5398N/A Bind DN
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="DN"/>
5398N/A </function-arg-def>
5398N/A <function-arg-def name="dsInstancePswd" type="optional">
5398N/A <function-arg-description>
5398N/A Bind password
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="string"/>
5398N/A </function-arg-def>
5398N/A <function-arg-def name="dsScope" type="optional">
5398N/A <function-arg-description>
5398N/A The scope of the search operation
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="string"/>
5398N/A </function-arg-def>
5398N/A <function-arg-def name="dsBaseDN" type="optional">
5398N/A <function-arg-description>
5398N/A The baseDN for the search operation
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="dn"/>
5398N/A </function-arg-def>
5398N/A <function-arg-def name="dsFilter" type="optional">
5398N/A <function-arg-description>
5398N/A The filter for the search operation
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="filter"/>
5398N/A </function-arg-def>
5398N/A <function-arg-def name="dsAttributes" type="optional">
5398N/A <function-arg-description>
5398N/A Only return these attributes
5398N/A </function-arg-description>
5398N/A <function-arg-property name="type" value="string"/>
5398N/A </function-arg-def>
6350N/A <function-arg-def name="outputFile" type="optional" default="'None'">
6350N/A <function-arg-description>
6350N/A Output file containing the command output
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="file"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputPath" type="optional">
6350N/A <function-arg-description>
6350N/A Path containing the outputFile
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
5398N/A </function-map-args>
5398N/A
5398N/A <sequence>
5398N/A
5398N/A <!-- Build the Command -->
5398N/A <script>
5398N/A from org.forgerock.opendj.ldap import *
5398N/A from org.forgerock.opendj.ldap.responses import *
5398N/A from org.forgerock.opendj.ldif import *
5398N/A
5398N/A myHost=String(dsInstanceHost)
5398N/A myPort=int(dsInstancePort)
5398N/A myBaseDn=String(dsBaseDN)
5398N/A myDn=String(dsInstanceDn)
5398N/A myPassword=String(dsInstancePswd).toCharArray()
5398N/A
5398N/A if dsScope == 'base':
5398N/A myScope = SearchScope.BASE_OBJECT
5398N/A elif dsScope == 'one':
5398N/A myScope = SearchScope.SINGLE_LEVEL
5398N/A elif dsScope == 'sub':
5398N/A myScope = SearchScope.WHOLE_SUBTREE
5398N/A else:
5398N/A myScope = SearchScope.WHOLE_SUBTREE
5398N/A
5398N/A if dsFilter:
5398N/A myFilter = dsFilter
5398N/A else:
5398N/A myFilter = '(objectClass=*)'
5398N/A
5398N/A if dsAttributes:
5398N/A myAttrs = dsAttributes
5398N/A else:
5398N/A myAttrs = []
5398N/A
5398N/A writer = LDIFEntryWriter(System.out)
5398N/A factory = LDAPConnectionFactory(myHost,myPort)
5398N/A connection = None
5398N/A
5398N/A try:
5398N/A try:
5398N/A connection = factory.getConnection()
5398N/A
5398N/A connection.bind(myDn, myPassword)
5398N/A
5398N/A reader = connection.search(myBaseDn, myScope, myFilter, myAttrs)
5398N/A
5398N/A #TODO: handle search result references
5398N/A #TODO: not really a need to use writer to write to stdout
5398N/A while (reader.hasNext()):
5398N/A if not reader.isReference():
5398N/A entry = reader.readEntry()
5398N/A writer.writeComment("Search result entry: %s" % entry.getName().toString())
5398N/A writer.writeEntry(entry)
5398N/A else:
5398N/A ref = reader.readReference()
5398N/A writer.writeComment("Search result reference: %s " % ref.getURIs().toString())
5398N/A
5398N/A writer.flush()
5398N/A
5398N/A except ErrorResultException, e:
5398N/A System.err.println(e.getMessage())
5398N/A System.exit(e.getResult().getResultCode().intValue())
5398N/A
5398N/A except ErrorResultIOException, e:
5398N/A System.err.println(e.getMessage())
5398N/A System.exit(e.getCause().getResult().getResultCode().intValue())
5398N/A
5398N/A except InterruptedException, e:
5398N/A System.err.println(e.getMessage())
5398N/A System.exit(ResultCode.CLIENT_SIDE_USER_CANCELLED.intValue())
5398N/A
5398N/A except IOException, e:
5398N/A System.err.println(e.getMessage())
5398N/A System.exit(ResultCode.CLIENT_SIDE_LOCAL_ERROR.intValue())
5398N/A
5398N/A finally:
5398N/A connection.close()
5398N/A
5398N/A SDKResult = [[0,'%s' % entry.getAllAttributes().toString()]]
5398N/A </script>
5398N/A <message>
5398N/A 'Result = %s' % entry.getAllAttributes().toString()
5398N/A </message>
5398N/A <return>
5398N/A SDKResult
5398N/A </return>
5398N/A </sequence>
5398N/A </function>
5688N/A
5688N/A <function name="authRate">
5688N/A <function-prolog>
5688N/A This function runs ldap authrate tool from OpenDJ SDK
5688N/A </function-prolog>
5688N/A <function-map-args>
5688N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
5688N/A <function-arg-description>
5688N/A Location of target host
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="hostname"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="sdkBinPath" type="optional" default="'%s' % SDK_BIN">
5688N/A <function-arg-description>
5688N/A Pathname to installation of sdk binaries
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="filepath"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
5688N/A <function-arg-description>
5688N/A Pathname to installation root
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="filepath"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstanceHost" type="optional">
5688N/A <function-arg-description>
5688N/A Directory server hostname or IP address
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="hostname"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstancePort" type="optional">
5688N/A <function-arg-description>
5688N/A Directory server port number
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="Port number"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstanceDn" type="optional">
5688N/A <function-arg-description>
5688N/A Bind DN
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="DN"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstancePswd" type="optional">
5688N/A <function-arg-description>
5688N/A Bind password
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="extraParams" type="optional">
5688N/A <function-arg-description>
5688N/A Optional extra parameters for specific test cases
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="expectedRC" type="optional" default="0">
5688N/A <function-arg-description>
5688N/A Expected return code value. Default value is 0
5688N/A Wildcard 'noCheck' to not check the RC
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="integer"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="verbose" type="optional" default="True">
5688N/A <function-arg-description>
5688N/A Display (or not) output.
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="integer"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="knownIssue" type="optional" default="None">
5688N/A <function-arg-description>
5688N/A Known issue. Corresponds to an issue number.
5688N/A </function-arg-description>
5688N/A </function-arg-def>
6350N/A <function-arg-def name="outputFile" type="optional" default="'None'">
6350N/A <function-arg-description>
6350N/A Output file containing the command output
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="file"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputPath" type="optional">
6350N/A <function-arg-description>
6350N/A Path containing the outputFile
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
5688N/A </function-map-args>
5688N/A <sequence>
5688N/A <!-- Local variables -->
5688N/A <script>
5688N/A mylocation=location
5688N/A </script>
5688N/A
5688N/A <!-- Build the Command -->
5688N/A <script>
5688N/A STAFCmdParamsList=[]
5688N/A STAFCmdParams=''
5688N/A
5688N/A if dsPath:
5688N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
5688N/A
5688N/A STAFCmd='%s/authrate%s' % (sdkBinPath,fileExt)
5688N/A </script>
5688N/A
5688N/A <!-- Set common ldap arguments -->
5688N/A <call function="'_ldapCommonArgs'" />
5688N/A
5688N/A <script>
5688N/A if extraParams:
5688N/A STAFCmdParamsList.append('%s' % extraParams)
5688N/A
5688N/A STAFCmdParams=' '.join(STAFCmdParamsList)
5688N/A </script>
6350N/A <if expr="outputFile != 'None'">
6350N/A <call function="'runCommand'" >
6350N/A { 'command' : STAFCmd,
6350N/A 'arguments' : STAFCmdParams,
6350N/A 'location' : location,
6350N/A 'name' : 'authrate',
6350N/A 'outputFile': '%s/%s' % (outputPath, outputFile),
6350N/A 'expectedRC': expectedRC,
6350N/A 'knownIssue': knownIssue
6350N/A }
6350N/A </call>
6350N/A <else>
6358N/A <sequence>
6358N/A <call function="'runCommand'">
6358N/A { 'command' : STAFCmd,
6358N/A 'arguments' : STAFCmdParams,
6358N/A 'location' : mylocation,
6358N/A 'name' : 'authrate',
6358N/A 'expectedRC' : expectedRC,
6358N/A 'knownIssue' : knownIssue
6358N/A }
6358N/A </call>
6358N/A
6358N/A <script>
6358N/A for line in STAXResult[0][1].split('\n'):
6358N/A print line
6358N/A </script>
6358N/A </sequence>
6350N/A </else>
6350N/A </if>
5688N/A
5688N/A <return>
5688N/A STAXResult
5688N/A </return>
5688N/A </sequence>
5688N/A </function>
5688N/A
5688N/A <function name="searchRate">
5688N/A <function-prolog>
5688N/A This function runs ldap searchrate tool from OpenDJ SDK
5688N/A </function-prolog>
5688N/A <function-map-args>
5688N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
5688N/A <function-arg-description>
5688N/A Location of target host
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="hostname"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="sdkBinPath" type="optional" default="'%s' % SDK_BIN">
5688N/A <function-arg-description>
5688N/A Pathname to installation of sdk binaries
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="filepath"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
5688N/A <function-arg-description>
5688N/A Pathname to installation root
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="filepath"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstanceHost" type="optional">
5688N/A <function-arg-description>
5688N/A Directory server hostname or IP address
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="hostname"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstancePort" type="optional">
5688N/A <function-arg-description>
5688N/A Directory server port number
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="Port number"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstanceDn" type="optional">
5688N/A <function-arg-description>
5688N/A Bind DN
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="DN"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstancePswd" type="optional">
5688N/A <function-arg-description>
5688N/A Bind password
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="extraParams" type="optional">
5688N/A <function-arg-description>
5688N/A Optional extra parameters for specific test cases
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="expectedRC" type="optional" default="0">
5688N/A <function-arg-description>
5688N/A Expected return code value. Default value is 0
5688N/A Wildcard 'noCheck' to not check the RC
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="integer"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="verbose" type="optional" default="True">
5688N/A <function-arg-description>
5688N/A Display (or not) output.
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="integer"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="knownIssue" type="optional" default="None">
5688N/A <function-arg-description>
5688N/A Known issue. Corresponds to an issue number.
5688N/A </function-arg-description>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsBaseDN" type="optional">
5688N/A <function-arg-description>
5688N/A The baseDN for the search operation
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="dn"/>
5688N/A </function-arg-def>
6350N/A <function-arg-def name="outputFile" type="optional" default="'None'">
6350N/A <function-arg-description>
6350N/A Output file containing the command output
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="file"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputPath" type="optional">
6350N/A <function-arg-description>
6350N/A Path containing the outputFile
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
5688N/A </function-map-args>
5688N/A <sequence>
5688N/A <!-- Local variables -->
5688N/A <script>
5688N/A mylocation=location
5688N/A </script>
5688N/A
5688N/A <!-- Build the Command -->
5688N/A <script>
5688N/A STAFCmdParamsList=[]
5688N/A STAFCmdParams=''
5688N/A
5688N/A if dsPath:
5688N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
5688N/A
5688N/A STAFCmd='%s/searchrate%s' % (sdkBinPath,fileExt)
5688N/A </script>
5688N/A
5688N/A <!-- Set common ldap arguments -->
5688N/A <call function="'_ldapCommonArgs'" />
5688N/A
5688N/A <script>
5688N/A if dsBaseDN:
5688N/A STAFCmdParamsList.append('-b %s' % dsBaseDN)
5688N/A
5688N/A if extraParams:
5688N/A STAFCmdParamsList.append('%s' % extraParams)
5688N/A
5688N/A STAFCmdParams=' '.join(STAFCmdParamsList)
5688N/A </script>
6350N/A <if expr="outputFile != 'None'">
6350N/A <call function="'runCommand'" >
6350N/A { 'command' : STAFCmd,
6350N/A 'arguments' : STAFCmdParams,
6350N/A 'location' : location,
6350N/A 'name' : 'searchrate',
6350N/A 'outputFile': '%s/%s' % (outputPath, outputFile),
6350N/A 'expectedRC': expectedRC,
6350N/A 'knownIssue': knownIssue
6350N/A }
6350N/A </call>
6350N/A <else>
6358N/A <sequence>
6358N/A <call function="'runCommand'">
6358N/A { 'command' : STAFCmd,
6358N/A 'arguments' : STAFCmdParams,
6358N/A 'location' : mylocation,
6358N/A 'name' : 'searchrate',
6358N/A 'expectedRC' : expectedRC,
6358N/A 'knownIssue' : knownIssue
6358N/A }
6358N/A </call>
6358N/A
6358N/A <script>
6358N/A for line in STAXResult[0][1].split('\n'):
6358N/A print line
6358N/A </script>
6358N/A </sequence>
6350N/A </else>
6350N/A </if>
5688N/A
5688N/A <return>
5688N/A STAXResult
5688N/A </return>
5688N/A </sequence>
5688N/A </function>
5688N/A
5688N/A <function name="modRate">
5688N/A <function-prolog>
5688N/A This function runs ldap modrate tool from OpenDJ SDK
5688N/A </function-prolog>
5688N/A <function-map-args>
5688N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
5688N/A <function-arg-description>
5688N/A Location of target host
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="hostname"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="sdkBinPath" type="optional" default="'%s' % SDK_BIN">
5688N/A <function-arg-description>
5688N/A Pathname to installation of sdk binaries
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="filepath"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
5688N/A <function-arg-description>
5688N/A Pathname to installation root
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="filepath"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstanceHost" type="optional">
5688N/A <function-arg-description>
5688N/A Directory server hostname or IP address
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="hostname"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstancePort" type="optional">
5688N/A <function-arg-description>
5688N/A Directory server port number
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="Port number"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstanceDn" type="optional">
5688N/A <function-arg-description>
5688N/A Bind DN
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="DN"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsInstancePswd" type="optional">
5688N/A <function-arg-description>
5688N/A Bind password
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="extraParams" type="optional">
5688N/A <function-arg-description>
5688N/A Optional extra parameters for specific test cases
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="expectedRC" type="optional" default="0">
5688N/A <function-arg-description>
5688N/A Expected return code value. Default value is 0
5688N/A Wildcard 'noCheck' to not check the RC
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="integer"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="verbose" type="optional" default="True">
5688N/A <function-arg-description>
5688N/A Display (or not) output.
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="integer"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="knownIssue" type="optional" default="None">
5688N/A <function-arg-description>
5688N/A Known issue. Corresponds to an issue number.
5688N/A </function-arg-description>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="dsBaseDN" type="optional">
5688N/A <function-arg-description>
5688N/A The baseDN for the operation
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="dn"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="attribute" type="optional">
5688N/A <function-arg-description>
5688N/A The attribute to be modified
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
5688N/A <function-arg-def name="formatString" type="optional">
5688N/A <function-arg-description>
5688N/A The attribute value to be modified
5688N/A </function-arg-description>
5688N/A <function-arg-property name="type" value="string"/>
5688N/A </function-arg-def>
6350N/A <function-arg-def name="outputFile" type="optional" default="'None'">
6350N/A <function-arg-description>
6350N/A Output file containing the command output
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="file"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputPath" type="optional">
6350N/A <function-arg-description>
6350N/A Path containing the outputFile
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
5688N/A </function-map-args>
5688N/A <sequence>
5688N/A <!-- Local variables -->
5688N/A <script>
5688N/A mylocation=location
5688N/A </script>
5688N/A
5688N/A <!-- Build the Command -->
5688N/A <script>
5688N/A STAFCmdParamsList=[]
5688N/A STAFCmdParams=''
5688N/A
5688N/A if dsPath:
5688N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
5688N/A
5688N/A STAFCmd='%s/modrate%s' % (sdkBinPath,fileExt)
5688N/A </script>
5688N/A
5688N/A <!-- Set common ldap arguments -->
5688N/A <call function="'_ldapCommonArgs'" />
5688N/A
5688N/A <script>
5688N/A if dsBaseDN:
5688N/A STAFCmdParamsList.append('-b %s' % dsBaseDN)
5688N/A
5688N/A if extraParams:
5688N/A STAFCmdParamsList.append('%s' % extraParams)
6322N/A
5688N/A if attribute:
6322N/A if formatString:
6322N/A STAFCmdParamsList.append('%s:%s' % (attribute,formatString))
6322N/A else:
6322N/A STAFCmdParamsList.append('%s' % attribute)
6322N/A
5688N/A STAFCmdParams=' '.join(STAFCmdParamsList)
5688N/A </script>
6350N/A <if expr="outputFile != 'None'">
6350N/A <call function="'runCommand'" >
6350N/A { 'command' : STAFCmd,
6350N/A 'arguments' : STAFCmdParams,
6350N/A 'location' : location,
6350N/A 'name' : 'modrate',
6350N/A 'outputFile': '%s/%s' % (outputPath, outputFile),
6350N/A 'expectedRC': expectedRC,
6350N/A 'knownIssue': knownIssue
6350N/A }
6350N/A </call>
6350N/A <else>
6358N/A <sequence>
6358N/A <call function="'runCommand'">
6358N/A { 'command' : STAFCmd,
6358N/A 'arguments' : STAFCmdParams,
6358N/A 'location' : mylocation,
6358N/A 'name' : 'modrate',
6358N/A 'expectedRC' : expectedRC,
6358N/A 'knownIssue' : knownIssue
6358N/A }
6358N/A </call>
6358N/A
6358N/A <script>
6358N/A for line in STAXResult[0][1].split('\n'):
6358N/A print line
6358N/A </script>
6358N/A </sequence>
6350N/A </else>
6350N/A </if>
5688N/A
5688N/A <return>
5688N/A STAXResult
5688N/A </return>
5688N/A </sequence>
5688N/A </function>
5688N/A
6350N/A <function name="addRate">
6350N/A <function-prolog>
6350N/A This function runs ldap searchrate tool from OpenDJ SDK
6350N/A </function-prolog>
6350N/A <function-map-args>
6350N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
6350N/A <function-arg-description>
6350N/A Location of target host
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="hostname"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="sdkBinPath" type="optional" default="'%s' % SDK_BIN">
6350N/A <function-arg-description>
6350N/A Pathname to installation of sdk binaries
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
6350N/A <function-arg-description>
6350N/A Pathname to installation root
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstanceHost" type="optional">
6350N/A <function-arg-description>
6350N/A Directory server hostname or IP address
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="hostname"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstancePort" type="optional">
6350N/A <function-arg-description>
6350N/A Directory server port number
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="Port number"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstanceDn" type="optional">
6350N/A <function-arg-description>
6350N/A Bind DN
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="DN"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstancePswd" type="optional">
6350N/A <function-arg-description>
6350N/A Bind password
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="string"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="extraParams" type="optional">
6350N/A <function-arg-description>
6350N/A Optional extra parameters for specific test cases
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="string"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="expectedRC" type="optional" default="0">
6350N/A <function-arg-description>
6350N/A Expected return code value. Default value is 0
6350N/A Wildcard 'noCheck' to not check the RC
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="integer"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="verbose" type="optional" default="True">
6350N/A <function-arg-description>
6350N/A Display (or not) output.
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="integer"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="knownIssue" type="optional" default="None">
6350N/A <function-arg-description>
6350N/A Known issue. Corresponds to an issue number.
6350N/A </function-arg-description>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="templateFile" type="optional">
6350N/A <function-arg-description>
6350N/A The template file
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="dn"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputFile" type="optional" default="'None'">
6350N/A <function-arg-description>
6350N/A Output file containing the command output
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="file"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputPath" type="optional">
6350N/A <function-arg-description>
6350N/A Path containing the outputFile
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A </function-map-args>
6350N/A <sequence>
6350N/A <!-- Local variables -->
6350N/A <script>
6350N/A mylocation=location
6350N/A </script>
6350N/A
6350N/A <!-- Build the Command -->
6350N/A <script>
6350N/A STAFCmdParamsList=[]
6350N/A STAFCmdParams=''
6350N/A
6350N/A if dsPath:
6350N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
6350N/A
6350N/A STAFCmd='%s/addrate%s' % (sdkBinPath,fileExt)
6350N/A </script>
6350N/A
6350N/A <!-- Set common ldap arguments -->
6350N/A <call function="'_ldapCommonArgs'" />
6350N/A
6350N/A <script>
6350N/A if templateFile:
6350N/A STAFCmdParamsList.append('-l %s' % templateFile)
6350N/A
6350N/A if extraParams:
6350N/A STAFCmdParamsList.append('%s' % extraParams)
6350N/A
6350N/A STAFCmdParams=' '.join(STAFCmdParamsList)
6350N/A </script>
6350N/A <if expr="outputFile != 'None'">
6350N/A <call function="'runCommand'" >
6350N/A { 'command' : STAFCmd,
6350N/A 'arguments' : STAFCmdParams,
6350N/A 'location' : location,
6350N/A 'name' : 'addrate',
6350N/A 'outputFile': '%s/%s' % (outputPath, outputFile),
6350N/A 'expectedRC': expectedRC,
6350N/A 'knownIssue': knownIssue
6350N/A }
6350N/A </call>
6350N/A <else>
6358N/A <sequence>
6358N/A <call function="'runCommand'">
6358N/A { 'command' : STAFCmd,
6358N/A 'arguments' : STAFCmdParams,
6358N/A 'location' : mylocation,
6358N/A 'name' : 'addrate',
6358N/A 'expectedRC' : expectedRC,
6358N/A 'knownIssue' : knownIssue
6358N/A }
6358N/A </call>
6358N/A
6358N/A <script>
6358N/A for line in STAXResult[0][1].split('\n'):
6358N/A print line
6358N/A </script>
6358N/A </sequence>
6350N/A </else>
6350N/A </if>
6350N/A
6350N/A <return>
6350N/A STAXResult
6350N/A </return>
6350N/A </sequence>
6350N/A </function>
6350N/A
6350N/A <function name="delRate">
6350N/A <function-prolog>
6350N/A This function runs ldap delrate tool from OpenDJ SDK
6350N/A </function-prolog>
6350N/A <function-map-args>
6350N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
6350N/A <function-arg-description>
6350N/A Location of target host
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="hostname"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="sdkBinPath" type="optional" default="'%s' % SDK_BIN">
6350N/A <function-arg-description>
6350N/A Pathname to installation of sdk binaries
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
6350N/A <function-arg-description>
6350N/A Pathname to installation root
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstanceHost" type="optional">
6350N/A <function-arg-description>
6350N/A Directory server hostname or IP address
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="hostname"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstancePort" type="optional">
6350N/A <function-arg-description>
6350N/A Directory server port number
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="Port number"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstanceDn" type="optional">
6350N/A <function-arg-description>
6350N/A Bind DN
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="DN"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsInstancePswd" type="optional">
6350N/A <function-arg-description>
6350N/A Bind password
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="string"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="extraParams" type="optional">
6350N/A <function-arg-description>
6350N/A Optional extra parameters for specific test cases
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="string"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="expectedRC" type="optional" default="0">
6350N/A <function-arg-description>
6350N/A Expected return code value. Default value is 0
6350N/A Wildcard 'noCheck' to not check the RC
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="integer"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="verbose" type="optional" default="True">
6350N/A <function-arg-description>
6350N/A Display (or not) output.
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="integer"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="knownIssue" type="optional" default="None">
6350N/A <function-arg-description>
6350N/A Known issue. Corresponds to an issue number.
6350N/A </function-arg-description>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsBaseDN" type="optional">
6350N/A <function-arg-description>
6350N/A The baseDN for the search operation
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="dn"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputFile" type="optional" default="'None'">
6350N/A <function-arg-description>
6350N/A Output file containing the command output
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="file"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputPath" type="optional">
6350N/A <function-arg-description>
6350N/A Path containing the outputFile
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A </function-map-args>
6350N/A <sequence>
6350N/A <!-- Local variables -->
6350N/A <script>
6350N/A mylocation=location
6350N/A </script>
6350N/A
6350N/A <!-- Build the Command -->
6350N/A <script>
6350N/A STAFCmdParamsList=[]
6350N/A STAFCmdParams=''
6350N/A
6350N/A if dsPath:
6350N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
6350N/A
6350N/A STAFCmd='%s/delrate%s' % (sdkBinPath,fileExt)
6350N/A </script>
6350N/A
6350N/A <!-- Set common ldap arguments -->
6350N/A <call function="'_ldapCommonArgs'" />
6350N/A
6350N/A <script>
6350N/A if dsBaseDN:
6350N/A STAFCmdParamsList.append('-b %s' % dsBaseDN)
6350N/A
6350N/A if extraParams:
6350N/A STAFCmdParamsList.append('%s' % extraParams)
6350N/A
6350N/A STAFCmdParams=' '.join(STAFCmdParamsList)
6350N/A </script>
6350N/A <if expr="outputFile != 'None'">
6350N/A <call function="'runCommand'" >
6350N/A { 'command' : STAFCmd,
6350N/A 'arguments' : STAFCmdParams,
6350N/A 'location' : location,
6350N/A 'name' : 'delrate',
6350N/A 'outputFile': '%s/%s' % (outputPath, outputFile),
6350N/A 'expectedRC': expectedRC,
6350N/A 'knownIssue': knownIssue
6350N/A }
6350N/A </call>
6350N/A <else>
6358N/A <sequence>
6358N/A <call function="'runCommand'">
6358N/A { 'command' : STAFCmd,
6358N/A 'arguments' : STAFCmdParams,
6358N/A 'location' : mylocation,
6358N/A 'name' : 'delrate',
6358N/A 'expectedRC' : expectedRC,
6358N/A 'knownIssue' : knownIssue
6358N/A }
6358N/A </call>
6358N/A
6358N/A <script>
6358N/A for line in STAXResult[0][1].split('\n'):
6358N/A print line
6358N/A </script>
6358N/A </sequence>
6350N/A </else>
6350N/A </if>
6350N/A
6350N/A <return>
6350N/A STAXResult
6350N/A </return>
6350N/A </sequence>
6350N/A </function>
6350N/A
6350N/A <function name="LdifDiffSdk">
6350N/A <function-prolog>
6350N/A This function runs ldap delrate tool from OpenDJ SDK
6350N/A </function-prolog>
6350N/A <function-map-args>
6350N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
6350N/A <function-arg-description>
6350N/A Location of target host
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="hostname"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="sdkBinPath" type="optional" default="'%s' % SDK_BIN">
6350N/A <function-arg-description>
6350N/A Pathname to installation of sdk binaries
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
6350N/A <function-arg-description>
6350N/A Pathname to installation root
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="sourceLdif" type="required">
6350N/A <function-arg-description>
6350N/A LDIF file to use as the source data
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="targetLdif" type="required">
6350N/A <function-arg-description>
6350N/A LDIF file to use as the target data
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="outputLdif" type="required">
6350N/A <function-arg-description>
6350N/A File to which the diffs should be written
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="filepath"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="expectedRC" type="optional" default="0">
6350N/A <function-arg-description>
6350N/A Expected return code value. Default value is 0
6350N/A Wildcard 'noCheck' to not check the RC
6350N/A </function-arg-description>
6350N/A <function-arg-property name="type" value="integer"/>
6350N/A </function-arg-def>
6350N/A <function-arg-def name="knownIssue" type="optional" default="None">
6350N/A <function-arg-description>
6350N/A Known issue. Corresponds to an issue number.
6350N/A </function-arg-description>
6350N/A </function-arg-def>
6350N/A </function-map-args>
6350N/A <sequence>
6350N/A <!-- Local variables -->
6350N/A <script>
6350N/A mylocation=location
6350N/A </script>
6350N/A
6350N/A <!-- Build the Command -->
6350N/A <script>
6350N/A STAFCmdParamsList=[]
6350N/A STAFCmdParams=''
6350N/A
6350N/A if dsPath:
6350N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
6350N/A
6350N/A STAFCmd='%s/ldifdiff%s' % (sdkBinPath,fileExt)
6350N/A </script>
6350N/A
6350N/A <script>
6350N/A if outputLdif:
6350N/A STAFCmdParamsList.append('-o %s' % outputLdif)
6350N/A
6350N/A STAFCmdParamsList.append(sourceLdif)
6350N/A STAFCmdParamsList.append(targetLdif)
6350N/A
6350N/A STAFCmdParams=' '.join(STAFCmdParamsList)
6350N/A </script>
6350N/A
6350N/A <call function="'runCommand'">
6350N/A { 'command' : STAFCmd,
6350N/A 'arguments' : STAFCmdParams,
6350N/A 'location' : mylocation,
6350N/A 'name' : 'ldifdiff',
6350N/A 'expectedRC' : expectedRC,
6350N/A 'knownIssue' : knownIssue
6350N/A }
6350N/A </call>
6350N/A
6350N/A <script>
6350N/A savSTAXResult = STAXResult
6350N/A for line in savSTAXResult[0][1].split('\n'):
6350N/A print line
6350N/A
6350N/A if len(savSTAXResult[0][1]) > 0:
6350N/A savSTAXResult[0][0] = 1
6350N/A else:
6350N/A savSTAXResult[0][0] = 0
6350N/A </script>
6350N/A
6350N/A <return>
6350N/A STAXResult
6350N/A </return>
6350N/A </sequence>
6350N/A </function>
5398N/A</stax>