[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] FYI: Fix PR 17081
From: |
Bryce McKinlay |
Subject: |
[cp-patches] FYI: Fix PR 17081 |
Date: |
Wed, 18 Aug 2004 14:04:11 -0400 |
User-agent: |
Mozilla Thunderbird 0.5 (X11/20040626) |
I'm checking this in. It fixes serialization of java.net.URI.
Bryce
2004-08-18 Bryce McKinlay <address@hidden>
PR libgcj/17081
* java/net/URI.java (string): New field. Make all other fields
transient.
(readObject): Implemented.
(writeObject): Implemented.
(URI): Set 'string'.
Index: URI.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/net/URI.java,v
retrieving revision 1.5
diff -u -r1.5 URI.java
--- URI.java 20 Apr 2004 13:05:10 -0000 1.5
+++ URI.java 18 Aug 2004 18:03:03 -0000
@@ -111,30 +111,44 @@
* Index of fragment component in parsed URI.
*/
private static final int FRAGMENT_GROUP = 10;
- private String scheme;
- private String rawSchemeSpecificPart;
- private String schemeSpecificPart;
- private String rawAuthority;
- private String authority;
- private String rawUserInfo;
- private String userInfo;
- private String rawHost;
- private String host;
- private int port;
- private String rawPath;
- private String path;
- private String rawQuery;
- private String query;
- private String rawFragment;
- private String fragment;
+ private transient String scheme;
+ private transient String rawSchemeSpecificPart;
+ private transient String schemeSpecificPart;
+ private transient String rawAuthority;
+ private transient String authority;
+ private transient String rawUserInfo;
+ private transient String userInfo;
+ private transient String rawHost;
+ private transient String host;
+ private transient int port;
+ private transient String rawPath;
+ private transient String path;
+ private transient String rawQuery;
+ private transient String query;
+ private transient String rawFragment;
+ private transient String fragment;
+ private String string;
private void readObject(ObjectInputStream is)
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)
@@ -362,6 +376,7 @@
*/
public URI(String str) throws URISyntaxException
{
+ this.string = str;
parseURI(str);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cp-patches] FYI: Fix PR 17081,
Bryce McKinlay <=