Support for JRE/JDK 1.3 by implementation
-----------------------------------------

                 Key: SANDBOX-175
                 URL: http://issues.apache.org/jira/browse/SANDBOX-175
             Project: Commons Sandbox
          Issue Type: Improvement
          Components: Compress
         Environment: IBM JDK 1.3.1 SR9 for IBM WebSphere Application Server 
5.0.2
            Reporter: Christian Gosch
            Priority: Minor


Currently "commons compress" does not support JDK/JRE 1.3, but requires JDK/JRE 
1.4 to compile and run. Since there are still productive environments in real 
world which do not support JRE 1.4 or newer (like the mentioned IBM WAS 5.0.2) 
and java.util.zip.* has major known bugs in filename handling (see below), 
"commons compress" is a reasonable alternative and should be "more compatible".

For problems in handling non-ASCII entry names in java.util.zip.*, see:
http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4244499
http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4820807

For JDK / JRE 1.3 compatibility, only a few things must be fixed:

(1) Set compiler version compatibility version to 1.3 instead of 1.4. This will 
result in class files with version identifier "47.0" instead of "48.0". This 
may be IDE specific in some cases anyway.

(2) Remove "this.initCause(e);" in some non-default Exception constructors (or 
leave them completely blank)

(3) Replace use of "String.split(String)" by JDK 1.3 API in 
PackableObject.identifyByHeader(File, List). Here is how it looks like:

                        String name = file.getName();
                        String extension = null;
//                      String[] s = name.split("\\.");
//                      if(s.length > 1) {
//                              extension = s[ s.length - 1];
//                      }
                        // code above is not JDK 1.3 compliant but requires JDK 
1.4.
                        // Here is the 1.3 compliant implementation:
                        int i = name.lastIndexOf(".");
                        if (i > -1) {
                                extension = name.substring(i + 1);
                        }


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to