From fbe265fa787e4be9cb63c6bae2ef30b9400d9afc Mon Sep 17 00:00:00 2001 From: Simon Harrer <simon.harrer@gmail.com> Date: Thu, 18 Jul 2013 10:11:04 -0400 Subject: [PATCH] Fixes findbugs warning - dereferencing null in exception case --- src/main/java/com/gitblit/Constants.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/Constants.java b/src/main/java/com/gitblit/Constants.java index 7663f8b..aa3767c 100644 --- a/src/main/java/com/gitblit/Constants.java +++ b/src/main/java/com/gitblit/Constants.java @@ -43,6 +43,8 @@ public static final String NOT_FEDERATED_ROLE = "#notfederated"; public static final String NO_ROLE = "#none"; + + public static final String EXTERNAL_ACCOUNT = "#externalAccount"; public static final String PROPERTIES_FILE = "gitblit.properties"; @@ -56,7 +58,9 @@ public static final String RPC_PATH = "/rpc/"; - public static final String PAGES= "/pages/"; + public static final String PAGES = "/pages/"; + + public static final String SPARKLESHARE_INVITE_PATH = "/sparkleshare/"; public static final String BORDER = "***********************************************************"; @@ -78,13 +82,27 @@ public static final String ISO8601 = "yyyy-MM-dd'T'HH:mm:ssZ"; - public static final String R_GITBLIT = "refs/gitblit/"; - public static final String baseFolder = "baseFolder"; public static final String baseFolder$ = "${" + baseFolder + "}"; public static final String contextFolder$ = "${contextFolder}"; + + public static final String HEAD = "HEAD"; + + public static final String R_GITBLIT = "refs/gitblit/"; + + public static final String R_HEADS = "refs/heads/"; + + public static final String R_NOTES = "refs/notes/"; + + public static final String R_CHANGES = "refs/changes/"; + + public static final String R_PULL= "refs/pull/"; + + public static final String R_TAGS = "refs/tags/"; + + public static final String R_REMOTES = "refs/remotes/"; public static String getVersion() { String v = Constants.class.getPackage().getImplementationVersion(); @@ -146,6 +164,28 @@ public String toString() { return name(); + } + + public boolean isValidPermission(AccessPermission permission) { + switch (this) { + case VIEW: + // VIEW restriction + // all access permissions are valid + return true; + case CLONE: + // CLONE restriction + // only CLONE or greater access permissions are valid + return permission.atLeast(AccessPermission.CLONE); + case PUSH: + // PUSH restriction + // only PUSH or greater access permissions are valid + return permission.atLeast(AccessPermission.PUSH); + case NONE: + // NO access restriction + // all access permissions are invalid + return false; + } + return false; } } @@ -361,7 +401,11 @@ private AccessPermission(String code) { this.code = code; } - + + public boolean atMost(AccessPermission perm) { + return ordinal() <= perm.ordinal(); + } + public boolean atLeast(AccessPermission perm) { return ordinal() >= perm.ordinal(); } @@ -416,7 +460,7 @@ } public static enum PermissionType { - MISSING, EXPLICIT, TEAM, REGEX, OWNER, ADMINISTRATOR; + MISSING, ANONYMOUS, EXPLICIT, TEAM, REGEX, OWNER, ADMINISTRATOR; } public static enum GCStatus { @@ -436,7 +480,7 @@ } public static enum AccountType { - LOCAL, LDAP, REDMINE; + LOCAL, EXTERNAL, LDAP, REDMINE, SALESFORCE, WINDOWS; public boolean isLocal() { return this == LOCAL; -- Gitblit v1.9.1