HP Matrix Operating Environment Software User Manual

Page 51

Advertising
background image

Example: Custom rule

rule "CustomRule1"

when

$pVO : PolicyExecutionVO( );

$resLst : List();

/* --------------- CUSTOM LOGIC ------------------ */

// Get service entity and resource objects.

$logicalSubnet : LogicalSubnet();

$subnet : Subnet() from $resLst;

// call new user defined function with required arguments

// function has to return true in case of success or false

// in case of failure.

eval(customRule1($logicalSubnet, $subnet, $pVO));

/* --------------- CUSTOM LOGIC ------------------ */

then

/* --------------- CUSTOM LOGIC ------------------ */

// Since this is a custom rule/criteria construct HPIO message

// using ALLOCATION_CRITERIA_CUSTOM bundle key and providing

// allocation failure message (string) to be displayed. In case

// this rule fails. NOTE same information should be used while

// calling doesNotMatch in the custom function below.

$pVO.match($subnet, HPIOMessage.get(HPIOBundleKey.ALLOCATION_CRITERIA_CUSTOM,

“Failure message”));

/* --------------- CUSTOM LOGIC ------------------ */

end

/*

* The function is responsible to do criteria check and return

* true/false based on the requested resource and the available

* resources.

* Initialize result map with doesNotMatch to start with, if this

* function returns success (true) then rule result map will be

* changed to match.

*

*/

function boolean customRule1(

LogicalSubnet logicalSubnet,

Subnet subnet,

PolicyExecutionVO pVO) {

// Custom message.

pVO.doesNotMatch(subnet,

HPIOMessage.get(HPIOBundleKey.ALLOCATION_CRITERIA_CUSTOM, “Failure message”));

boolean match=true;

/* -------------- CUSTOM LOGIC ----------------------*/

/* -------------- CUSTOM LOGIC ----------------------*/

Customizable allocation process

51

Advertising