From 357109c5a5518db5925f49a6700a87e7ed30ca14 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 28 Dec 2011 16:19:29 -0500
Subject: [PATCH] Unit testing. Documentation.
---
src/com/gitblit/build/BuildThumbnails.java | 46 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 37 insertions(+), 9 deletions(-)
diff --git a/src/com/gitblit/build/BuildThumbnails.java b/src/com/gitblit/build/BuildThumbnails.java
index f1bdbde..fe06c6c 100644
--- a/src/com/gitblit/build/BuildThumbnails.java
+++ b/src/com/gitblit/build/BuildThumbnails.java
@@ -22,6 +22,7 @@
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
+import java.text.MessageFormat;
import java.util.Iterator;
import javax.imageio.ImageIO;
@@ -33,6 +34,12 @@
import com.beust.jcommander.ParameterException;
import com.beust.jcommander.Parameters;
+/**
+ * Generates PNG thumbnails of the PNG images from the specified source folder.
+ *
+ * @author James Moger
+ *
+ */
public class BuildThumbnails {
public static void main(String[] args) {
@@ -47,10 +54,20 @@
createImageThumbnail(params.sourceFolder, params.destinationFolder, params.maximumDimension);
}
+ /**
+ * Generates thumbnails from all PNG images in the source folder and saves
+ * them to the destination folder.
+ *
+ * @param sourceFolder
+ * @param destinationFolder
+ * @param maxDimension
+ * the maximum height or width of the image.
+ */
public static void createImageThumbnail(String sourceFolder, String destinationFolder,
int maxDimension) {
- if (maxDimension <= 0)
+ if (maxDimension <= 0) {
return;
+ }
File source = new File(sourceFolder);
File destination = new File(destinationFolder);
destination.mkdirs();
@@ -71,18 +88,18 @@
// Scale to Width
w = maxDimension;
float f = maxDimension;
- h = (int) ((f / sz.width) * sz.height); // normalize height
+ // normalize height
+ h = (int) ((f / sz.width) * sz.height);
} else if (sz.height > maxDimension) {
// Scale to Height
h = maxDimension;
float f = maxDimension;
- w = (int) ((f / sz.height) * sz.width); // normalize width
- } else {
- // No thumbnail
- return;
+ // normalize width
+ w = (int) ((f / sz.height) * sz.width);
}
- System.out.println("Generating thumbnail for " + sourceFile.getName() + " as (" + w
- + "," + h + ")");
+ System.out.println(MessageFormat.format(
+ "Generating thumbnail for {0} as ({1,number,#}, {2,number,#})",
+ sourceFile.getName(), w, h));
BufferedImage image = ImageIO.read(sourceFile);
Image scaledImage = image.getScaledInstance(w, h, BufferedImage.SCALE_SMOOTH);
BufferedImage destImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
@@ -98,6 +115,13 @@
}
}
+ /**
+ * Return the dimensions of the specified image file.
+ *
+ * @param file
+ * @return dimensions of the image
+ * @throws IOException
+ */
public static Dimension getImageDimensions(File file) throws IOException {
ImageInputStream in = ImageIO.createImageInputStream(file);
try {
@@ -112,12 +136,16 @@
}
}
} finally {
- if (in != null)
+ if (in != null) {
in.close();
+ }
}
return null;
}
+ /**
+ * JCommander Parameters class for BuildThumbnails.
+ */
@Parameters(separators = " ")
private static class Params {
--
Gitblit v1.9.1