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.file.Connection


Hi list,


I commited the attached patch to remove some stuff from 
gnu.java.net.protocol.file.Connection which behaves wrong and is redundant. 
The implementations in java.net.URLConnection act right (now).


Michael


2004-01-06  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java:
	Reformated copyright.
	(hdrHash): Removed.
	(hdrVec): Removed.
	(gotHeaders): Removed.
	(getHeaderField): Removed.
	(getHeaderField): Removed.
	(getHeaderFieldKey): Removed.
	(getKey): Removed.
	(getField): Removed.
	(getHeaders): Removed.

Index: gnu/java/net/protocol/file/Connection.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/net/protocol/file/Connection.java,v
retrieving revision 1.5
diff -u -b -B -r1.5 Connection.java
--- gnu/java/net/protocol/file/Connection.java	2 Dec 2003 14:36:22 -0000	1.5
+++ gnu/java/net/protocol/file/Connection.java	6 Jan 2004 14:50:41 -0000
@@ -1,41 +1,40 @@
-/*
-  FileURLConnection.java -- URLConnection class for "file" protocol
+/* FileURLConnection.java -- URLConnection class for "file" protocol
   Copyright (C) 1998, 1999, 2003 Free Software Foundation, Inc.
 
-  This file is part of GNU Classpath.
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.  */
 
-  GNU Classpath is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2, or (at your option)
-  any later version.
- 
-  GNU Classpath is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-  General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with GNU Classpath; see the file COPYING.  If not, write to the
-  Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-  02111-1307 USA.
-
-  Linking this library statically or dynamically with other modules is
-  making a combined work based on this library.  Thus, the terms and
-  conditions of the GNU General Public License cover the whole
-  combination.
-
-  As a special exception, the copyright holders of this library give you
-  permission to link this library with independent modules to produce an
-  executable, regardless of the license terms of these independent
-  modules, and to copy and distribute the resulting executable under
-  terms of your choice, provided that you also meet, for each linked
-  independent module, the terms and conditions of the license of that
-  module.  An independent module is a module which is not derived from
-  or based on this library.  If you modify this library, you may extend
-  this exception to your version of the library, but you are not
-  obligated to do so.  If you do not wish to do so, delete this
-  exception statement from your version.
-*/
 package gnu.java.net.protocol.file;
 
 import java.io.BufferedInputStream;
@@ -51,10 +50,6 @@
 import java.net.URL;
 import java.net.URLConnection;
 import java.security.Permission;
-import java.util.Map;
-import java.util.Vector;
-import java.util.Hashtable;
-import java.util.Enumeration;
 
 /**
  * This subclass of java.net.URLConnection models a URLConnection via
@@ -86,10 +81,6 @@
    */
   private OutputStream outputStream;
   
-  private Hashtable hdrHash = new Hashtable();
-  private Vector hdrVec = new Vector();
-  private boolean gotHeaders = false;
-
   /**
    * FilePermission to read the file
    */
@@ -216,109 +207,4 @@
   {
     return permission;
   }
-
-  public String getHeaderField(String name)
-  {
-    try
-      {
-	getHeaders();
-      }
-    catch (IOException e)
-      {
-	return null;
-      }
-    return (String) hdrHash.get(name.toLowerCase());
-  }
-
-  public Map getHeaderFields()
-  {
-    try
-      {
-	getHeaders();
-      }
-    catch (IOException e)
-      {
-	return null;
-      }
-    return hdrHash;
-  }
-
-  public String getHeaderField(int n)
-  {
-    try
-      {
-	getHeaders();
-      }
-    catch (IOException x)
-      {
-	return null;
-      }
-    if (n < hdrVec.size())
-      return getField ((String) hdrVec.elementAt(n));
-
-    return null;
-  }
-
-  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 = file.length();
-    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));
-  }
-
-} // class FileURLConnection
+}

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