<div><div dir="auto">1.  The first thing I tried was no wrappers.   It didn’t work, so I tried with wrappers.   Choosing a non-wrapper method forces the search to go to bottom of the class hierarchy, since there are no matching methods higher.   That is my best diagnosis of the AttributeError problem.</div></div><div dir="auto"><br></div><div dir="auto">2.   The Pyjnius mappings are laughably simple,  but there might be possibilities for extension.  I suggest looking at them in a text editor.   Look in x3dpsail.py.  I also believe that netbeans accepts python, if you haven’t tried it.   I believe I have removed all references to sai (search for .sai.) and abstract classes (search for X3D).</div><div dir="auto"><br></div><div dir="auto">I have tried to limit pyjnius from going up the hierarchy in reflect.py unsuccesfully, I suggest we try in pyjnius proper.</div><div dir="auto"><br></div><div><div dir="auto">I suggest if you cannot find a proper python environment that you try mybinder as shown by Andreas and Masaki.</div><div dir="auto"><br></div><div dir="auto">If you want to generate python from .x3d, then use</div><div dir="auto"><br></div><div dir="auto">node .../xml2all.js foo.x3d</div><div dir="auto"><br></div><div dir="auto">I suggest we pursue the problem one attribute at a time.   One, edit the serializer to remove one attribute, generate and test the python.   I currently have an outstanding addShaders problem that I need to address.</div><div dir="auto"><br></div><div dir="auto">I know very well that we can do it with primitives, because that’s what the other serializer does, right?  It’s only the pipelining that causes the problem.   It’s like if you stick a variable in the way, the wrapper problem is solved.</div><div dir="auto"><br></div><div dir="auto">I have checked in various X3D files and you can generate java from those.</div><div dir="auto"><br></div><div dir="auto">I don’t have a solution for the “passed” problem, so I suggest we focus on that.  I have posted very simple examples which may be converted to java for testing.   You will want to checkout minimal.py from <a href="https://github.com/carlsonsolutiondesign/x3dpsail">https://github.com/carlsonsolutiondesign/x3dpsail</a> there is also a file there that uses it.   No setters or abstract types mentioned.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 5, 2019 at 2:15 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div dir="auto">
<span style="background-color:rgba(255,255,255,0)">Hi John. Frustration at this ongoing PYJNIUS challenge is understandable and something that we share. </span>
<div><span style="background-color:rgba(255,255,255,0)"><br>
</span></div>
<div><span style="background-color:rgba(255,255,255,0)">This purpose of my response was to follow up on your reply listing fields that you were wrapping.  You provided a list of simple fields that you were wrapping with SF object type. For each one My
 reply provided you the reference in the X3DJSAIL javadoc that showed the appropriate method was already available for invoking those with simple values. Thus no wrapping needed. I also provided links to corresponding tooltips, which in turn provide convenient
 links to spec, schemas and other references. This response was intended to facilitate your troubleshooting and explain why wrappers are not needed in those cases.  Thus once again, the bottom line on that topic is that there should be zero need to ever wrap
 simple types values in python source code.</span>
<div><span style="background-color:rgba(255,255,255,0)"><br>
</span></div>
<div><span style="background-color:rgba(255,255,255,0)">I am back from multiple travels and look forward to the possibility of some debug sessions over the phone. The challenge remains getting PYJNIUS mappings aligned, not extending or fixing the underlying X3DJSAIL.
 Providing many cases of HelloWorld.py alternatives unfortunately does not help much (and is not repeatable by me) when there is no accompanying python interpreter trace back of what the problem is.</span></div>
<div><span style="background-color:rgba(255,255,255,0)"><br>
</span></div>
<div>All of the JAVA examples work, so the return types within the X3DJSAIL library are proven correct. </div>
<div><span style="background-color:rgba(255,255,255,0)"><br>
</span></div>
<div><span style="background-color:rgba(255,255,255,0)">I look forward to further step by step sleuthing to figure this out. Getting rid of abstract types in the PYJNIUS mapping is an important step. Inspecting the email trail does not make it clear whether
 you have done that.  You are making changes that I don’t have visibility into, so better synchronization is needed. Hope this explanation helps.<br>
</span>
<div><span style="background-color:rgba(255,255,255,0)"><br>
</span>
<div id="m_1430966237950874945AppleMailSignature" dir="ltr"><span style="background-color:rgba(255,255,255,0)">v/r Don</span></div>
</div>
</div>
</div>
<br>
<div id="m_1430966237950874945AppleMailSignature" dir="ltr">
<div><span style="font-family:Helvetica;font-size:medium">v/r
 Don</span></div>
<span style="font-family:Helvetica;font-size:medium">
<div><span style="font-family:Helvetica;font-size:medium"><br>
</span></div>
Sent from my handheld device</span></div></div><div dir="auto">
<div dir="ltr"><br>
On Jul 4, 2019, at 19:20, John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div dir="ltr">What is the purpose of sending me these links?  What is your goal? To have me conform to SAI?  I suggest that you conform to SAI return types in your X3DJSAIL concrete and abstract classes.</div>
</blockquote>
</div>

</blockquote></div></div>