VCF Automation Blog

from Stefan Schnell

VCF Automation uses the JavaScript engine Rhino, this becomes visible in the section Scripting Engine of the current Key Features of the Orchestrator Platform. I do not find a way to detect the used version of the Rhino engine via a method call or similar, so I performed a manual detection via available functions. To evaluate this I looked at the changes in the releases of the Rhino engine. From release 1.7R5 to release 1.7.6, for example, the method string.trimLeft() was added. I used this method to try a simple test.

Rhino 1.7.14
js> "   Hello World   ".trimLeft();
Hello World   
js> quit();

Rhino 1.7 release 5 2015 01 29
js> "   Hello World   ".trimLeft();
js: uncaught JavaScript runtime exception:
    TypeError: Cannot find funtion trimLeft in object    Hello Word   .
js> quit();

As you can see, the current version supports the method trimLeft(), whereas version 1.7R5 does not support this method. This is also displayed in VCF Automation.

vcf automation test rhino function trimleft
Based on this result we can assume that Aria Automation version 8.11 (until version 8.16) uses Rhino Engine version <= 1.7R5. The documentation describes that the Orchestrator 7.6 uses Rhino Engine version 1.7R4, in the document vrealize-orchestrator-76-developers-guide.pdf (Page 207: "Orchestrator uses the Mozilla Rhino 1.7R4 JavaScript engine as its scripting engine."). The current key features of the Orchestrator platform talks, in the Scripting engine section, about the Mozilla Rhino JavaScript engine, but without any version information.

Here is the result of a search of the pattern rhino*.jar, which confirms the assumption:

get version of the rhino engine

Is there an easier way to detect the used version of the Rhino JavaScript engine?


Yes, here the JavaScript code to detect the Rhino engine version. It is necessary to grant access to the package org.mozilla.javascript.

var context = new org.mozilla.javascript.Context();
var currentContext = context.getCurrentContext();
var rhinoVersion = currentContext.getImplementationVersion();
System.log(rhinoVersion);

get version of the rhino engine
You can find here the documentation of the Rhino classes.