<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "/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 legal-notices/CDDLv1_0.txt
! or http://forgerock.org/license/CDDLv1.0.html.
! 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 legal-notices/CDDLv1_0.txt.
! 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 2007-2009 Sun Microsystems, Inc.
! -->
<stax>
<function name="GetDirectoryServerVars">
<function-prolog>
This function gets variables associated with the Directory Server
</function-prolog>
<function-map-args>
<function-arg-def name="location" type="optional" default="STAXServiceMachine">
<function-arg-description>
Location of target host
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
</function-arg-def>
<function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<function-arg-description>
Pathname to installation root
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
</function-arg-def>
</function-map-args>
<sequence>
<script>
mylocation=location
mypath=dsPath
DSInfo=directory_server_information()
</script>
<message>'Get Information about server %s %s' % (mylocation,dsPath)</message>
<!-- Obtain the variables for the system from start-ds -->
<call function="'StartDsWithScript'">
{ 'location' : mylocation,
'dsPath' : mypath,
'dsSystemInfo' : 'true'
}
</call>
<if expr="RC != 0">
<message>
'Unable to obtain system information variables for %s %s.' % (mylocation,mypath)
</message>
<else>
<sequence>
<message>
'Processing [%s]' % STAXResult
</message>
<script>
DSInfo.SystemList=STAXResult[0][1].split('\n')
DSInfo.ServerDict['server version']= \
DSInfo.getServerVersion(DSInfo.SystemList[0],PRODUCTNAME)
for DSInfo.line in DSInfo.SystemList:
DSInfo.key=DSInfo.line[0:DSInfo.line.find(':')].strip()
DSInfo.value= \
DSInfo.line[DSInfo.line.find(':')+1:len(DSInfo.line)].strip()
DSInfo.SystemDict[DSInfo.key]=DSInfo.value
DSInfo.ServerDict['server buildid']= \
DSInfo.getServerValueFromKey('Build ID',DSInfo.SystemDict)
DSInfo.ServerDict['java version']= \
DSInfo.getServerValueFromKey('JAVA Version',DSInfo.SystemDict)
DSInfo.ServerDict['java vendor']= \
DSInfo.getServerValueFromKey('JAVA Vendor',DSInfo.SystemDict)
DSInfo.ServerDict['jvm version']= \
DSInfo.getServerValueFromKey('JVM Version',DSInfo.SystemDict)
DSInfo.ServerDict['jvm vendor']= \
DSInfo.getServerValueFromKey('JVM Vendor',DSInfo.SystemDict)
DSInfo.ServerDict['jvm architecture']= \
DSInfo.getServerValueFromKey('JVM Architecture',DSInfo.SystemDict)
DSInfo.ServerDict['system os']= \
DSInfo.getServerValueFromKey('Operating System',DSInfo.SystemDict)
DSInfo.ServerDict['system name']= \
DSInfo.getServerValueFromKey('System Name',DSInfo.SystemDict)
DSInfoServersDict[mypath]=DSInfo.ServerDict
</script>
</sequence>
</else>
</if>
<!-- Obtain the secret variables for the system from start-ds -->
<call function="'StartDsWithScript'">
{ 'location' : mylocation,
'dsPath' : mypath,
'dsBuildInfo' : 'true'
}
</call>
<if expr="RC != 0">
<message>
'Unable to obtain build information variables for %s %s.' % (mylocation,mypath)
</message>
<else>
<script>
DSInfo.SystemList=STAXResult[0][1].split('\n')
for DSInfo.line in DSInfo.SystemList:
DSInfo.key=DSInfo.line[0:DSInfo.line.find(':')].strip()
DSInfo.value= \
DSInfo.line[DSInfo.line.find(':')+1:len(DSInfo.line)].strip()
DSInfo.SystemDict[DSInfo.key]=DSInfo.value
DSInfo.ServerDict['svn revision']= \
DSInfo.getServerValueFromKey('Revision Number',DSInfo.SystemDict)
DSInfo.ServerDict['major version']= \
DSInfo.getServerValueFromKey('Major Version',DSInfo.SystemDict)
DSInfo.ServerDict['minor version']= \
DSInfo.getServerValueFromKey('Minor Version',DSInfo.SystemDict)
DSInfo.ServerDict['point version']= \
DSInfo.getServerValueFromKey('Point Version',DSInfo.SystemDict)
DSInfo.ServerDict['version qualifier']= \
DSInfo.getServerValueFromKey('Version Qualifier',DSInfo.SystemDict)
DSInfo.ServerDict['fix ids']= \
DSInfo.getServerValueFromKey('Fix IDs',DSInfo.SystemDict)
DSInfo.ServerDict['debug build']= \
DSInfo.getServerValueFromKey('Debug Build',DSInfo.SystemDict)
</script>
</else>
</if>
</sequence>
</function>
</stax>