[x3d-public] announce: updated release for X3D Java Scene Access Interface Library (X3DJSAIL)

John Carlson yottzumm at gmail.com
Mon Sep 25 19:56:53 PDT 2023


Ouch, another null pointer exception with X3DJSAIL with getMessage()!

    [apply] java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because the return value of
"java.lang.reflect.InvocationTargetException.getMessage()" is null
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1590)
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
    [apply]     at Validate.main(Unknown Source)

This is with the full jar.

A quick summary of WinterAndSpring:

$ (ant batchx3d 2>&1)|egrep "Processing|NullPointerException|1590"
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Bushes.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Cane.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\CaneFit.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Flower.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\FlowerGardens.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\FlowerSet.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\GrampsBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\GrampsBoxAudio.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\GrampsBoxTimerOnly.x3d
    [apply] java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because the return value of
"java.lang.reflect.InvocationTargetException.getMessage()" is null
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1590)
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\GrandKidsBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Leif.x3d
    [apply] java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because the return value of
"java.lang.reflect.InvocationTargetException.getMessage()" is null
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1590)
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Lily.x3d
    [apply] java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because the return value of
"java.lang.reflect.InvocationTargetException.getMessage()" is null
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1590)
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\MainStage.x3d
    [apply] java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because the return value of
"java.lang.reflect.InvocationTargetException.getMessage()" is null
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1590)
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Pathway.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Size2tExample_revision2.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\TestCycleTimeStart.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\Tufani.x3d
    [apply] java.lang.NullPointerException: Cannot invoke
"String.contains(java.lang.CharSequence)" because the return value of
"java.lang.reflect.InvocationTargetException.getMessage()" is null
    [apply]     at
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1590)
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterAndSpringHumanoidTimings.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterAndSpringTest.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterAndSpringTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringAuthorsAllTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringDedicationAllTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringMusicCreditAllTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringThanksAllTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterAndSpringTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringAuthorsAllTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringDedicationAllTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringMusicCreditAllTitleBox.x3d
    [apply] Processing C:\x3d-code\www.web3d.org
\x3d\content\examples\HumanoidAnimation\WinterAndSpring\WinterSpringThanksAllTitleBox.x3d

John

On Mon, Sep 25, 2023 at 9:40 PM John Carlson <yottzumm at gmail.com> wrote:

