[x3d-public] `ant all` in x3d/stylesheets/java/node (missing jar); containerField_ALTERNATE_VALUES correction
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Fri Dec 31 09:20:35 PST 2021
Please see the X3DJSAIL web page for further details on building things yourself. Specific suggested build improvements, problem identification, and feature requests are always welcome.
* X3DJSAIL, Codebase Production
* https://www.web3d.org/specifications/java/X3DJSAIL.html#Codebase
That includes link to typical build output for me, which you can use for comparison:
* https://www.web3d.org/specifications/java/build.out.X3DJSAIL.txt
Another output log is also provided for building examples.
* X3DJSAIL Examples
* https://www.web3d.org/specifications/java/X3DJSAIL.html#Examples
* https://www.web3d.org/specifications/java/examples/HelloWorldProgramOutput.java
* https://www.web3d.org/specifications/java/examples/HelloWorldProgramOutputLog.txt
Build logs are maintained in version control so you can also check history of project evolution.
* Regarding X3D case in point: yes each of the Metadata nodes might indeed appear as either 'metadata' field within other nodes, or as 'value' field of a parent MetadataSet node.
As you also noted, X3DUOM is correct.
Aha moment: and so, can confirm accuracy of your note below that the following autogenerated statement for each of the X3DJSAIL Metadata nodes is mistaken:
* containerField_ALTERNATE_VALUES = new String[] { "value", "value" }; // type containerFieldChoicesMetadata
Now fixed as:
* containerField_ALTERNATE_VALUES = new String[] { "value", "metadata" }; // type containerFieldChoicesMetadata
Thanks for that. Will deploy corrected source in updated build later today.
Hope all this build detail helps, have fun with X3DJSAIL! 8)
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, navy robotics https:// faculty.nps.edu/brutzman
From: John Carlson <yottzumm at gmail.com>
Sent: Thursday, December 30, 2021 10:33 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Graphics public mailing list <x3d-public at web3d.org>
Subject: Re: `ant all` in x3d/stylesheets/java/node (missing jar)
On 12/24/21 03:01, John Carlson wrote:
Note: development file.
Exception thrown by running `ant all` in x3d/stylesheets/java/node
Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: Invalid setContainerFieldOverride() value='metadata', legal values for MetadataSet are containerField_ALTERNATE_VALUES='"value" "value"'
No longer appears (see log below). I am not sure what what changed.
I think what's happening is the X3DJSAIL jar is not being generated in x3d/stylesheets/java/jars.
That's the problem!
Please ensure that the X3DJSAIL jar is being generated from the stylesheet
Thanks!
John
This appears to be relevant from log belowCreateX3dSceneAccessInterfaceJava.xslt:
setContainerFieldOverride() value='metadata', legal values for MetadataSet are containerField_ALTERNATE_VALUES='"value" "value"'
I haven't worked with this code in a long time, but my guess would be that alternate values of the containerField would be /metadata/ and /value/
Here's X3DUOM:
<containerField default="value" type="containerFieldChoicesMetadata"/>
[snip]
<SimpleType name="containerFieldChoicesMetadata"
baseType="xs:NMTOKEN"
appinfo="containerFieldChoicesMetadata lists the allowed containerField enumeration values for Metadata nodes: "value" if providing information and parent node is MetadataSet collection, otherwise default "metadata" if providing information about parent node."
documentation="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#containerField">
<enumeration value="metadata"
appinfo="this node provides metadata information regarding its parent node."/>
<enumeration value="value"
appinfo="parent node is MetadataSet, this node is providing information as part of a MetadataSet collection."/>
</SimpleType>
I'll rebuild X3DJSAIL. Rebuilding X3DJSAIL did not work.
MetadataSet.java looks like this:
342 containerField_ALTERNATE_VALUES = new String[] { "value", "value" }; // type containerFieldChoicesMetadata
>From the CreateX3dSceneAccessInterfaceJava.xslt:
<xsl:text>
setContainerFieldOverride(""); // ensuring default value used
containerField_ALTERNATE_VALUES = new String[] { "</xsl:text>
<xsl:value-of select="InterfaceDefinition/containerField/@default"/>
<xsl:text>"</xsl:text>
I'm lost at this point. It would seem like you would like to get the values out of the SimpleType enumeration. Perhaps something is incomplete?
Run (see subject) log:
[echo] Run test 1:
[echo] org.web3d.x3d.jsail.CommandLine examples/HelloWorldProgramOutput.x3d -tojs -toFile examples/HelloWorldProgramOutput.Node.js
[java] parameter: source file HelloWorldProgramOutput.x3d filesize 23474 bytes
[java] CommandLine parameter: "-tojs" for conversion to X3DJSONLD JavaScript source
[java] CommandLine parameter: "-toFile" "examples/HelloWorldProgramOutput.Node.js" for result file name root examples/HelloWorldProgramOutput.Node
[java] Parsing using Document Object Model (DOM) based X3DLoaderDOM...
[java] [X3DLoaderDOM] <meta name='info' content='continued development and testing in progress'/>
[java] convert to JS JavaScript:
[java] Note: toFileStylesheetConversion(X3dToNodeJS.xslt) is overwriting prior file examples/HelloWorldProgramOutput.Node.js
[java] className='HelloWorldProgramOutput.Node' has illegal character(s) ( -.,;) replaced with '_' underscore character. newClassName='HelloWorldProgramOutput_Node'
[java] file conversion successful: HelloWorldProgramOutput.Node.js (37781 bytes)
[java] parameter: source file Json.x3d filesize 22435 bytes
[java] CommandLine parameter: "-tojs" for conversion to X3DJSONLD JavaScript source
[java] CommandLine parameter: "-toFile" "examples/Json.js" for result file name root examples/Json
[java] Parsing using Document Object Model (DOM) based X3DLoaderDOM...
[java] Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: Invalid setContainerFieldOverride() value='metadata', legal values for MetadataSet are containerField_ALTERNATE_VALUES='"value" "value"'
[java] at org.web3d.x3d.jsail.X3DConcreteNode.setContainerFieldOverride(X3DConcreteNode.java:401)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:631)
[java] [X3DLoaderDOM] <meta name='info' content='continued development and testing in progress'/> at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java]
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)
[java] at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:914)
[java] at org.web3d.x3d.jsail.CommandLine.main(CommandLine.java:234)
[java] Java Result: 1
[java] parameter: source file Quotes.x3d filesize 23111 bytes
[java] CommandLine parameter: "-tojs" for conversion to X3DJSONLD JavaScript source
[java] CommandLine parameter: "-toFile" "examples/Quotes.js" for result file name root examples/Quotes
[java] Parsing using Document Object Model (DOM) based X3DLoaderDOM...
[java] [X3DLoaderDOM] <meta name='info' content='tested sat: name value cannot contain embedded space character'/>
[java] Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: Invalid setContainerFieldOverride() value='metadata', legal values for MetadataSet are containerField_ALTERNATE_VALUES='"value" "value"'
[java] at org.web3d.x3d.jsail.X3DConcreteNode.setContainerFieldOverride(X3DConcreteNode.java:401)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:631)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)
[java] at org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)
[java] at org.web3d.x3d.jsail.CommandLine.run(CommandLine.java:914)
[java] at org.web3d.x3d.jsail.CommandLine.main(CommandLine.java:234)
[java] Java Result: 1
[echo] ===========
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20211231/ba0667c8/attachment-0001.html>
More information about the x3d-public
mailing list