--- a/src/java/fmpp/dataloaders/HtmlUtilsDataLoader.java 2014-01-03 12:18:49.887580753 -0600
+++ b/src/java/fmpp/dataloaders/HtmlUtilsDataLoader.java 2014-01-03 12:27:02.527682248 -0600
@@ -32,7 +32,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import imageinfo.ImageInfo;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
@@ -41,6 +40,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import javax.imageio.ImageIO;
import fmpp.Engine;
import fmpp.tdd.DataLoader;
@@ -68,7 +68,6 @@
private Map imageInfoCache = new HashMap();
private CachedImageInfo first;
private CachedImageInfo last;
- private ImageInfo imageInfo = new ImageInfo();
public Object load(Engine e, List args) throws Exception {
if (args.size() != 0) {
@@ -134,21 +133,21 @@
}
}
- RandomAccessFile raf = new RandomAccessFile(f, "r");
+ int width = 0;
+ int height = 0;
+
try {
- imageInfo.setCollectComments(false);
- imageInfo.setInput(raf);
- if (!imageInfo.check()) {
- throw new TemplateModelException(
- "Failed to analyse image file: " + cacheKey);
- }
- } finally {
- raf.close();
- }
+ java.awt.image.BufferedImage img = ImageIO.read(f);
+ width = img.getWidth();
+ height = img.getHeight();
+ } catch(Exception e) {
+ throw new TemplateModelException("Failed to analyse image file: " + cacheKey);
+ }
+
inf = new CachedImageInfo();
inf.lmd = f.lastModified();
- inf.width = imageInfo.getWidth();
- inf.height = imageInfo.getHeight();
+ inf.width = width;
+ inf.height = height;
inf.path = cacheKey;
if (last != null) {
last.next = inf;