> I see this on the the web page:
>
>
> System.out.println ("===========================================");
> System.out.println ("Test CommandLine invocations");
> String[] args = {"-help" };
> System.out.println ("CommandLine " + Arrays.toString(args));
> CommandLine.run (args); // run these commands
> System.out.println ("===========================================");
> args = new String[] {"HelloWorldProgramOutput.x3d", "-toX3D", "-toFile", "HelloWorldProgramOutput.CommandLine.x3d" };
> System.out.println ("CommandLine " + Arrays.toString(args));
> CommandLine.run (args); // run these commands
> System.out.println ("===========================================");
> args = new String[] {"HelloWorldProgramOutput.x3d", "-EXIFICIENT", "-toEXI", "-toFile", "HelloWorldProgramOutput.CommandLine.EXIFICIENT.exi"};
> System.out.println ("CommandLine " + Arrays.toString(args));
> CommandLine.run (args); // run these commands
> System.out.println ("===========================================");
>
>
> I'd like to do (-validate and/or -canonical and/or -Tidy) with several files, however many files you want to handle in one invocation. Then I'll be able to have 8 processors working on their own batch (with xargs -P 8, or GNU parallel, I guess)
>
>
> On Mon, Sep 25, 2023 at 9:23 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Cool, Don.  I can’t wait to try X3DJSONLD.java with X3DJSAIL.  I’m
>> already impressed by event-graph you previously posted, it will be
>> interesting to see how it’s been upgraded. And yes, I’ll continue my
>> experiments with “JavaScript” SAI using GraalVM JS command-line mode.
>>
>> Additional features might include Java based canonicalization of DOM and
>> Java DOM diff.  I’m getting really tired of all the issues with my
>> xmldiff.js.  Yes, in batch mode.
>>
>> 👍
>>
>> On Mon, Sep 25, 2023 at 8:52 PM Brutzman, Donald (Don) (CIV) <
>> brutzman at nps.edu> wrote:
>>
>>> Am happy to report an updated release of the X3D Java Scene Access
>>> Interface Library (X3DJSAIL).  This open-source capability is tested using
>>> the latest version of Java OpenJDK 20.0.2.
>>>
>>>
>>>
>>>    - X3D Java Scene Access Interface Library (X3DJSAIL) supports
>>>    programmers with standards-based X3D Java interfaces and objects, all as
>>>    open source.
>>>    - https://www.web3d.org/specifications/java/X3DJSAIL.html
>>>    - https://www.web3d.org/specifications/java/javadoc
>>>
>>>
>>>
>>> Improvements in this release include better handling of Humanoid
>>> Animation (HAnim) model structured relationships, along with terser and
>>> more precise diagnostics when validating X3D models.  Improved X3dToHtml
>>> stylesheet production of event-graph documentation has also been updated.
>>>
>>>
>>>
>>> Strong typing of data structures makes high-reliability production of
>>> X3D models using Java possible.
>>>
>>>
>>>
>>>    - X3DJSAIL is a set of strongly typed Java application programming
>>>    interfaces (APIs) providing programmer access to an X3D scene graph.
>>>    - Two integrated Java packages are included that contain X3D SAI
>>>    interfaces and support the X3D Graphics Standards for Java programmers.
>>>       - org.web3d.x3d.jsail   provides concrete implementation-oriented
>>>       classes for building X3D scenes using standalone Java objects.
>>>       - org.web3d.x3d.sai     contains standard X3D SAI interfaces to
>>>       independently compile Script-node source for use in X3D players.
>>>
>>>
>>>
>>> Goal outcomes: *make it easy to create a fully valid X3D scene graph
>>> using Java, while also making it hard to create an incorrect or invalid X3D
>>> model*.
>>>
>>>
>>>
>>>    - Software design patterns are autogenerated from rigorous
>>>    definitions of all X3D node and field relationships using the X3D Unified
>>>    Object Model (X3DUOM).
>>>    - Validation of individual fields includes application of X3D
>>>    Regular Expressions (regexes).
>>>    - X3DJSAIL Javadoc includes all descriptions, links, hints, and
>>>    warnings from the X3D Tooltips.
>>>
>>> This library successfully supports multiple purposes.
>>>
>>>    - Create high-performance standalone Java applications using a Plain
>>>    Old Java Object (POJO) implementation for X3D.
>>>    - Such X3D-capable Java applications can be client-based,
>>>    server-based, or driven via command-line invocation (CLI) such as Java
>>>    Console (jconsole).
>>>    - Test ongoing deployment of X3D version 4 while maintaining full
>>>    support for prior X3D versions 3.0 through 3.3.
>>>
>>> Over 4000 models in the X3D Examples Archive continue to be used as a
>>> source for conversions, regression testing and further improvements.
>>>
>>>
>>>
>>>    - X3D Resources, Examples: Scene Archives for X3D
>>>    - The X3D Examples Archives demonstrate how X3D nodes and scenes
>>>    work. Thousands of scenes are provided in all X3D encodings. You can browse
>>>    them individually online or download fully complete, separately installable
>>>    .zip archives. Links to thousands of additional X3D example scenes are
>>>    provided.
>>>    -
>>>    https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples
>>>
>>>
>>>
>>> Comprehensive build logs show current results.  Issue reports and
>>> feature suggestions are welcome.
>>>
>>>
>>>
>>>    - https://www.web3d.org/x3d/content/examples/build.java.all.log.txt
>>>    - https://www.web3d.org/specifications/java/X3DJSAIL.html#TODO
>>>
>>>
>>>
>>> Have fun with X3D and Java using 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
>>>
>>>
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230925/e9f89944/attachment-0001.html>


More information about the x3d-public mailing list