<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Fixed classpath by setting it in the environment.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Monday, April 30, 2018 3:46 AM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br><b>Subject: </b>RE: X3DJSAIL, X3dToJava.xslt and DOM X3DLoaderObject testing: anotherClassCastException</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>No Viewpoint children in X3D output.  Could be a problem in X3DJSONLD or X3DLoaderObject, but currently looks like another class cast exception.<o:p></o:p></p><p class=MsoNormal>Also problem with X3DJSONLD in comments it looks like (now separated from JavaScript serializer, whew!), and handling tabs in scripts.  Will work on those two.<o:p></o:p></p><p class=MsoNormal>Are we ready for me to run the equivalent of Json.js against all of the JSON archives?<o:p></o:p></p><p class=MsoNormal>Also a problem with generating JSON with classpath not containing jar.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In folder: /c/x3d-code/www.web3d.org/x3d/stylesheets/java<o:p></o:p></p><p class=MsoNormal>$ javac -cp lib/javax.json-api-1.0.jar src/net/coderextreme/X3DJSONLD.java<o:p></o:p></p><p class=MsoNormal>$ cp src/net/coderextreme/X3DJSONLD.class classes/net/coderextreme/<o:p></o:p></p><p class=MsoNormal>$ jjs -cp "jars/X3DJSAIL.3.3.full.jar;classes" nashorn/examples/Json.js<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[X3DLoaderObject error] Incorrectly handled object construction, current elementObject=ViewpointGroup (ViewpointGroup), child=Viewpoint, java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode<o:p></o:p></p><p class=MsoNormal>java.lang.ClassCastException: org.web3d.x3d.jsail.Navigation.ViewpointGroupObject cannot be cast to org.web3d.x3d.sai.Grouping.X3DGroupingNode<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:1062)<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542)<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:542)<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:430)<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.X3DLoaderObject.toX3dObjectTree(X3DLoaderObject.java:399)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$372$Json$cu1$restOf.:program(nashorn/examples/Json.js:15)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80)<o:p></o:p></p><p class=MsoNormal>[snip of identical error]<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Warning: toFileX3D() is overwriting prior file ./examples/Json.x3d<o:p></o:p></p><p class=MsoNormal>Warning: toFileStylesheetConversion(X3dToJson.xslt) is overwriting prior file ./examples/Json.json<o:p></o:p></p><p class=MsoNormal>Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: ERROR_CONFIGURATION_X3DJSAIL X3DJSAIL jar archive "" not found in CLASSPATH=<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:1043)<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.Core.X3DObject.toFileStylesheetConversion(X3DObject.java:863)<o:p></o:p></p><p class=MsoNormal>        at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:1858)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$373$Json$cu1$restOf.:program(nashorn/examples/Json.js:17)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.apply(Shell.java:519)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.runScripts(Shell.java:448)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn/jdk.nashorn.tools.Shell.run(Shell.java:186)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:104)<o:p></o:p></p><p class=MsoNormal>        at jdk.scripting.nashorn.shell/jdk.nashorn.tools.jjs.Main.main(Main.java:80)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ diff -w nashorn/examples/HelloWorldProgramOutput.Java.x3d nashorn/examples/Json.x3d<o:p></o:p></p><p class=MsoNormal>18c18<o:p></o:p></p><p class=MsoNormal><         <meta name='modified' content='7 April 2018'/><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>         <meta name='modified' content='29 April 2018'/><o:p></o:p></p><p class=MsoNormal>32a33,35<o:p></o:p></p><p class=MsoNormal>>         <meta name='translated' content='29 April 2018'/><o:p></o:p></p><p class=MsoNormal>>         <meta name='generator' content='X3dToJson.xslt, http://www.web3d.org/x3d/stylesheets/X3dToJson.html'/><o:p></o:p></p><p class=MsoNormal>>         <meta name='reference' content='X3D JSON encoding: http://www.web3d.org/wiki/index.php/X3D_JSON_Encoding'/><o:p></o:p></p><p class=MsoNormal>35,38c38<o:p></o:p></p><p class=MsoNormal><         <ViewpointGroup description='Available viewpoints'><o:p></o:p></p><p class=MsoNormal><             <Viewpoint DEF='DefaultView' description='Hello X3DJSAIL'/><o:p></o:p></p><p class=MsoNormal><             <Viewpoint DEF='TopDownView' description='top-down view from above' orientation='1 0 0 -1.570796' position='0 100 0'/><o:p></o:p></p><p class=MsoNormal><         </ViewpointGroup><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>         <ViewpointGroup description='Available viewpoints'/><o:p></o:p></p><p class=MsoNormal>86,88c86,88<o:p></o:p></p><p class=MsoNormal><                     <!-- alternative XML encoding: Text string='"One, Two, Comment" "" "He said, \&quot;Immel did it!\&quot;"' --><o:p></o:p></p><p class=MsoNormal><                     <!-- alternative XML encoding: Text string='"One, Two, Comment" "" "He said, \&quot;Immel did it!\&quot;" ""' --><o:p></o:p></p><p class=MsoNormal><                     <!-- alternative Java source: .setString(new String [] {"One, Two, Comment", "", "He said, \"Immel did it!\""}) --><o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>>                     <!-- alternative XML encoding: Text string='"One, Two, Comment" " " "He said, \\&quot;Immel did it!\\&quot;"' --><o:p></o:p></p><p class=MsoNormal>>                     <!-- alternative XML encoding: Text string='"One, Two, Comment" " " "He said, \\&quot;Immel did it!\\&quot;" " "' --><o:p></o:p></p><p class=MsoNormal>>                     <!-- alternative Java source: .setString(new String [] {"One, Two, Comment", " ", "He said, " "Immel did it!" " "}) --><o:p></o:p></p><p class=MsoNormal>217c217<o:p></o:p></p><p class=MsoNormal><       enabled = newValue;<o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>> \tenabled = newValue;<o:p></o:p></p><p class=MsoNormal>228,231c228,231<o:p></o:p></p><p class=MsoNormal><       if (enabled)<o:p></o:p></p><p class=MsoNormal><       {<o:p></o:p></p><p class=MsoNormal><               Browser.print ('diffuseColor=(' + red + ',' + green + ',' + blue + ') newColor=' + newColor.toString() + '\n');<o:p></o:p></p><p class=MsoNormal><       }<o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>> \tif (enabled)<o:p></o:p></p><p class=MsoNormal>> \t{<o:p></o:p></p><p class=MsoNormal>> \t\tBrowser.print ('diffuseColor=(' + red + ',' + green + ',' + blue + ') newColor=' + newColor.toString() + '\n');<o:p></o:p></p><p class=MsoNormal>> \t}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>