Mercurial > hg > digilib-old
diff servlet/src/digilib/io/DocuFileset.java @ 149:04ad64b2137a
Servlet version 1.14b1
- better performance with thumbnails (really, this time :-)
- new DocuInfo class
- new Directory class
- DocuFile uses String and Directory as data members
- parameter rearrangements
author | robcast |
---|---|
date | Tue, 26 Aug 2003 22:28:43 +0200 |
parents | bdd6789d21e0 |
children |
line wrap: on
line diff
--- a/servlet/src/digilib/io/DocuFileset.java Fri Aug 22 21:12:24 2003 +0200 +++ b/servlet/src/digilib/io/DocuFileset.java Tue Aug 26 22:28:43 2003 +0200 @@ -19,14 +19,15 @@ */ package digilib.io; -import java.awt.Dimension; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.ListIterator; import digilib.image.DocuInfo; +import digilib.image.ImageSize; /** * @author casties @@ -98,15 +99,19 @@ * @param info * @return */ - public DocuFile getNextSmaller(Dimension size, DocuInfo info) { + public DocuFile getNextSmaller(ImageSize size, DocuInfo info) { for (Iterator i = getHiresIterator(); i.hasNext();) { DocuFile f = (DocuFile) i.next(); - if (!f.isChecked()) { - f.check(info); - } - if ((f.getSize().getHeight() <= size.getHeight()) - && (f.getSize().getWidth() <= size.getWidth())) { - return f; + try { + if (!f.isChecked()) { + info.checkFile(f); + } + if (f.getSize().isTotallySmallerThan(size)) { + return f; + } + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); } } return null; @@ -123,15 +128,19 @@ * @param info * @return */ - public DocuFile getNextBigger(Dimension size, DocuInfo info) { + public DocuFile getNextBigger(ImageSize size, DocuInfo info) { for (ListIterator i = getLoresIterator(); i.hasPrevious();) { DocuFile f = (DocuFile) i.previous(); - if (!f.isChecked()) { - f.check(info); - } - if ((f.getSize().getHeight() >= size.getHeight()) - || (f.getSize().getWidth() >= size.getWidth())) { - return f; + try { + if (!f.isChecked()) { + info.checkFile(f); + } + if (f.getSize().isBiggerThan(size)) { + return f; + } + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); } } return null;