Application Delivery Management
Application Modernization & Connectivity
CyberRes
IT Operations Management
getEntParamField(param, field)
getEntParamFieldBackwardsCompatible(param, idm4field, legacyfield)
getIDM4EntParamField(jsonstr, field)
getParamValue(paramString, paramName)
/**
* Get named field form an entitlement parameter string
* The function tries to determine the parameter format automatically and parse the parameter accordingly
*
* @param param parameter string ( e.g. '{"ID":"b53b65bb0b921548b8830cc698666dc2","ID2":"CN=PamelaGroup,CN=Users,DC=carpathia,DC=qalab,DC=com"}' or 'AG=Group1|LSNAME=S7ECLNT315|FROM=|TO=')
* @param field field name
* @return value field value
*/
function getEntParamField(param, field)
{
return getEntParamFieldBackwardsCompatible(param, field, field);
}
/**
* Get named field form an entitlement parameter string.
* The function tries to determine the parameter format automatically and parse the parameter accordingly.
* If the field names have changed from the legacy format to the idm4 format, this method allows both field names to be specified.
*
* @param param parameter string ( e.g. '{"ID":"b53b65bb0b921548b8830cc698666dc2","ID2":"CN=PamelaGroup,CN=Users,DC=carpathia,DC=qalab,DC=com"}' or 'AG=Group1|LSNAME=S7ECLNT315|FROM=|TO=')
* @param idm4field idm4 format field name
* @param legacyfield legacy format field name
* @return value field value
*/
function getEntParamFieldBackwardsCompatible(param, idm4field, legacyfield)
{
param = String((new JString(param)).trim());
if (param.charAt(0)=='{' && param.charAt(param.length-1)=='}')
{
try {
return getIDM4EntParamField(param, idm4field);
}
catch (e) {
return getParamValue(param, legacyfield);
}
}
else {
return getParamValue(param, legacyfield);
}
}
/**
* Get named field form a JSON-formatted IDM4 entitlement parameter string
*
* @param jsonstr JSON string ( e.g. {"ID":"b53b65bb0b921548b8830cc698666dc2","ID2":"CN=PamelaGroup,CN=Users,DC=carpathia,DC=qalab,DC=com"} )
* @param field field name
* @return value field value
*/
function getIDM4EntParamField(jsonstr, field)
{
var jsonobj = eval('(' jsonstr ')');
return eval("jsonobj." field);
}
/**
* Get named parameter value form a pipe-delimited (|) string
*
* @param paramString parameter string string ( e.g. AG=Group1|LSNAME=S7ECLNT315|FROM=|TO= )
* @param paramName parameter name
* @return value parameter value
*/
function getParamValue(paramString, paramName)
{
try {
var pairs = String(paramString).split('|');
for (i in pairs) {
pair = pairs[i].split('=');
if (pair[0].equals(paramName)) {
return pair[1];
}
}
} catch (e) {
return String(paramString);
}
return paramString;
}
<do-set-xml-attr expression="../modify[last()]/modify-attr[last()]/add-value[last()]/value[last()]" name="association-ref">
<arg-string>
<token-xpath expression="./text()"/>
</arg-string>
</do-set-xml-attr>
<nds ndsversion="8.7" dtdversion="1.1">
<source>
<product version="3.5.10" asn1id="" build="20100709_120000" instance="\ACME-IDV\Acme\Drivers\IDM\AD-Driver">AD</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<add-association dest-dn="\ACME-IDV\Acme\Users\davej" dest-entry-id="39267" event-id="server123#20101119141455#3#1">b003d12492ed61418701277118949f34</add-association>
<status level="success" event-id="osg900lnx#20101119141455#3#1"/>
</output>
</nds>