Fixes CloseableUrlConnection.getContentLength() jdk6/7 delegation.
Change-Id: I9b14b4f5c90b5a4d0d3b8bafae69a2cb3fac42c3
Review-Link: https://gwt-review.googlesource.com/#/c/7672/
diff --git a/dev/core/src/com/google/gwt/dev/url/CloseableJarHandler.java b/dev/core/src/com/google/gwt/dev/url/CloseableJarHandler.java
index b15ba0d..095c0cb 100644
--- a/dev/core/src/com/google/gwt/dev/url/CloseableJarHandler.java
+++ b/dev/core/src/com/google/gwt/dev/url/CloseableJarHandler.java
@@ -84,8 +84,21 @@
return jarUrlConnection.getContentEncoding();
}
- // No need to override getContentLegth() and getContentLengthLong() because they get rerouted
- // to getHeaderField...()
+ @Override
+ public int getContentLength() {
+ return jarUrlConnection.getContentLength();
+ }
+
+ // No @Override as the method is only available in Java 7.
+ public long getContentLengthLong() {
+ int contentLength = jarUrlConnection.getContentLength();
+ if (contentLength == -1) {
+ throw new RuntimeException("Content length could not be read because it exceeded "
+ + Integer.MAX_VALUE + " bytes.");
+ }
+ return contentLength;
+ }
+
@Override
public String getContentType() {
return jarUrlConnection.getContentType();