Derek Thomson - 2002-04-01

I've finally gotten Fnorb to work with Jython!

The main issue was that Java doesn't support select. Or, rather, Java 1.4 introduces select but Jython doesn't support it yet. I tried adding select support to Jython but that was less than successful ...

So, I removed all usage of select from Fnorb when it is not available. This was more difficult than it sounds, as the accept model is based on select i.e. Just because you chose the Threaded model, doesn't mean that the main accept loop doesn't use select.

The changes I've made have no effect if you aren't using Jython.

One other quirk - Jython's import doesn't acknowledge symbolic links for some reason. So after you check out from CVS, you need to 'mv fnorb Fnorb', not 'ln -s fnorb Fnorb'. I'm going to ask the Jython team about this one - it took me ages to figure out why import wouldn't work :(

So, given that you can seamlessly call Python methods from Java, we now have a Java ORB. Sort of. The Java mappings won't be the Java CORBA mappings, they'll be the Jython/Java mappings derived from the Python IDL mappings. Some might call this a feature ;)

However, given that we've got a complete pure-Python IDL compiler and code generation toolkit, writing "real" Java mappings wouldn't be *too* hard if someone were so inclined.