Search This Blog

Sunday, May 5, 2013

IBM Java in Notes 9 - still version 6

Hi guys

Currently I stuck with a zipping of files with non-ASCII characters in their names.
Actually, I have a few ideas how to move ahead and resolve it but I want to wait a little because my ideas require more efforts than I expected initially.

My current solutions is next (you can download working example on the bottom of this page):

  • I have a Java library that uses standard capabilities of java.util.zip.ZipEntry and java.util.zip.ZipOutputStream. 
  • I use LS2J technology so I have a lotus script class that invokes public method from Java-class that does actual zipping.

Solution is simple and works perfect until we do not have files with non-ASCII characters in their names.

When I started to dig up into the problem I discovered that it is a known issue in Oracle Java 6 (formerly Sun Java).

Note*: As you see I said "Oracle Java". Though I know that IBM Domino/Notes uses IBM Java that has many minor or major differences against Oracle Java I decided to make all following references to Oracle (Sun) Java instead of IBM Java because:
- I did not find so well organized documentation for IBM Java as Oracle Java has. I found some kind of documentation for IBM Java but within the documentation to IBM Websphere and IBM Expeditor so it was not something specially dedicated to IBM Java.
- I think that IBM Java edition was created based on Sun Java (I did not find the confirmation but it seems reasonable) so I think that ~99% of Sun Java is behind the IBM Java, so theoretically, all bugs and features which exist in Sun Java are the same for IBM Java.

Here are links to the registered bugs in Oracle system which confirm this issue: link1, link2.

Fortunately for developers on Oracle Java this bug was fixed in Java 7 - here is a link to this info.

However IBM Notes developers are still "happy" to use Java 6, even with IBM Notes 9 :-(
So the issue is still here.


Btw, do you know that after Feb 2013 Oracle stopped to post updates of Java 6?
Well, I understand them, it's time to move on.
When IBM is going to move IBM Notes to Java 7? I did not find any information about such plans.

So, what do I have to do with my problem now?
I see next options:
- I can replace non-ASCII characters with something else or get rid of them at all before zipping. Ugly but cheap.
- I can throw out my current solution and develop another one using any available third-party libraries for this purpose, for example truezip or Apache zipping functionality ....

What do you think?

Here is a link to the example of my solution.

No comments:

Post a Comment