searchLoadLib.xml revision d81978a0815d5b8a75633c35e3e1f8708d36f017
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "/shared/stax.dtd">
<!--
! CDDL HEADER START
!
! The contents of this file are subject to the terms of the
! Common Development and Distribution License, Version 1.0 only
! (the "License"). You may not use this file except in compliance
! with the License.
!
! You can obtain a copy of the license at
! trunk/opends/resource/legal-notices/OpenDS.LICENSE
! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
! See the License for the specific language governing permissions
! and limitations under the License.
!
! When distributing Covered Code, include this CDDL HEADER in each
! file and include the License file at
! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
! add the following below this CDDL HEADER, with the fields enclosed
! by brackets "[]" replaced with your own identifying information:
! Portions Copyright [yyyy] [name of copyright owner]
!
! CDDL HEADER END
!
! Copyright 2008 Sun Microsystems, Inc.
! -->
<stax>
<defaultcall function="searchLoadParser"/>
<!-- ************************************************************ -->
<!-- Client Parser -->
<!-- This function must NOT have scope=local has its variables may -->
<!-- be used by the caller -->
<function name="searchLoadParser">
<function-map-args>
<function-arg-def name="client" type="required"/>
<function-arg-def name="instances" type="required"/>
<function-arg-def name="duration" type="required"/>
<function-arg-def name="suffix" type="required"/>
</function-map-args>
<sequence>
<script>
compilDir = '%s/%s_%s' % \
(client.getPath(),client.getHost(),client.getId())
#
# Extract client parameters from client.getParams()
#
cParams = client.getParams()
try:
serverInstanceFromClient = cParams[0][1]
except IndexError:
serverInstanceFromClient = NOT_DEFINED
msg = '%s\nERROR: serverInstanceFromClient undefined,mandatory' % msg
try:
baseDn = cParams[1][1]
except IndexError:
baseDn = NOT_DEFINED
msg = '%s\nERROR: baseDn undefined,mandatory' % msg
try:
nbCnx = cParams[2][1]
except IndexError:
nbCnx = NOT_DEFINED
msg = '%s\nERROR: nbCnx undefined,mandatory' % msg
try:
nbMaxSearch = cParams[3][1]
except IndexError:
nbMaxSearch = NOT_DEFINED
msg = '%s\nERROR: nbMaxOperations undefined,mandatory' % msg
try:
attributeName = cParams[4][1]
except IndexError:
attributeName = NOT_DEFINED
#
# setup parms to run the client
#
if serverInstanceFromClient != NOT_DEFINED:
sys.path.append("%s/phases/scheduler" % TESTS_DIR )
from scheduler import getInstance
serverInstance = getInstance(serverInstanceFromClient,instances)
if (serverInstance == 'ERROR'):
msg = '%s\nERROR: cant find client instance named' % msg
msg = '%s %s in server instance list' % \
(msg,serverInstanceFromClient)
else:
# remove sec, try to finish before timer kill -9 the client
duration = duration - 20
parms=[]
parms.append('-h %s -p %s' % \
(serverInstance.getHost(),serverInstance.getLDAPPort()))
parms.append('-b "%s"' % baseDn)
parms.append('-D "%s" -w "%s"' % \
(DIRECTORY_INSTANCE_DN,DIRECTORY_INSTANCE_PSWD))
parms.append('-t %s -M %s -d %s' % (nbCnx,nbMaxSearch,duration))
if attributeName != NOT_DEFINED:
parms.append('-a %s' % attributeName)
parms = ' '.join(parms)
</script>
</sequence>
</function>
</stax>