Hi Sherman,

Am 24.06.2008 17:58, Xueming Shen schrieb:
Ulf Zibis wrote:
How did you eliminate the dependencies? E.g.: https://java-nio-charset-enhanced.dev.java.net/source/browse/java-nio-charset-enhanced/branches/milestone1/solaris/classes/sun/awt/motif/X11JIS0201.java?rev=201&view=markup
I see, my work on sun.io was for the scrapheap. :-(


If you have the source code for 5.x, you would find those X11 converters were sun.io based, I rewrote all of them in JDK6 and modified all the places in awt/font to use the java.nio.charset interface.. fortunately I was the original font/motif guy who wrote them in the first place, so not too difficult:-)

Sorry, class X11JIS0201 mistakenly is not an example for the dependencies of the sun.io package. It's just the only place, were I found an inner dependency (inheritance) to the sun.nio.cs.ext.JIS_X_0201.De/Encoder. Do you know about other such "inner" dependencies? Please note, that in main I'm working on the refactoring and bugfixing of the JDBC bridge. From that work I came to enhance the sun.nio.cs package. On investigating to add methods to terminate the decoding on occurrence of exclusive cipher (see: Bug 6695386), I discovered, that the de/encoders of sun.nio.cs could be coded faster and less footprint-consuming.


I did the same thing for all sun.io.XYZConverter usages to use the java.nio.charset interface in J2SE workspace then actually removed the J2SE in JDK6 before beta, but had to put them back because BIG licensee insisted they have their JDBC bridge drivers still using sun.io and don't want to migrate.

Yes, don't try to improve anything in sun.io package, our currently policy is to keep it there but don't do anything. That said, in order to rewrite the sun.nio.cs/ext package we might have to touch this package again, one of the ideas is to write a adaptor class to bridge the sun.io.Converter to sun.nio.cs implementation, so we can eliminate all those CharToByte/ByteToChar implementation, I have a draft implementation in one of my ws, but have not fully tested, will dig it out later.

I see, an adaptor class might be better, than my refactoring (just making the 3 getters static and/or superfluous) on the interface between sun.io and sun.nio.cs.
... but I'm sure, my refactoring is faster and consumes less footprint.

BTW: Why not shipping the BIG licensee a separate sun.io-jar to include in his classpath?


very much thank for appreciating my work,


Really appreciate your work. The charset implementation work currently is not my priority simply because I lost my main codereviewer Martin (though he is still interested in this area after moving on to Google, I'm not so sure how much he can continue spend on this), so it would be easy to work on my other interesting areas. But seems like we now have a contributor who is very experienced and interested in charset:-) we should give it a try. I will send you some classes I was working on to share my thoughts/ideas later. But I would "warn" you that all the changes might not make into JDK7, there are sill some debates internally that whether or not we should spend our resource (very limited) on something that works (don't break it if it
works:-))

Yes, it works well. My aproach is just about performance an footprint.

I'm still waiting for your classes to share your thoughts/ideas later.

Regards,
Ulf




Reply via email to