Browse Source

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
stable-0.9
Andrew Bayer 15 years ago committed by Shawn O. Pearce
parent
commit
068eb92710
  1. 26
      org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectId.java
  2. 7
      org.eclipse.jgit/src/org/eclipse/jgit/transport/RefSpec.java
  3. 5
      org.eclipse.jgit/src/org/eclipse/jgit/transport/RemoteConfig.java
  4. 5
      org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java

26
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();
}
}

7
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.
*/

5
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";

5
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]:)?/.+)$");

Loading…
Cancel
Save