You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gh...@apache.org on 2006/04/03 17:43:02 UTC
svn commit: r391073 - in /incubator/harmony/enhanced/classlib/trunk:
modules/archive/src/main/java/java/util/zip/
modules/archive/src/test/java/org/apache/harmony/tests/java/util/zip/
modules/archive/src/test/java/tests/api/java/util/zip/ native-src/li...
Author: gharley
Date: Mon Apr 3 08:42:55 2006
New Revision: 391073
URL: http://svn.apache.org/viewcvs?rev=391073&view=rev
Log:
Fixes for HARMONY-158 and HARMONY-159.
Modified:
incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Deflater.java
incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Inflater.java
incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/tests/java/util/zip/InflaterTest.java
incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/tests/api/java/util/zip/DeflaterTest.java
incubator/harmony/enhanced/classlib/trunk/native-src/linux.IA32/include/jclprots.h
incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/deflater.c
incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.c
incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.h
incubator/harmony/enhanced/classlib/trunk/native-src/win.IA32/include/jclprots.h
Modified: incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Deflater.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Deflater.java?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Deflater.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Deflater.java Mon Apr 3 08:42:55 2006
@@ -177,10 +177,10 @@
if (streamHandle == -1)
throw new IllegalStateException();
- return getTotalInImpl(streamHandle);
+ return (int)getTotalInImpl(streamHandle);
}
- private native synchronized int getTotalInImpl(long handle);
+ private native synchronized long getTotalInImpl(long handle);
/**
* Returns the total number of compressed bytes output nby this Deflater.
@@ -191,10 +191,10 @@
if (streamHandle == -1)
throw new IllegalStateException();
- return getTotalOutImpl(streamHandle);
+ return (int)getTotalOutImpl(streamHandle);
}
- private synchronized native int getTotalOutImpl(long handle);
+ private synchronized native long getTotalOutImpl(long handle);
/**
* Indicates whether or not all bytes of uncompressed input have been
@@ -371,6 +371,30 @@
public Deflater(int level) {
this(level, false);
}
+
+ /**
+ * return a long int instead of int
+ * @see getTotalIn
+ * @return bytes exactly read by deflater
+ */
+ public synchronized long getBytesRead() {
+ // Throw NPE here
+ if (streamHandle == -1)
+ throw new NullPointerException();
+ return getTotalInImpl(streamHandle);
+ }
+
+ /**
+ * return a long int instead of int
+ * @see getTotalOut
+ * @return bytes exactly write by deflater
+ */
+ public synchronized long getBytesWritten() {
+ // Throw NPE here
+ if (streamHandle == -1)
+ throw new NullPointerException();
+ return getTotalOutImpl(streamHandle);
+ }
private native long createStream(int level, int strategy1, boolean noHeader1);
}
Modified: incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Inflater.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Inflater.java?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Inflater.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/Inflater.java Mon Apr 3 08:42:55 2006
@@ -15,7 +15,6 @@
package java.util.zip;
-
/**
* The Inflater class is used to decompress bytes using the DEFLATE compression
* algorithm. Inflation is performed by the ZLIB compression library.
@@ -108,11 +107,12 @@
public synchronized int getTotalIn() {
if (streamHandle == -1)
throw new IllegalStateException();
-
- return getTotalInImpl(streamHandle);
+ long totalIn = getTotalInImpl(streamHandle);
+ return (totalIn <= Integer.MAX_VALUE ? (int) totalIn
+ : Integer.MAX_VALUE);
}
- private synchronized native int getTotalInImpl(long handle);
+ private synchronized native long getTotalInImpl(long handle);
/**
* Returns total number of bytes of input output by the Inflater.
@@ -122,11 +122,12 @@
public synchronized int getTotalOut() {
if (streamHandle == -1)
throw new IllegalStateException();
-
- return getTotalOutImpl(streamHandle);
+ long totalOut = getTotalOutImpl(streamHandle);
+ return (totalOut <= Integer.MAX_VALUE ? (int) totalOut
+ : Integer.MAX_VALUE);
}
- private native synchronized int getTotalOutImpl(long handle);
+ private native synchronized long getTotalOutImpl(long handle);
/**
* Inflates bytes from current input and stores them in buf.
@@ -294,6 +295,34 @@
setInputImpl(buf, off, nbytes, streamHandle);
} else
throw new ArrayIndexOutOfBoundsException();
+ }
+
+ /**
+ * Returns a long int of total number of bytes of input read by the
+ * Inflater.
+ *
+ * @see getTotalIn
+ * @return Total bytes read
+ */
+ public synchronized long getBytesRead() {
+ // Throw NPE here
+ if (streamHandle == -1)
+ throw new NullPointerException();
+ return getTotalInImpl(streamHandle);
+ }
+
+ /**
+ * Returns a long int of total number of bytes of input output by the
+ * Inflater.
+ *
+ * @see getTotalOut
+ * @return Total bytes output
+ */
+ public synchronized long getBytesWritten() {
+ // Throw NPE here
+ if (streamHandle == -1)
+ throw new NullPointerException();
+ return getTotalOutImpl(streamHandle);
}
private native synchronized void setInputImpl(byte[] buf, int off,
Modified: incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/tests/java/util/zip/InflaterTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/tests/java/util/zip/InflaterTest.java?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/tests/java/util/zip/InflaterTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/tests/java/util/zip/InflaterTest.java Mon Apr 3 08:42:55 2006
@@ -28,5 +28,9 @@
// Regression test for HARMONY-86
Inflater inf = new Inflater();
assertFalse(inf.needsDictionary());
+ assertEquals(0,inf.getTotalIn());
+ assertEquals(0,inf.getTotalOut());
+ assertEquals(0,inf.getBytesRead());
+ assertEquals(0,inf.getBytesWritten());
}
}
Modified: incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/tests/api/java/util/zip/DeflaterTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/tests/api/java/util/zip/DeflaterTest.java?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/tests/api/java/util/zip/DeflaterTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/tests/api/java/util/zip/DeflaterTest.java Mon Apr 3 08:42:55 2006
@@ -1129,6 +1129,17 @@
}
}
+ /**
+ * @tests java.util.zip.Deflater()
+ */
+ public void test_needsDictionary() {
+ Deflater inf = new Deflater();
+ assertEquals(0, inf.getTotalIn());
+ assertEquals(0, inf.getTotalOut());
+ assertEquals(0, inf.getBytesRead());
+ assertEquals(0, inf.getBytesWritten());
+ }
+
protected void setUp() {
}
Modified: incubator/harmony/enhanced/classlib/trunk/native-src/linux.IA32/include/jclprots.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/native-src/linux.IA32/include/jclprots.h?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/native-src/linux.IA32/include/jclprots.h (original)
+++ incubator/harmony/enhanced/classlib/trunk/native-src/linux.IA32/include/jclprots.h Mon Apr 3 08:42:55 2006
@@ -45,7 +45,7 @@
/* NativesCommonDeflater*/
void JNICALL Java_java_util_zip_Deflater_setDictionaryImpl PROTOTYPE(( JNIEnv * env, jobject recv, jbyteArray dict, int off, int len, jlong handle));
void JNICALL Java_java_util_zip_Deflater_resetImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
-int JNICALL Java_java_util_zip_Deflater_getTotalOutImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
+jlong JNICALL Java_java_util_zip_Deflater_getTotalOutImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
void JNICALL Java_java_util_zip_Deflater_endImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
jint JNICALL Java_java_util_zip_Deflater_deflateImpl PROTOTYPE((JNIEnv * env, jobject recv, jbyteArray buf, int off, int len,
jlong handle, int flushParm));
@@ -53,7 +53,7 @@
void JNICALL Java_java_util_zip_Deflater_oneTimeInitialization PROTOTYPE((JNIEnv * env, jclass clazz));
void JNICALL Java_java_util_zip_Deflater_setInputImpl PROTOTYPE(( JNIEnv * env, jobject recv, jbyteArray buf, jint off, jint len, jlong handle));
jlong JNICALL Java_java_util_zip_Deflater_createStream PROTOTYPE(( JNIEnv * env, jobject recv, jint level, jint strategy, jboolean noHeader));
-jint JNICALL Java_java_util_zip_Deflater_getTotalInImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
+jlong JNICALL Java_java_util_zip_Deflater_getTotalInImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
jint JNICALL Java_java_util_zip_Deflater_getAdlerImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
/* NativesCommonPlainSocketImpl2*/
@@ -193,9 +193,9 @@
void JNICALL Java_java_util_zip_Inflater_setDictionaryImpl PROTOTYPE(( JNIEnv * env, jobject recv, jbyteArray dict, int off, int len, jlong handle));
void JNICALL Java_java_util_zip_Inflater_oneTimeInitialization PROTOTYPE((JNIEnv * env, jclass clazz));
void JNICALL Java_java_util_zip_Inflater_resetImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
-int JNICALL Java_java_util_zip_Inflater_getTotalOutImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
+jlong JNICALL Java_java_util_zip_Inflater_getTotalOutImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
jlong JNICALL Java_java_util_zip_Inflater_createStream PROTOTYPE(( JNIEnv * env, jobject recv, jboolean noHeader));
-int JNICALL Java_java_util_zip_Inflater_getTotalInImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
+jlong JNICALL Java_java_util_zip_Inflater_getTotalInImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
jint JNICALL Java_java_util_zip_Inflater_getAdlerImpl PROTOTYPE(( JNIEnv * env, jobject recv, jlong handle));
/* NativesCommonSystem*/
Modified: incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/deflater.c
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/deflater.c?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/deflater.c (original)
+++ incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/deflater.c Mon Apr 3 08:42:55 2006
@@ -51,7 +51,7 @@
stream->dict = dBytes;
}
-jint JNICALL
+jlong JNICALL
Java_java_util_zip_Deflater_getTotalInImpl (JNIEnv * env, jobject recv,
jlong handle)
{
@@ -61,7 +61,7 @@
return stream->stream->total_in;
}
-int JNICALL
+jlong JNICALL
Java_java_util_zip_Deflater_getTotalOutImpl (JNIEnv * env, jobject recv,
jlong handle)
{
Modified: incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.c
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.c?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.c (original)
+++ incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.c Mon Apr 3 08:42:55 2006
@@ -246,7 +246,7 @@
(*env)->ThrowNew(env, exceptionClass, message);
}
-int JNICALL
+jlong JNICALL
Java_java_util_zip_Inflater_getTotalOutImpl (JNIEnv * env, jobject recv,
jlong handle)
{
@@ -257,7 +257,7 @@
}
-int JNICALL
+jlong JNICALL
Java_java_util_zip_Inflater_getTotalInImpl (JNIEnv * env, jobject recv,
jlong handle)
{
Modified: incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.h?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.h (original)
+++ incubator/harmony/enhanced/classlib/trunk/native-src/shared/archive/inflater.h Mon Apr 3 08:42:55 2006
@@ -47,13 +47,13 @@
void JNICALL Java_java_util_zip_Inflater_resetImpl (JNIEnv * env,
jobject recv,
jlong handle);
-int JNICALL Java_java_util_zip_Inflater_getTotalOutImpl (JNIEnv * env,
+jlong JNICALL Java_java_util_zip_Inflater_getTotalOutImpl (JNIEnv * env,
jobject recv,
jlong handle);
jlong JNICALL Java_java_util_zip_Inflater_createStream (JNIEnv * env,
jobject recv,
jboolean noHeader);
-int JNICALL Java_java_util_zip_Inflater_getTotalInImpl (JNIEnv * env,
+jlong JNICALL Java_java_util_zip_Inflater_getTotalInImpl (JNIEnv * env,
jobject recv,
jlong handle);
jint JNICALL Java_java_util_zip_Inflater_getAdlerImpl (JNIEnv * env,
Modified: incubator/harmony/enhanced/classlib/trunk/native-src/win.IA32/include/jclprots.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/native-src/win.IA32/include/jclprots.h?rev=391073&r1=391072&r2=391073&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/native-src/win.IA32/include/jclprots.h (original)
+++ incubator/harmony/enhanced/classlib/trunk/native-src/win.IA32/include/jclprots.h Mon Apr 3 08:42:55 2006
@@ -58,7 +58,7 @@
jlong handle));
void JNICALL Java_java_util_zip_Deflater_resetImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
- int JNICALL Java_java_util_zip_Deflater_getTotalOutImpl
+ jlong JNICALL Java_java_util_zip_Deflater_getTotalOutImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
void JNICALL Java_java_util_zip_Deflater_endImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
@@ -76,7 +76,7 @@
jlong JNICALL Java_java_util_zip_Deflater_createStream
PROTOTYPE ((JNIEnv * env, jobject recv, jint level, jint strategy,
jboolean noHeader));
- jint JNICALL Java_java_util_zip_Deflater_getTotalInImpl
+ jlong JNICALL Java_java_util_zip_Deflater_getTotalInImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
jint JNICALL Java_java_util_zip_Deflater_getAdlerImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
@@ -316,11 +316,12 @@
PROTOTYPE ((JNIEnv * env, jclass clazz));
void JNICALL Java_java_util_zip_Inflater_resetImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
- int JNICALL Java_java_util_zip_Inflater_getTotalOutImpl
+
+ jlong JNICALL Java_java_util_zip_Inflater_getTotalOutImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
jlong JNICALL Java_java_util_zip_Inflater_createStream
PROTOTYPE ((JNIEnv * env, jobject recv, jboolean noHeader));
- int JNICALL Java_java_util_zip_Inflater_getTotalInImpl
+ jlong JNICALL Java_java_util_zip_Inflater_getTotalInImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));
jint JNICALL Java_java_util_zip_Inflater_getAdlerImpl
PROTOTYPE ((JNIEnv * env, jobject recv, jlong handle));