James Moger
2014-02-28 16aa5a06b3728f2a6c5b94bc36ce6cf6e266b286
src/main/java/com/gitblit/utils/StringUtils.java
@@ -127,6 +127,8 @@
            retStr.append("%2F");
         } else if (inStr.charAt(i) == ' ') {
            retStr.append("%20");
         } else if (inStr.charAt(i) == '&') {
            retStr.append("%26");
         } else {
            retStr.append(inStr.charAt(i));
         }
@@ -556,6 +558,20 @@
   }
   /**
    * Returns the file extension of a path.
    *
    * @param path
    * @return a blank string or a file extension
    */
   public static String stripFileExtension(String path) {
      int lastDot = path.lastIndexOf('.');
      if (lastDot > -1) {
         return path.substring(0, lastDot);
      }
      return path;
   }
   /**
    * Replace all occurences of a substring within a string with
    * another string.
    *
@@ -733,4 +749,25 @@
      }
      return input.replace('\n',' ').replace('\r',  ' ').trim();
   }
   /**
    * Encode the username for user in an url.
    *
    * @param name
    * @return the encoded name
    */
   public static String encodeUsername(String name) {
      return name.replace("@", "%40").replace(" ", "%20").replace("\\", "%5C");
   }
   /**
    * Decode a username from an encoded url.
    *
    * @param name
    * @return the decoded name
    */
   public static String decodeUsername(String name) {
      return name.replace("%40", "@").replace("%20", " ").replace("%5C", "\\");
   }
}