This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
FYI: Patch: gnu.java.net.protocol.jar.Connection
- From: Michael Koch <konqueror at gmx dot de>
- To: java-patches at gcc dot gnu dot org
- Date: Sat, 24 Jan 2004 22:02:30 +0100
- Subject: FYI: Patch: gnu.java.net.protocol.jar.Connection
Hi list,
I just commited the attached patch to remove unneeded methods for headers.
jar connections does not have headers and default implementation in
java.net.URLConnection is enough.
Michael
2004-01-24 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/jar/Connection.java
(hdrHash): Removed.
(hdrVec): Removed.
(gotHeaders): Removed.
(getHeaderField): Removed.
(getHeaderFields): Removed.
(getHeaderFieldKey): Removed.
(getKey): Removed.
(getField): Removed.
(getHeaders): Removed.
Index: gnu/java/net/protocol/jar/Connection.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/net/protocol/jar/Connection.java,v
retrieving revision 1.4
diff -u -b -B -r1.4 Connection.java
--- gnu/java/net/protocol/jar/Connection.java 20 Dec 2003 22:54:26 -0000 1.4
+++ gnu/java/net/protocol/jar/Connection.java 24 Jan 2004 20:55:55 -0000
@@ -49,15 +49,13 @@
import java.net.ProtocolException;
import java.net.URL;
import java.net.URLConnection;
-import java.util.Map;
-import java.util.Vector;
import java.util.HashMap;
import java.util.Hashtable;
-import java.util.jar.JarFile;
import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
import java.util.jar.JarInputStream;
-import java.util.zip.ZipFile;
import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
/**
* This subclass of java.net.JarURLConnection models a URLConnection via
@@ -71,7 +69,7 @@
private JarFile jar_file;
/**
- * Cached JarURLConnection objects .
+ * Cached JarURLConnection objects.
*/
static HashMap connectionCache = new HashMap();
@@ -219,130 +217,5 @@
}
return jar_file;
- }
-
- // Steal and borrow from protocol/file/Connection.java
-
- private Hashtable hdrHash = new Hashtable();
- private Vector hdrVec = new Vector();
- private boolean gotHeaders = false;
-
- // Override default method in URLConnection.
- public String getHeaderField(String name)
- {
- try
- {
- getHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- return (String) hdrHash.get(name.toLowerCase());
- }
-
- // Override default method in URLConnection.
- public Map getHeaderFields()
- {
- try
- {
- getHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- return hdrHash;
- }
-
- // Override default method in URLConnection.
- public String getHeaderField(int n)
- {
- try
- {
- getHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- if (n < hdrVec.size())
- return getField((String) hdrVec.elementAt(n));
-
- return null;
- }
-
- // Override default method in URLConnection.
- public String getHeaderFieldKey(int n)
- {
- try
- {
- getHeaders();
- }
- catch (IOException x)
- {
- return null;
- }
- if (n < hdrVec.size())
- return getKey((String) hdrVec.elementAt(n));
-
- return null;
- }
-
- private String getKey(String str)
- {
- if (str == null)
- return null;
- int index = str.indexOf(':');
- if (index >= 0)
- return str.substring(0, index);
- else
- return null;
- }
-
- private String getField(String str)
- {
- if (str == null)
- return null;
- int index = str.indexOf(':');
- if (index >= 0)
- return str.substring(index + 1).trim();
- else
- return str;
- }
-
- private void getHeaders() throws IOException
- {
- if (gotHeaders)
- return;
- gotHeaders = true;
-
- connect();
-
- // Yes, it is overkill to use the hash table and vector here since
- // we're only putting one header in the file, but in case we need
- // to add others later and for consistency, we'll implement it this way.
-
- // Add the only header we know about right now: Content-length.
- long len = -1;
-
- if (getEntryName() == null)
- if (jarFileURLConnection != null)
- len = jarFileURLConnection.getContentLength ();
- else
- {
- JarEntry entry = getJarEntry();
- if (entry != null)
- len = entry.getSize ();
- }
-
- String line = "Content-length: " + len;
- hdrVec.addElement(line);
-
- // The key will never be null in this scenario since we build up the
- // headers ourselves. If we ever rely on getting a header from somewhere
- // else, then we may have to check if the result of getKey() is null.
- String key = getKey(line);
- hdrHash.put(key.toLowerCase(), Long.toString(len));
}
}