From c7acc2e1fa86102bb87e715c8fe4e336329fbcc6 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 23 Jan 2013 08:42:20 -0500 Subject: [PATCH] Include issue tracker hooks in builds --- src/com/gitblit/utils/FileUtils.java | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 deletions(-) diff --git a/src/com/gitblit/utils/FileUtils.java b/src/com/gitblit/utils/FileUtils.java index cba88d0..a21b512 100644 --- a/src/com/gitblit/utils/FileUtils.java +++ b/src/com/gitblit/utils/FileUtils.java @@ -99,6 +99,25 @@ } return defaultValue; } + + /** + * Returns the byte [] content of the specified file. + * + * @param file + * @return the byte content of the file + */ + public static byte [] readContent(File file) { + byte [] buffer = new byte[(int) file.length()]; + try { + BufferedInputStream is = new BufferedInputStream(new FileInputStream(file)); + is.read(buffer, 0, buffer.length); + is.close(); + } catch (Throwable t) { + System.err.println("Failed to read byte content of " + file.getAbsolutePath()); + t.printStackTrace(); + } + return buffer; + } /** * Returns the string content of the specified file. @@ -157,19 +176,17 @@ public static long folderSize(File directory) { if (directory == null || !directory.exists()) { return -1; - } - if (directory.isFile()) { - return directory.length(); - } - long length = 0; - for (File file : directory.listFiles()) { - if (file.isFile()) { - length += file.length(); - } else { + } + if (directory.isDirectory()) { + long length = 0; + for (File file : directory.listFiles()) { length += folderSize(file); } + return length; + } else if (directory.isFile()) { + return directory.length(); } - return length; + return 0; } /** @@ -257,4 +274,19 @@ return path.getAbsoluteFile(); } } + + public static File resolveParameter(String parameter, File aFolder, String path) { + if (aFolder == null) { + // strip any parameter reference + path = path.replace(parameter, "").trim(); + if (path.length() > 0 && path.charAt(0) == '/') { + // strip leading / + path = path.substring(1); + } + } else if (path.contains(parameter)) { + // replace parameter with path + path = path.replace(parameter, aFolder.getAbsolutePath()); + } + return new File(path); + } } -- Gitblit v1.9.1