[x3d-public] X3DJSAIL updates: Patches to X3DJSAIL andbuild.xml, plus test.bat and nashorn additions

John Carlson yottzumm at gmail.com
Sun Dec 17 14:59:16 PST 2017


Here is the diff between the two JSON files:

$ node ~/X3DJSONLD/src/main/node/jsondiff.js java/examples/HelloWorldProgramOutput.json nashorn/examples/HelloWorldProgramOutput.json
RIGHT FILE SyntaxError: Unexpected token
 in JSON at position 832 java/examples/HelloWorldProgramOutput.json nashorn/examples/HelloWorldProgramOutput.json

So the nashorn file doesn’t pass a syntax check. This indicates a problem with X3DJSAIL XML generation, I believe.

John

Running an xml diff shows the following (output from two different Java files found in www.web3d.org/x3d/stylesheets/java/examples).  Note that missing container fields in the nashorn version.  This indicates a problem with generating containerField in X3DJSAIL (probably previously reported.  When someone calls setMaterial with a ProtoInstance, the fact that it was a  setMaterial call needs to get noticed, and reported in the XML output).

$ node ~/X3DJSONLD/src/main/node/xmldiff.js java/examples/HelloWorldProgramOutput.x3d nashorn/examples/HelloWorldProgramOutput.x3d
================================================================================
C:\Users\coderextreme\X3DJSONLD\src\main\node\xmldiff.js java/examples/HelloWorldProgramOutput.x3d nashorn/examples/H
elloWorldProgramOutput.x3d
@2 /X3D/Scene/0/Transform/1/Shape/0/Text/0/MetadataSet/0/MetadataString/0/$/name /X3D/Scene/0/Transform/1/Shape/0/Tex
t/0/MetadataSet/0/MetadataString/0/$/name
< "escapedQuotesTest2"
> "escapedQuotesTest1"
@2 /X3D/Scene/0/Transform/1/Shape/0/Text/0/MetadataSet/0/MetadataString/0/$/value/4/0 /X3D/Scene/0/Transform/1/Shape/
0/Text/0/MetadataSet/0/MetadataString/0/$/value/4/0
< "2:"
> "1:"
@2 /X3D/Scene/0/Transform/1/Shape/0/Text/0/MetadataSet/0/MetadataString/0/$/value/7/0 /X3D/Scene/0/Transform/1/Shape/
0/Text/0/MetadataSet/0/MetadataString/0/$/value/7/0
< ""Immel"
> "\\\\\"Immel"
@2 /X3D/Scene/0/Transform/1/Shape/0/Text/0/MetadataSet/0/MetadataString/0/$/value/9/0 /X3D/Scene/0/Transform/1/Shape/
0/Text/0/MetadataSet/0/MetadataString/0/$/value/9/0
< "it!"\""
> "it!\\\\\"\""
@6/X3D/Scene/0/Transform/1/Shape/0/Text/0/MetadataSet/0/MetadataString/0/$/containerField
>"value"
@7/X3D/Scene/0/Transform/1/Shape/0/Text/0/MetadataSet/0/MetadataString/1
>{"$":{"name":"escapedQuotesTest2","containerField":"value","value":"\"escaped quotation marks example 2: He said, &q
uot;Immel did it!"\""}}
@6/X3D/Scene/0/Transform/1/Collision/0/Shape/0/$/containerField
>"proxy"
@2 /X3D/Scene/0/Transform/1/Collision/0/Shape/0/Text/0/$/string/6/0 /X3D/Scene/0/Transform/1/Collision/0/Shape/0/Text
/0/$/string/6/0
< "\\\"Immel"
> "\\\\\"Immel"
@2 /X3D/Scene/0/Transform/1/Collision/0/Shape/0/Text/0/$/string/8/0 /X3D/Scene/0/Transform/1/Collision/0/Shape/0/Text
/0/$/string/8/0
< "it!\\\"\""
> "it!\\\\\"\""
@4 /X3D/Scene/0/Shape/1/Appearance/0/ProtoInstance/0/$/containerField
< "material"
@4 /X3D/Scene/0/Shape/2/Appearance/0/ProtoInstance/0/$/containerField
< "material"
@4 /X3D/Scene/0/Shape/3/Appearance/0/ProtoInstance/0/$/containerField
< "material"
@4 /X3D/Scene/0/Group/1/Shape/0/Appearance/0/ProtoInstance/0/$/containerField
< "material"

Different

$ grep containerField=.material. */examples/HelloWorldProgramOutput.x3d
java/examples/HelloWorldProgramOutput.x3d:                <ProtoInstance name='ArtDeco01Material' containerField='material'>
java/examples/HelloWorldProgramOutput.x3d:                <ProtoInstance DEF='ArtDeco02MaterialDEF' name='ArtDeco02Material' containerField='material'>
java/examples/HelloWorldProgramOutput.x3d:                <ProtoInstance USE='ArtDeco02MaterialDEF' containerField='material'/>
java/examples/HelloWorldProgramOutput.x3d:                    <ProtoInstance DEF='MyMaterialModulator' name='MaterialModulator' containerField='material'/>
java/examples/HelloWorldProgramOutput.x3d:    <ProtoInstance DEF='MyMaterialModulator' name='MaterialModulator' containerField='material'/>
nashorn/examples/HelloWorldProgramOutput.x3d:        <!-- <ProtoInstance DEF='MyMaterialModulator' name='MaterialModulator' containerField='material'/> -->



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20171217/97a0e63b/attachment-0001.html>


More information about the x3d-public mailing list