]> source.dussan.org Git - jgit.git/commitdiff
Make ObjectId, RefSpec, RemoteConfig, URIish serializable 80/880/2
authorAndrew Bayer <andrew.bayer@gmail.com>
Wed, 16 Jun 2010 22:49:49 +0000 (15:49 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 16 Jun 2010 23:10:28 +0000 (16:10 -0700)
Modifications to various classes in order to allow serialization
for use of JGit in Hudson's git plugin.

Change-Id: If088717d3da7483538c00a927e433a74085ae9e6

org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java
org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java

index fc43d19537f09ac2e1a0eced3873e175044ab67c..36a9c7cd343510f88d47a945db444f1992e3ee7a 100644 (file)
@@ -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();
+       }
 }
index ca6f01500b140a25e2aa7c701cf46e3f31739c36..1b4d3c615dbf60676e44a2943ebf486f4f34898e 100644 (file)
@@ -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.
         */
index 28e1cd967e4898afea125d1a63aa4ed54cd1f8f5..3df56c696d624970109edbc62494ffaeba22a8f5 100644 (file)
@@ -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";
index 5939bc2f2810d13ca4db81c5cdfbd92d7068ff00..15bd0b1dee731682aeffadebffaf499c3a921caf 100644 (file)
@@ -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]:)?/.+)$");