summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/models
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2012-10-03 09:18:51 -0400
committerJames Moger <james.moger@gitblit.com>2012-10-03 09:18:51 -0400
commite94078b80f2ff1090e62e210baf687d241b32c3a (patch)
treec03833c733e77a918d141d16e6b0db30832b454f /src/com/gitblit/models
parent1f52c8b5f123b97fc631465479bc2855c12b9ee3 (diff)
downloadgitblit-e94078b80f2ff1090e62e210baf687d241b32c3a.tar.gz
gitblit-e94078b80f2ff1090e62e210baf687d241b32c3a.zip
Display entire fork network. Link as appropriate for user permissions.
Diffstat (limited to 'src/com/gitblit/models')
-rw-r--r--src/com/gitblit/models/ForkModel.java13
-rw-r--r--src/com/gitblit/models/RepositoryModel.java17
-rw-r--r--src/com/gitblit/models/UserModel.java7
3 files changed, 29 insertions, 8 deletions
diff --git a/src/com/gitblit/models/ForkModel.java b/src/com/gitblit/models/ForkModel.java
index b394396b..849986c1 100644
--- a/src/com/gitblit/models/ForkModel.java
+++ b/src/com/gitblit/models/ForkModel.java
@@ -32,20 +32,17 @@ public class ForkModel implements Serializable {
private static final long serialVersionUID = 1L;
- public final String originRepository;
-
- public final String repository;
+ public final RepositoryModel repository;
public final List<ForkModel> forks;
- public ForkModel(String origin, String repository) {
- this.originRepository = origin;
+ public ForkModel(RepositoryModel repository) {
this.repository = repository;
this.forks = new ArrayList<ForkModel>();
}
public boolean isRoot() {
- return StringUtils.isEmpty(originRepository);
+ return StringUtils.isEmpty(repository.originRepository);
}
public boolean isNode() {
@@ -57,7 +54,7 @@ public class ForkModel implements Serializable {
}
public boolean isPersonalRepository() {
- return repository.charAt(0) == '~';
+ return repository.isPersonalRepository();
}
@Override
@@ -75,6 +72,6 @@ public class ForkModel implements Serializable {
@Override
public String toString() {
- return repository;
+ return repository.toString();
}
}
diff --git a/src/com/gitblit/models/RepositoryModel.java b/src/com/gitblit/models/RepositoryModel.java
index 3148b5b4..a28536d1 100644
--- a/src/com/gitblit/models/RepositoryModel.java
+++ b/src/com/gitblit/models/RepositoryModel.java
@@ -121,6 +121,19 @@ public class RepositoryModel implements Serializable, Comparable<RepositoryModel
public void resetDisplayName() {
displayName = null;
}
+
+ @Override
+ public int hashCode() {
+ return name.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof RepositoryModel) {
+ return name.equals(((RepositoryModel) o).name);
+ }
+ return false;
+ }
@Override
public String toString() {
@@ -143,6 +156,10 @@ public class RepositoryModel implements Serializable, Comparable<RepositoryModel
return !StringUtils.isEmpty(projectPath) && projectPath.equalsIgnoreCase("~" + username);
}
+ public boolean allowAnonymousView() {
+ return !accessRestriction.atLeast(AccessRestrictionType.VIEW);
+ }
+
public RepositoryModel cloneAs(String cloneName) {
RepositoryModel clone = new RepositoryModel();
clone.originRepository = name;
diff --git a/src/com/gitblit/models/UserModel.java b/src/com/gitblit/models/UserModel.java
index 25787a15..7c32a555 100644
--- a/src/com/gitblit/models/UserModel.java
+++ b/src/com/gitblit/models/UserModel.java
@@ -36,6 +36,8 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel>
private static final long serialVersionUID = 1L;
+ public static final UserModel ANONYMOUS = new UserModel("anonymous", false);
+
// field names are reflectively mapped in EditUser page
public String username;
public String password;
@@ -56,6 +58,11 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel>
this.isAuthenticated = true;
}
+ private UserModel(String username, boolean authenticated) {
+ this.username = username;
+ this.isAuthenticated = authenticated;
+ }
+
/**
* This method does not take into consideration Ownership where the
* administrator has not explicitly granted access to the owner.