This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Patch: java.net - url stuff cleanup
- From: Michael Koch <konqueror at gmx dot de>
- To: java-patches at gcc dot gnu dot org
- Date: Fri, 23 Apr 2004 09:22:29 +0200
- Subject: Patch: java.net - url stuff cleanup
Hi list,
I just commited the attached patch to clean up URL stuff in java.net a
little bit.
Michael
2004-04-23 Michael Koch <konqueror@gmx.de>
* java/net/URL.java
(hashcode): Don't initialize with default value explicitely.
(getContent): Removed redundant "final" keyword.
(openStream): Likewise.
(getURLStreamHandler): Fixed coding style.
* java/net/URLConnection.java
(defaultAllowUserInteraction): Don't initialize with default value
explicitely.
(connected): Likewise.
(doOutput): Likewise.
(ifModifiedSince): Likewise.
(dateformats_initialized): Likewise.
(setURLStreamHander): Use StreamTokenizer where it belongs to.
Index: java/net/URL.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/net/URL.java,v
retrieving revision 1.35
diff -u -r1.35 URL.java
--- java/net/URL.java 20 Apr 2004 13:05:10 -0000 1.35
+++ java/net/URL.java 23 Apr 2004 07:21:01 -0000
@@ -141,6 +141,11 @@
private String host;
/**
+ * The user information necessary to establish the connection.
+ */
+ private String userInfo;
+
+ /**
* The port number of this protocol or -1 if the port number used is
* the default for this protocol.
*/
@@ -159,7 +164,7 @@
/**
* This is the hashCode for this URL
*/
- private int hashCode = 0;
+ private int hashCode;
/**
* The protocol handler in use for this URL
@@ -276,7 +281,9 @@
this.host = host;
this.port = port;
- this.authority = null;
+ this.authority = (host != null) ? host : "";
+ if (port >= 0)
+ this.authority += ":" + port;
int hashAt = file.indexOf('#');
if (hashAt < 0)
@@ -480,7 +487,7 @@
*
* @since 1.3
*/
- public final Object getContent() throws IOException
+ public Object getContent() throws IOException
{
return openConnection().getContent();
}
@@ -494,7 +501,7 @@
*
* @exception IOException If an error occurs
*/
- public final Object getContent (Class[] classes) throws IOException
+ public Object getContent(Class[] classes) throws IOException
{
// FIXME: implement this
return getContent();
@@ -653,7 +660,7 @@
*
* @exception IOException If an error occurs
*/
- public final InputStream openStream() throws IOException
+ public InputStream openStream() throws IOException
{
return openConnection().getInputStream();
}
@@ -694,11 +701,17 @@
// be aware of this.
this.ph = getURLStreamHandler(protocol);
this.protocol = protocol.toLowerCase();
- this.authority = null;
+ this.authority = "";
this.port = port;
this.host = host;
this.file = file;
this.ref = ref;
+
+ if (host != null)
+ this.authority += host;
+ if (port >= 0)
+ this.authority += ":" + port;
+
hashCode = hashCode(); // Used for serialization.
}
@@ -727,15 +740,15 @@
// be aware of this.
this.ph = getURLStreamHandler(protocol);
this.protocol = protocol.toLowerCase();
- if (userInfo == null)
- this.host = host;
- else
- this.host = userInfo + "@" + host;
+ this.host = host;
+ this.userInfo = userInfo;
this.port = port;
+ this.file = path;
+ this.authority = authority;
if (query == null)
- this.file = path;
+ this.file = file;
else
- this.file = path + "?" + query;
+ this.file = file + "?" + query;
this.ref = ref;
hashCode = hashCode(); // Used for serialization.
}
@@ -811,13 +824,13 @@
// If a non-default factory has been set, use it to find the protocol.
if (factory != null)
{
- ph = factory.createURLStreamHandler (protocol);
+ ph = factory.createURLStreamHandler(protocol);
}
- else if (protocol.equals ("core"))
+ else if (protocol.equals("core"))
{
ph = new gnu.java.net.protocol.core.Handler();
}
- else if (protocol.equals ("file"))
+ else if (protocol.equals("file"))
{
// This is an interesting case. It's tempting to think that we
// could call Class.forName ("gnu.java.net.protocol.file.Handler") to
Index: java/net/URLConnection.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/net/URLConnection.java,v
retrieving revision 1.30
diff -u -r1.30 URLConnection.java
--- java/net/URLConnection.java 22 Apr 2004 07:02:25 -0000 1.30
+++ java/net/URLConnection.java 23 Apr 2004 07:21:01 -0000
@@ -432,10 +432,10 @@
String type = getContentType();
ContentHandler ch = setContentHandler(type);
- if (ch != null)
- return ch.getContent(this);
+ if (ch == null)
+ return getInputStream();
- return getInputStream();
+ return ch.getContent(this);
}
/**
@@ -993,7 +993,6 @@
// Replace the '/' character in the content type with '.' and
// all other non-alphabetic, non-numeric characters with '_'.
- StringTokenizer pkgPrefix = new StringTokenizer(propVal, "|");
char[] cArray = contentType.toCharArray();
for (int i = 0; i < cArray.length; i++)
{
@@ -1007,6 +1006,7 @@
String contentClass = new String(cArray);
// See if a class of this content type exists in any of the packages.
+ StringTokenizer pkgPrefix = new StringTokenizer(propVal, "|");
do
{
String facName = pkgPrefix.nextToken() + "." + contentClass;