From 11c14e192b907acd3fdc2d6a9bcf4faafc593afe Mon Sep 17 00:00:00 2001
From: Rafael Cavazin <rafaelcavazin@gmail.com>
Date: Sun, 27 Jan 2013 11:13:06 -0500
Subject: [PATCH] updating latest props, and some pt-br fixing
---
src/com/gitblit/models/PathModel.java | 39 +++++++++++++++++++++++++++++++++++----
1 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/src/com/gitblit/models/PathModel.java b/src/com/gitblit/models/PathModel.java
index 0841531..84571cb 100644
--- a/src/com/gitblit/models/PathModel.java
+++ b/src/com/gitblit/models/PathModel.java
@@ -20,6 +20,13 @@
import org.eclipse.jgit.diff.DiffEntry.ChangeType;
import org.eclipse.jgit.lib.FileMode;
+/**
+ * PathModel is a serializable model class that represents a file or a folder,
+ * including all its metadata and associated commit id.
+ *
+ * @author James Moger
+ *
+ */
public class PathModel implements Serializable, Comparable<PathModel> {
private static final long serialVersionUID = 1L;
@@ -28,17 +35,27 @@
public final String path;
public final long size;
public final int mode;
+ public final String objectId;
public final String commitId;
public boolean isParentPath;
- public PathModel(String name, String path, long size, int mode, String commitId) {
+ public PathModel(String name, String path, long size, int mode, String objectId, String commitId) {
this.name = name;
this.path = path;
this.size = size;
this.mode = mode;
+ this.objectId = objectId;
this.commitId = commitId;
}
+ public boolean isSymlink() {
+ return FileMode.SYMLINK.equals(mode);
+ }
+
+ public boolean isSubmodule() {
+ return FileMode.GITLINK.equals(mode);
+ }
+
public boolean isTree() {
return FileMode.TREE.equals(mode);
}
@@ -64,6 +81,13 @@
if (isTree && otherTree) {
return path.compareTo(o.path);
} else if (!isTree && !otherTree) {
+ if (isSubmodule() && o.isSubmodule()) {
+ return path.compareTo(o.path);
+ } else if (isSubmodule()) {
+ return -1;
+ } else if (o.isSubmodule()) {
+ return 1;
+ }
return path.compareTo(o.path);
} else if (isTree && !otherTree) {
return -1;
@@ -71,15 +95,22 @@
return 1;
}
+ /**
+ * PathChangeModel is a serializable class that represents a file changed in
+ * a commit.
+ *
+ * @author James Moger
+ *
+ */
public static class PathChangeModel extends PathModel {
private static final long serialVersionUID = 1L;
public final ChangeType changeType;
- public PathChangeModel(String name, String path, long size, int mode, String commitId,
- ChangeType type) {
- super(name, path, size, mode, commitId);
+ public PathChangeModel(String name, String path, long size, int mode, String objectId,
+ String commitId, ChangeType type) {
+ super(name, path, size, mode, objectId, commitId);
this.changeType = type;
}
--
Gitblit v1.9.1