James Moger
2013-09-30 235ad956fa84cad4fac1b2e69a0c9e4f50376ea3
src/main/java/com/gitblit/Constants.java
@@ -19,6 +19,8 @@
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
@@ -43,8 +45,12 @@
   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";
   public static final String DEFAULT_USER_REPOSITORY_PREFIX = "~";
   public static final String GIT_PATH = "/git/";
@@ -56,7 +62,11 @@
   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 BRANCH_GRAPH_PATH = "/graph/";
   public static final String BORDER = "***********************************************************";
@@ -78,13 +88,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();
@@ -126,6 +150,8 @@
    */
   public static enum AccessRestrictionType {
      NONE, PUSH, CLONE, VIEW;
      private static final AccessRestrictionType [] AUTH_TYPES = { PUSH, CLONE, VIEW };
      public static AccessRestrictionType fromName(String name) {
         for (AccessRestrictionType type : values()) {
@@ -134,6 +160,13 @@
            }
         }
         return NONE;
      }
      public static List<AccessRestrictionType> choices(boolean allowAnonymousPush) {
         if (allowAnonymousPush) {
            return Arrays.asList(values());
         }
         return Arrays.asList(AUTH_TYPES);
      }
      public boolean exceeds(AccessRestrictionType type) {
@@ -303,7 +336,7 @@
   public static enum RpcRequest {
      // Order is important here.  anything above LIST_SETTINGS requires
      // administrator privileges and web.allowRpcManagement.
      CLEAR_REPOSITORY_CACHE, GET_PROTOCOL, LIST_REPOSITORIES, LIST_BRANCHES, LIST_SETTINGS,
      CLEAR_REPOSITORY_CACHE, GET_PROTOCOL, LIST_REPOSITORIES, LIST_BRANCHES, GET_USER, LIST_SETTINGS,
      CREATE_REPOSITORY, EDIT_REPOSITORY, DELETE_REPOSITORY, 
      LIST_USERS, CREATE_USER, EDIT_USER, DELETE_USER, 
      LIST_TEAMS, CREATE_TEAM, EDIT_TEAM, DELETE_TEAM,
@@ -356,7 +389,7 @@
    * The types of objects that can be indexed and queried.
    */
   public static enum SearchObjectType {
      commit, blob, issue;
      commit, blob;
      static SearchObjectType fromName(String name) {
         for (SearchObjectType value : values()) {
@@ -383,7 +416,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();
      }
@@ -458,12 +495,25 @@
   }
   
   public static enum AccountType {
      LOCAL, LDAP, REDMINE;
      LOCAL, EXTERNAL, LDAP, REDMINE, SALESFORCE, WINDOWS, PAM, HTPASSWD;
      
      public boolean isLocal() {
         return this == LOCAL;
      }
   }
   public static enum CommitMessageRenderer {
      PLAIN, MARKDOWN;
      public static CommitMessageRenderer fromName(String name) {
         for (CommitMessageRenderer renderer : values()) {
            if (renderer.name().equalsIgnoreCase(name)) {
               return renderer;
            }
         }
         return CommitMessageRenderer.PLAIN;
      }
   }
   @Documented
   @Retention(RetentionPolicy.RUNTIME)