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.
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:
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);
|
You can find here the
documentation of the Rhino classes.