<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class="">should go in the x3d/stylesheeets/java/nashorn folder as jvm-npm.js (file).</div><div class=""><br class=""></div><div class="">If you haven’t found the MyInputStream.java patch, I can resubmit the file, but you’ll have to ask me kindly for it.  It provides readAllBytes().</div><div class=""><br class=""></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">John</span></div><div><br class=""><blockquote type="cite" class=""><div class="">On Jun 14, 2018, at 10:43 PM, Don Brutzman <<a href="mailto:brutzman@nps.edu" class="">brutzman@nps.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Let me try to help figure this out:<br class=""><br class="">On 6/14/2018 5:50 PM, John Carlson wrote:<br class=""><blockquote type="cite" class="">~johncarlson/Downloads/apache-ant-1.10.3/bin/ant test.nashorn<br class="">Buildfile: /Users/johncarlson/Downloads/<a href="http://www.web3d.org/x3d/stylesheets/java/build" class="">www.web3d.org/x3d/stylesheets/java/build</a> <<a href="http://www.web3d.org/x3d/stylesheets/java/build" class="">http://www.web3d.org/x3d/stylesheets/java/build</a>><br class="">   [taskdef] Could not load definitions from resource net/sf/antcontrib/antcontri<br class="">test.nashorn:<br class="">      [echo] ===========================================<br class="">      [echo] ant nashorn/build.xml test.nashorn<br class="">   [taskdef] Could not load definitions from resource net/sf/antcontrib/antcontri<br class=""></blockquote><br class="">I just checked your nashorn/ sudirectory tree.  I have the same version as checked in sourceforge.<br class=""><br class=""><blockquote type="cite" class="">test.nashorn:<br class="">      [echo] Compile:<br class="">     [javac] Compiling 1 source file to /Users/johncarlson/Downloads/<a href="http://www.web3d.or" class="">www.web3d.or</a> <<a href="http://www.web3d.or" class="">http://www.web3d.or</a>><br class="">      [echo] Copy:<br class="">      [copy] Copying 1 file to /Users/johncarlson/Downloads/<a href="http://www.web3d.org/x3d/sty" class="">www.web3d.org/x3d/sty</a> <<a href="http://www.web3d.org/x3d/sty" class="">http://www.web3d.org/x3d/sty</a>><br class="">      [copy] Copying /Users/johncarlson/Downloads/<a href="http://www.web3d.org/x3d/stylesheets/j" class="">www.web3d.org/x3d/stylesheets/j</a> <<a href="http://www.web3d.org/x3d/stylesheets/j" class="">http://www.web3d.org/x3d/stylesheets/j</a>><br class="">      [copy] Copying 1 file to /Users/johncarlson/Downloads/<a href="http://www.web3d.org/x3d/sty" class="">www.web3d.org/x3d/sty</a> <<a href="http://www.web3d.org/x3d/sty" class="">http://www.web3d.org/x3d/sty</a>><br class="">      [copy] Copying /Users/johncarlson/Downloads/<a href="http://www.web3d.org/x3d/stylesheets/j" class="">www.web3d.org/x3d/stylesheets/j</a> <<a href="http://www.web3d.org/x3d/stylesheets/j" class="">http://www.web3d.org/x3d/stylesheets/j</a>><br class="">      [echo] Run:<br class="">      [java] parameter: source file HelloWorldProgramOutput.x3d filesize 21195 by<br class="">      [java] parameter: "-tojs" for conversion to X3DJSONLD JavaScript source<br class="">      [java] parameter: "-toFile" "nashorn/examples/HelloWorldProgramOutput.Nasho<br class="">      [java] convert to JS JavaScript:<br class="">      [java] Warning: toFileJavaScript() is overwriting prior file nashorn/exampl<br class="">      [java] Script DEF=colorTypeConversionScript contains CDATA source-code text<br class="">      [java] Script DEF=MaterialModulatorScript contains CDATA source-code text,<br class="">      [java] TypeError: input.readAllBytes is not a function<br class="">      [java] Error: Cannot read file [/Users/johncarlson/Downloads/<a href="http://www.web3d.org/" class="">www.web3d.org/</a> <<a href="http://www.web3d.org/" class="">http://www.web3d.org/</a>><br class="">      [java] org.web3d.x3d.sai.X3DException: ScriptException when processing file<br class="">      [java] at org.web3d.x3d.jsail.Core.X3DObject.toFileJavaScript(X3DObject<br class="">      [java] at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:628)<br class="">      [java] at org.web3d.x3d.jsail.CommandLine.main(CommandLine.java:163)<br class="">      [java] [Error] TODO problem handling local exception within CommandLine, ex<br class="">      [java] parameter: source file HelloWorldProgramOutput.x3d filesize 21195 by<br class="">      [java] parameter: "-toJSON" for conversion to JSON encoding<br class="">      [java] parameter: "-toFile" "nashorn/examples/HelloWorldProgramOutput.Java.<br class="">      [java] convert to JSON:<br class="">      [java] Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting p<br class="">      [java] Script DEF=colorTypeConversionScript contains CDATA source-code text<br class="">      [java] Script DEF=MaterialModulatorScript contains CDATA source-code text,<br class="">      [java] file conversion successful: HelloWorldProgramOutput.Java.json (40043<br class="">      [java] parameter: source file HelloWorldProgramOutput.x3d filesize 21195 by<br class="">      [java] parameter: "-toX3D" for conversion to X3D encoding<br class="">      [java] parameter: "-toFile" "nashorn/examples/HelloWorldProgramOutput.Java.<br class="">      [java] convert to X3D:<br class="">      [java] Warning: toFileX3D() is overwriting prior file nashorn/examples/Hell<br class="">      [java] file conversion successful: HelloWorldProgramOutput.Java.x3d (21195<br class="">      [echo] ===========================================<br class="">      [echo] HelloWorldProgramOutput.Java.x3d<br class="">[xmlvalidate] 1 file(s) have been successfully validated.<br class="">[xmlvalidate] 1 file(s) have been successfully validated.<br class="">      [echo] matches HelloWorldProgramOutput.x3d: true<br class="">      [echo] ===========================================<br class="">      [echo] ===========================================<br class="">      [echo] HelloWorldProgramOutput.Java.json<br class="">      [echo] matches HelloWorldProgramOutput.json: false<br class="">      [echo] ===========================================<br class=""></blockquote><br class="">Got this far OK.  The next lines in nashorn/build.xml are<br class=""><br class=""><echo message="script:"/><br class=""><!-- [... snip...] --><br class=""><exec executable="jjs"><br class=""><span class="Apple-tab-span" style="white-space:pre">     </span><arg value="-J-Djava.class.path=${java.dir}/jars/X3DJSAIL.3.3.full.jar"/><br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><arg value="${nashorn.examples.dir}/HelloWorldProgramOutput.Nashorn.js"/><br class=""></exec><br class=""><br class=""><blockquote type="cite" class="">      [echo] script:<br class="">      [exec] Exception in thread "main" java.lang.ExceptionInInitializerError<br class="">      [exec] at java.lang.Class.forName0(Native Method)<br class="">      [exec] at java.lang.Class.forName(Class.java:348)<br class="">      [exec] at jdk.nashorn.internal.runtime.Context.findClass(Context.java:1<br class="">      [exec] at jdk.nashorn.internal.objects.NativeJava.simpleType(NativeJava<br class="">      [exec] at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:<br class="">      [exec] at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:<br class="">      [exec] at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:<br class="">      [exec] at jdk.nashorn.internal.scripts.Script$1$X3Dautoclass.:program(n<br class="">      [exec] at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(Script<br class="">      [exec] at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunc<br class="">      [exec] at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntim<br class="">      [exec] at jdk.nashorn.internal.runtime.Context.evaluateSource(Context.j<br class="">      [exec] at jdk.nashorn.internal.runtime.Context.load(Context.java:839)<br class="">      [exec] at jdk.nashorn.internal.objects.Global.load(Global.java:1545)<br class="">      [exec] at jdk.nashorn.internal.scripts.Script$HelloWorldProgramOutput_N<br class="">      [exec] at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(Script<br class="">      [exec] at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunc<br class="">      [exec] at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntim<br class="">      [exec] at jdk.nashorn.tools.Shell.apply(Shell.java:471)<br class="">      [exec] at jdk.nashorn.tools.Shell.runScripts(Shell.java:400)<br class="">      [exec] at jdk.nashorn.tools.Shell.run(Shell.java:179)<br class="">      [exec] at jdk.nashorn.tools.Shell.main(Shell.java:143)<br class="">      [exec] at jdk.nashorn.tools.Shell.main(Shell.java:119)<br class="">      [exec] Caused by: java.util.regex.PatternSyntaxException: Unclosed group ne<br class="">      [exec] (((\d|[1-9]\d+)(\s+(\d|[1-9]\d+)){2}(\s+((0x([a-f]|[A-F}|\d]){1,8})|<br class="">      [exec]<br class="">      [exec] at java.util.regex.Pattern.error(Pattern.java:1957)<br class="">      [exec] at java.util.regex.Pattern.accept(Pattern.java:1815)<br class="">      [exec] at java.util.regex.Pattern.group0(Pattern.java:2910)<br class="">      [exec] at java.util.regex.Pattern.sequence(Pattern.java:2053)<br class="">      [exec] at java.util.regex.Pattern.expr(Pattern.java:1998)<br class="">      [exec] at java.util.regex.Pattern.compile(Pattern.java:1698)<br class="">      [exec] at java.util.regex.Pattern.<init>(Pattern.java:1351)<br class="">      [exec] at java.util.regex.Pattern.compile(Pattern.java:1028)<br class="">      [exec] at org.web3d.x3d.jsail.fields.MFImageObject.<clinit>(MFImageObje<br class="">      [exec] ... 23 more<br class="">      [exec] Result: 1<br class=""></blockquote><br class="">my output is differrent but still erroneous:<br class=""><br class="">===========================================<br class="">script:<br class="">../nashorn/examples/HelloWorldProgramOutput.Nashorn.js:1 TypeError: Cannot load script from nashorn/node/X3Dautoclass.js<br class="">Result: 102<br class=""><br class="">got a few other output errors too.  that error log is attached.<br class=""><br class="">the partial regex above is truncated, looks like the first part of MFImage regex (or possibly SFImage).  Full version from X3Dv4 schema:<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">   </span><xs:simpleType name="MFImage"><br class=""><span class="Apple-tab-span" style="white-space:pre"> </span><span class="Apple-tab-span" style="white-space:pre">    </span><xs:annotation><br class=""><span class="Apple-tab-span" style="white-space:pre">  </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><xs:appinfo><br class=""><span class="Apple-tab-span" style="white-space:pre">     </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><!-- problem with pattern validation of default value 0 0 0 --><br class=""><span class="Apple-tab-span" style="white-space:pre">  </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><xs:pattern value="(((\d|[1-9]\d+)(\s+(\d|[1-9]\d+)){2}(\s+((0x([a-f]|[A-F}|\d]){1,8})|[1-9]\d+|\d))*(\s)*(,)?(\s)*)*"/><br class=""><span class="Apple-tab-span" style="white-space:pre">       </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span>MFImage is an array of SFImage values.<br class=""><span class="Apple-tab-span" style="white-space:pre"> </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span></xs:appinfo><br class=""><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><xs:documentation source="<a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/fieldsDef.html#SFImageAndMFImage" class="">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/fieldsDef.html#SFImageAndMFImage</a>"/><br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span></xs:annotation><br class=""><span class="Apple-tab-span" style="white-space:pre"> </span><span class="Apple-tab-span" style="white-space:pre">    </span><xs:restriction base="xs:string"><br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span><xs:minLength value="5"/><br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span></xs:restriction><br class=""><span class="Apple-tab-span" style="white-space:pre">        </span></xs:simpleType><br class=""><br class="">hmmm.  the fragment above [a-f]|[A-F} looks unbalanced.  checking with <a href="http://regex101.com" class="">regex101.com</a> shows that it is indeed incorrect.<br class=""><br class="">fragments replaced with [a-f]|[A-F] and fixed another unmatched parenthesis in MFImage.  they both pass regex101 validation now.<br class=""><br class="">just learned about static initializers in Java and then added regex confirmation in each of the field objects.  that should reduce the number of future surprises we experience.  example:<br class=""><br class="">============================================================================================================<br class=""><a href="http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/fields/SFVec3fObject.html#initialize--" class="">http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/fields/SFVec3fObject.html#initialize--</a><br class="">============================================================================================================<br class=""><br class="">// https://stackoverflow.com/questions/6454482/how-can-i-add-javadoc-to-a-static-initializer-in-java<br class=""><br class="">// static initializer<br class="">static {<br class=""><span class="Apple-tab-span" style="white-space:pre">   </span>try {<br class=""><span class="Apple-tab-span" style="white-space:pre">  </span><span class="Apple-tab-span" style="white-space:pre">    </span>// verify pattern is compiling OK, report exception if not<br class=""><span class="Apple-tab-span" style="white-space:pre">     </span><span class="Apple-tab-span" style="white-space:pre">    </span>java.util.regex.Pattern.compile(REGEX);<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">   </span><span class="Apple-tab-span" style="white-space:pre">    </span>// verify DEFAULT_VALUE matches pattern OK, report if not<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span>if ((new SFVec3fObject(DEFAULT_VALUE)).matches() == false)<br class=""><span class="Apple-tab-span" style="white-space:pre">     </span><span class="Apple-tab-span" style="white-space:pre">    </span>{<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span><span class="Apple-tab-span" style="white-space:pre">    </span>System.err.println("SFVec3fObject.initialize() problem: failed to match default value DEFAULT_VALUE " + DEFAULT_VALUE);<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span>}<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span>}<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span>catch (java.util.regex.PatternSyntaxException exception)<br class=""><span class="Apple-tab-span" style="white-space:pre">       </span>{<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span>System.err.println("Exception in SFVec3f initialization testing, regex pattern compilation failure");<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">    </span>System.err.println("REGEX = " + REGEX);<br class=""><span class="Apple-tab-span" style="white-space:pre">      </span><span class="Apple-tab-span" style="white-space:pre">    </span>System.err.println(exception.getDescription());<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>}<br class="">}<br class="">============================================================================================================<br class="">============================================================================================================<br class=""><br class="">all checked in, now uploading x3d-4.0.xsd schema, X3DUOM v4, X3D Regular Expressions, X3DJSAIL.  should be done in a couple of hours.<br class=""><br class="">and so, back to you!<br class=""><br class="">all the best, Don<br class="">-- <br class="">Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu<br class="">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br class="">X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman<br class=""><br class=""><span id="cid:B4853F82-5652-475F-A6FD-B4875A7C6A49"><nashorn.examples.build.out.txt></span></div></div></blockquote></div><br class=""></div></body></html>