Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1249 → Rev 1250

/PhotoAlbum/trunk/src/ak/photoalbum/logic/Branch.java
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;
}
}