<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>My code and Don's code has been sync'ed up now I think. We get
similar issues in verbose mode. I guess there's no real good way
for treating an IS like an X3DNode? What about creating a
"setIS" on fieldValue with the IS as a parameter? That was my
first guess at what to do. Any feedback on adding a public
method setIS(IS) on the fieldValue class? Then I can get rid of
the first special case below. I am working on statement
inheritance in X3DUOM right now, attempting to make some
statements, potentially "IS" inheriting X3DChildNode<br>
</p>
<p>Here's the hard code in my JavaSerializer.js:</p>
<p>// node is child and element is parent<b><br>
</b></p>
<p><b> if (node.nodeName === "IS" &&
element.nodeName === "fieldValue") {</b><b><br>
</b><b> method = "Child";</b><b><br>
</b><b> addpre = "add";</b><b><br>
</b><b> } else </b>if (node.nodeName === "IS") {<br>
method = "IS";<br>
addpre = "set";<br>
}</p>
<p>Note that the X3DUOM versions are differently handling
Statements:</p>
<p>$ grep name=.IS X3dUnifiedObjectModel*xml|grep -v field<br>
X3dUnifiedObjectModel-3.0.xml: <ConcreteNode name="IS"><br>
X3dUnifiedObjectModel-3.1.xml: <ConcreteNode name="IS"><br>
X3dUnifiedObjectModel-3.2.xml: <ConcreteNode name="IS"><br>
X3dUnifiedObjectModel-3.3.xml: <ConcreteNode name="IS"><br>
X3dUnifiedObjectModel-4.0.xml: <Statement name="IS"></p>
<p>$ grep Statements X3dUnifiedObjectModel*xml<br>
X3dUnifiedObjectModel-3.0.xml: <Statements/><br>
X3dUnifiedObjectModel-3.1.xml: <Statements/><br>
X3dUnifiedObjectModel-3.2.xml: <Statements/><br>
X3dUnifiedObjectModel-3.3.xml: <Statements/><br>
X3dUnifiedObjectModel-4.0.xml: <Statements><br>
X3dUnifiedObjectModel-4.0.xml: </Statements></p>
<p>Note that I've added a verbose flag to the below, plus I've been
modifying the X3DJSAIL jar more recently and X3DUOM in attempt to
get code that passes muster. I am doing this in my own
environment, and have not modified XML Schema that I know of. So
this code is kind of old at this point:<br>
</p>
<p>My code:</p>
<p>javac -cp .:/home/coderextreme/pythonSAI/X3DJSAIL.4.0.full.jar
-Xdiags:verbose net/coderextreme/data/rubik2x2x2.java<br>
net/coderextreme/data/rubik2x2x2.java:112: error: method addChild
in class fieldValue cannot be applied to given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
net/coderextreme/data/rubik2x2x2.java:118: error: method addChild
in class fieldValue cannot be applied to given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
net/coderextreme/data/rubik2x2x2.java:124: error: method addChild
in class fieldValue cannot be applied to given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
net/coderextreme/data/rubik2x2x2.java:130: error: method addChild
in class fieldValue cannot be applied to given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
4 errors</p>
<p><br>
</p>
<p><br>
</p>
<p>Don's code:<br>
</p>
<p><br>
</p>
<p>coderextreme@coderextreme-Kubuntu20:~/X3DJSONLD/src/main/java$
javac -cp .:/home/coderextreme/pythonSAI/X3DJSAIL.4.0.full.jar
-Xdiags:verbose
net/x3djsonld/data/rubik2x2x2.javanet/x3djsonld/data/rubik2x2x2.java:103:
error: method addChild in class fieldValue cannot be applied to
given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
net/x3djsonld/data/rubik2x2x2.java:108: error: method addChild in
class fieldValue cannot be applied to given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
net/x3djsonld/data/rubik2x2x2.java:122: error: method addChild in
class fieldValue cannot be applied to given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
net/x3djsonld/data/rubik2x2x2.java:127: error: method addChild in
class fieldValue cannot be applied to given types;<br>
.addChild(new IS()<br>
^<br>
required: X3DNode<br>
found: IS<br>
reason: argument mismatch; IS cannot be converted to X3DNode<br>
4 errors<br>
</p>
</body>
</html>