Commit bb0452b1 by Bryce McKinlay Committed by Bryce McKinlay

re PR libgcj/17081 (Deserializing java.net.URI fails)

2004-08-18  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/17081
	* java/net/URI.java (string): New field. Make all other fields
	transient.
	(readObject): Implemented.
	(writeObject): Implemented.
	(URI): Set 'string'.

From-SVN: r86197
parent 260ba9ce
2004-08-18 Bryce McKinlay <mckinlay@redhat.com> 2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/17081
* java/net/URI.java (string): New field. Make all other fields
transient.
(readObject): Implemented.
(writeObject): Implemented.
(URI): Set 'string'.
2004-08-18 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/17079 PR libgcj/17079
* java/util/logging/Handler.java (isLoggable): Accept record if its * java/util/logging/Handler.java (isLoggable): Accept record if its
log level equals the threshold level. From Robin Green. log level equals the threshold level. From Robin Green.
......
...@@ -111,30 +111,44 @@ public final class URI implements Comparable, Serializable ...@@ -111,30 +111,44 @@ public final class URI implements Comparable, Serializable
* Index of fragment component in parsed URI. * Index of fragment component in parsed URI.
*/ */
private static final int FRAGMENT_GROUP = 10; private static final int FRAGMENT_GROUP = 10;
private String scheme; private transient String scheme;
private String rawSchemeSpecificPart; private transient String rawSchemeSpecificPart;
private String schemeSpecificPart; private transient String schemeSpecificPart;
private String rawAuthority; private transient String rawAuthority;
private String authority; private transient String authority;
private String rawUserInfo; private transient String rawUserInfo;
private String userInfo; private transient String userInfo;
private String rawHost; private transient String rawHost;
private String host; private transient String host;
private int port; private transient int port;
private String rawPath; private transient String rawPath;
private String path; private transient String path;
private String rawQuery; private transient String rawQuery;
private String query; private transient String query;
private String rawFragment; private transient String rawFragment;
private String fragment; private transient String fragment;
private String string;
private void readObject(ObjectInputStream is) private void readObject(ObjectInputStream is)
throws ClassNotFoundException, IOException throws ClassNotFoundException, IOException
{ {
this.string = (String) is.readObject();
try
{
parseURI(this.string);
}
catch (URISyntaxException x)
{
// Should not happen.
throw new RuntimeException(x);
}
} }
private void writeObject(ObjectOutputStream is) throws IOException private void writeObject(ObjectOutputStream os) throws IOException
{ {
if (string == null)
string = toString();
os.writeObject(string);
} }
private static String getURIGroup(Matcher match, int group) private static String getURIGroup(Matcher match, int group)
...@@ -362,6 +376,7 @@ public final class URI implements Comparable, Serializable ...@@ -362,6 +376,7 @@ public final class URI implements Comparable, Serializable
*/ */
public URI(String str) throws URISyntaxException public URI(String str) throws URISyntaxException
{ {
this.string = str;
parseURI(str); parseURI(str);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment