0,0 → 1,107 |
package ak.photoalbum.logic; |
|
import java.util.Comparator; |
import java.util.Map; |
import java.util.Hashtable; |
import java.io.File; |
import java.io.IOException; |
|
import org.apache.log4j.Logger; |
|
import ak.photoalbum.images.Thumbnailer; |
import ak.photoalbum.images.ThumbnailPosition; |
import ak.photoalbum.util.FileNameComparator; |
import ak.photoalbum.util.ImagesFilter; |
import ak.photoalbum.util.ResourceFactory; |
import ak.photoalbum.config.ConfigBranch; |
import ak.photoalbum.config.ConfigDirThumbnail; |
|
public class Branch |
{ |
protected static final int DEFAULT_COLUMNS = 5; |
protected static final int DEFAULT_ROWS = 4; |
|
private Thumbnailer thumbnailer; |
private ConfigBranch config; |
private File imagesRoot; |
private int columns = DEFAULT_COLUMNS; |
private int rows = DEFAULT_ROWS; |
private ImagesFilter imagesFilter; |
private Comparator fileNameComparator = new FileNameComparator(true); |
private Map metaInfos = new Hashtable(); // <File, MetaInfo> |
|
public Branch(ResourceFactory resourceFactory, ConfigBranch config) |
throws IOException, LogicException |
{ |
this.config = config; |
this.imagesRoot = new File(config.getImagesRoot()); |
this.imagesFilter = new ImagesFilter(config.getImagesMasks()); |
if(config.getColumns() > 0) this.columns = config.getColumns(); |
if(config.getRows() > 0) this.rows = config.getRows(); |
|
this.thumbnailer = new Thumbnailer(); |
this.thumbnailer.setImagesRoot(this.imagesRoot); |
this.thumbnailer.setCacheDir(new File(config.getCacheDir())); |
|
if(config.getThumbnailFormat() != null) |
this.thumbnailer.setFormat(config.getThumbnailFormat()); |
/* |
if(smallWidth != null) |
this.thumbnailer.setSmallWidth(smallWidth.intValue()); |
if(smallHeight != null) |
this.thumbnailer.setSmallHeight(smallHeight.intValue()); |
if(mediumWidth != null) |
this.thumbnailer.setMediumWidth(mediumWidth.intValue()); |
if(mediumHeight != null) |
this.thumbnailer.setMediumHeight(mediumHeight.intValue()); |
*/ |
thumbnailer.setResizer(new ak.photoalbum.images.jiu.JiuResizer()); |
thumbnailer.setImagesFilter(this.imagesFilter); |
/* thumbnailer.setDirTemplate(new File(dirTemplate)); |
thumbnailer.setDirThumbnailPositions( |
parseThumbnailPositions(dirThumbnailPositions));*/ |
|
thumbnailer.startup(); |
} |
|
public String getUri() |
{ |
return config.getUri(); |
} |
|
public Thumbnailer getThumbnailer() |
{ |
return thumbnailer; |
} |
|
public File getImagesRoot() |
{ |
return imagesRoot; |
} |
|
public int getColumns() |
{ |
return columns; |
} |
|
public int getRows() |
{ |
return rows; |
} |
|
public ImagesFilter getImagesFilter() |
{ |
return imagesFilter; |
} |
|
public Comparator getFileNameComparator() |
{ |
return fileNameComparator; |
} |
|
public Map getMetaInfos() |
{ |
return metaInfos; |
} |
} |
|