<div dir="ltr">node-X3DJSAIL fails on setName return value.   Same issue as PyJNIus possibly.  Nashorn does NOT show same problem with near equal code.<div><br></div><div>Suggestions (alternatives):</div><div><br></div><div>Use Nashorn for JavaScript interfacing with X3DJSAIL, use different coding style in NodeSerializer.js/XSLT, use X_ITE for SAI (not tested and generation isn't complete yet, need to change sets/adds to property access--possibly), hope and pray that Nashorn isn't buried, and/or is maintained in OpenJDK or otherwise opensourced, fix contract violation in X3DJSAIL, or complain to node-java developers.<br><div><br></div><div>Recommendation: Move towards X_ITE solution for SAI for now.  Test a few individual cases in browser, generate HTML around generated JavaScript code to make it VRMLScript.   Create VRMLScriptSerializer.js based on node/JavaScriptSerializer.js (SAI version).   Create a vrmlscript folder for project on sourceforge.</div><div><br></div><div>Future:   Work towards supporting VRMLScript in X3DOM, possibly based on X3DJSONLD's Script*.js program.</div><div><br></div><div>X3DJSAIL Interfaces:<div><br></div><div>$ grep setName MetadataSetObject.java ../../sai/Core/MetadataSet.java|grep public<br>MetadataSetObject.java: public final MetadataSetObject setName(String newValue)<br>MetadataSetObject.java: public MetadataSetObject setName(SFStringObject newValue)<br>../../sai/Core/MetadataSet.java:        public MetadataSet setName(String newValue);<br></div><div><br></div><div>$ node examples/HelloWorldProgramOutput.js<br>C:\x3d-code\<a href="http://www.web3d.org">www.web3d.org</a>\x3d\stylesheets\node\examples\HelloWorldProgramOutput.<br>js:95<br>                .setValue(new autoclass.MetadataString().setName("extraChildTest<br>").setValue(java.newArray("java.lang.String", ["checks MetadataSetObject addValu<br>e() method"]))))<br>                ^<br><br>TypeError: Cannot read property 'setValue' of null<br>    at Object.<anonymous> (C:\x3d-code\<a href="http://www.web3d.org">www.web3d.org</a>\x3d\stylesheets\node\exampl<br>es\HelloWorldProgramOutput.js:95:17)<br>?[90m    at Module._compile (internal/modules/cjs/loader.js:1139:30)?[39m<br>?[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1159:1<br>0)?[39m<br>?[90m    at Module.load (internal/modules/cjs/loader.js:988:32)?[39m<br>?[90m    at Function.Module._load (internal/modules/cjs/loader.js:896:14)?[39m<br>?[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_ma<br>in.js:71:12)?[39m<br>?[90m    at internal/main/run_main_module.js:17:47?[39m<br></div></div></div></div>