This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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));
   }
 }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]