diff options
author | Andrew Bayer <andrew.bayer@gmail.com> | 2010-06-16 15:49:49 -0700 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2010-06-16 16:10:28 -0700 |
commit | 068eb927107503059eb6b9e99b7aa7447d7e5bb4 (patch) | |
tree | 8fd03bc265029c91cd608cf033c2cafac7114f0b /org.eclipse.jgit/src | |
parent | 93ccd4a7fe0bbb29ff76ef2b594a7421a81df183 (diff) | |
download | jgit-068eb927107503059eb6b9e99b7aa7447d7e5bb4.tar.gz jgit-068eb927107503059eb6b9e99b7aa7447d7e5bb4.zip |
Make ObjectId, RefSpec, RemoteConfig, URIish serializable
Modifications to various classes in order to allow serialization
for use of JGit in Hudson's git plugin.
Change-Id: If088717d3da7483538c00a927e433a74085ae9e6
Diffstat (limited to 'org.eclipse.jgit/src')
4 files changed, 37 insertions, 6 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java index fc43d19537..36a9c7cd34 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java @@ -48,11 +48,17 @@ import org.eclipse.jgit.errors.InvalidObjectIdException; import org.eclipse.jgit.util.NB; import org.eclipse.jgit.util.RawParseUtils; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; + /** * A SHA-1 abstraction. */ -public class ObjectId extends AnyObjectId { - private static final ObjectId ZEROID; +public class ObjectId extends AnyObjectId implements Serializable { + private static final long serialVersionUID = 1L; + private static final ObjectId ZEROID; private static final String ZEROID_STR; @@ -271,4 +277,20 @@ public class ObjectId extends AnyObjectId { public ObjectId toObjectId() { return this; } + + private void writeObject(ObjectOutputStream os) throws IOException { + os.writeInt(w1); + os.writeInt(w2); + os.writeInt(w3); + os.writeInt(w4); + os.writeInt(w5); + } + + private void readObject(ObjectInputStream ois) throws IOException { + w1 = ois.readInt(); + w2 = ois.readInt(); + w3 = ois.readInt(); + w4 = ois.readInt(); + w5 = ois.readInt(); + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java index ca6f01500b..1b4d3c615d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java @@ -44,6 +44,7 @@ package org.eclipse.jgit.transport; import java.text.MessageFormat; +import java.io.Serializable; import org.eclipse.jgit.JGitText; import org.eclipse.jgit.lib.Constants; @@ -55,8 +56,10 @@ import org.eclipse.jgit.lib.Ref; * A ref specification provides matching support and limited rules to rewrite a * reference in one repository to another reference in another repository. */ -public class RefSpec { - /** +public class RefSpec implements Serializable { + private static final long serialVersionUID = 1L; + + /** * Suffix for wildcard ref spec component, that indicate matching all refs * with specified prefix. */ diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java index 28e1cd967e..3df56c696d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java @@ -45,6 +45,7 @@ package org.eclipse.jgit.transport; +import java.io.Serializable; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Collections; @@ -60,7 +61,9 @@ import org.eclipse.jgit.lib.Config; * describing how refs should be transferred between this repository and the * remote repository. */ -public class RemoteConfig { +public class RemoteConfig implements Serializable { + private static final long serialVersionUID = 1L; + private static final String SECTION = "remote"; private static final String KEY_URL = "url"; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java index 5939bc2f28..15bd0b1dee 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java @@ -45,6 +45,7 @@ package org.eclipse.jgit.transport; +import java.io.Serializable; import java.net.URISyntaxException; import java.net.URL; import java.util.regex.Matcher; @@ -59,7 +60,9 @@ import org.eclipse.jgit.lib.Constants; * RFC 2396 URI's is that no URI encoding/decoding ever takes place. A space or * any special character is written as-is. */ -public class URIish { +public class URIish implements Serializable { + private static final long serialVersionUID = 1L; + private static final Pattern FULL_URI = Pattern .compile("^(?:([a-z][a-z0-9+-]+)://(?:([^/]+?)(?::([^/]+?))?@)?(?:([^/]+?))?(?::(\\d+))?)?((?:[A-Za-z]:)?/.+)$"); |