[x3d-public] Container Field alternate values for Shape. Correct in X3DUOM, incorrect in X3DJSAIL.

John Carlson yottzumm at gmail.com
Sat Apr 16 23:36:46 PDT 2022


It appears that this is yet to be addressed in the X3DJSAIL stylesheet

<!-- TODO once recorded in X3D XML Schema and X3D Object Model, iterate
over values and add to array -->

Thanks for looking into/repairing this!

John

On Sun, Apr 17, 2022 at 1:29 AM John Carlson <yottzumm at gmail.com> wrote:

> I don't think that containerField_ALTERNATE_VALUES is correct for Shape.
> This is perhaps related to the other rootNode issue, where rootNode gets
> overridden by children?
>
> Look at X3DUOM possibilities for Shape containerFields.
>
> Thanks for looking into this.   I'm going to start digging in
>
> runone:
>      [echo] Validate C:\x3d-code\www.web3d.org\x3d\content\examples\Basic\Geospatial\SquawLOD023.json
> with classpath .:/x3d-code/
> www.web3d.org/x3d/stylesheets/java/jars/X3DJSAIL.4.0.full.jar
>      [java] Validating C:\x3d-code\www.web3d.org
> \x3d\content\examples\Basic\Geospatial\SquawLOD023.json
>      [java] org.web3d.x3d.sai.InvalidFieldValueException: Invalid
> setContainerFieldOverride() value='rootNode', legal values for Shape are
> containerField_ALTERNATE_VALUES='"children" "proxy" "shape"'
>      [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:490)
>      [java]     at
> org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
>      [java]     at Validate.main(Validate.java:18)
>      [java]     at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>      [java]     at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>      [java]     at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>      [java]     at
> java.base/java.lang.reflect.Method.invoke(Method.java:568)
>      [java]     at
> org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:218)
>      [java]     at
> org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:155)
>      [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:891)
>      [java]     at
> org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:231)
>      [java]     at
> org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
>      [java]     at
> org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
>      [java]     at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
>      [java]     at
> jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>      [java]     at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>      [java]     at
> java.base/java.lang.reflect.Method.invoke(Method.java:568)
>      [java]     at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
>      [java]     at org.apache.tools.ant.Task.perform(Task.java:350)
>      [java]     at org.apache.tools.ant.Target.execute(Target.java:449)
>      [java]     at
> org.apache.tools.ant.Target.performTasks(Target.java:470)
>      [java]     at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
>      [java]     at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
>      [java]     at
> org.apache.tools.ant.Project.executeTargets(Project.java:1264)
>      [java]     at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
>      [java]     at
> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
>      [java]     at
> jdk.internal.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
>      [java]     at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>      [java]     at
> java.base/java.lang.reflect.Method.invoke(Method.java:568)
>      [java]     at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
>      [java]     at org.apache.tools.ant.Task.perform(Task.java:350)
>      [java]     at java.base/java.util.Vector.forEach(Vector.java:1365)
>      [java]     at
> org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:67)
>      [java]     at
> net.sf.antcontrib.logic.ForEach.executeSequential(ForEach.java:178)
>      [java]     at
> net.sf.antcontrib.logic.ForEach.execute(ForEach.java:254)
>      [java]     at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
>      [java]     at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220417/3418b9f2/attachment-0001.html>


More information about the x3d-public mailing list