Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1246 → Rev 1247

/PhotoAlbum/trunk/src/ak/photoalbum/webapp/Logic.java
33,11 → 33,13
 
protected Logger logger;
protected Thumbnailer thumbnailer;
protected ConfigRoot config;
protected File imagesRoot;
protected int columns = DEFAULT_COLUMNS;
protected int rows = DEFAULT_ROWS;
protected ImagesFilter imagesFilter;
protected Comparator fileNameComparator = new FileNameComparator(true);
protected Digester configDigester = createConfigDigester();
protected Digester metaDigester = createMetaDigester();
protected Map metaInfos = new Hashtable(); // <File, MetaInfo>
 
46,13 → 48,76
this.logger = Logger.getLogger(this.getClass());
}
 
public void init(String imagesRoot, String imagesMask,
String cacheDir, String thumbnailFormat,
Integer smallWidth, Integer smallHeight,
Integer mediumWidth, Integer mediumHeight,
Integer columns, Integer rows,
String dirTemplate, String dirThumbnailPositions)
protected Digester createConfigDigester()
{
/*
4 <uri>children</uri>
5 <images-root>/home/data/photos</images-root>
6 <cache-dir>/home/data/photos/.cache</cache-dir>
7 <thumbnail-format>jpg</thumbnail-format>
8 <columns>6</columns>
9 <rows>5</rows>
10 <images-mask>*.jpeg</images-mask>
11 <images-mask>*.jpg</images-mask>
12 <dir-thumbnail>
13 <template>images/dir_template.gif</template>
14 <thumbnail>
15 <left>5</left>
16 <top>9</top>
17 <width>40</width>
18 <height>40</height>
19 <align>center</align>
20 <valign>center</valign>
*/
Digester digester = new Digester();
digester.setValidating(false);
 
digester.addObjectCreate("photos", ConfigRoot.class);
digester.addObjectCreate("photos/branch", ConfigBranch.class);
digester.addBeanPropertySetter("photos/branch/uri", "uri");
digester.addBeanPropertySetter("photos/branch/images-root", "imagesRoot");
digester.addBeanPropertySetter("photos/branch/cache-dir", "cacheDir");
digester.addBeanPropertySetter("photos/branch/thumbnail-format", "thumbnailFormat");
digester.addBeanPropertySetter("photos/branch/columns", "columns");
digester.addBeanPropertySetter("photos/branch/rows", "rows");
 
// FIXME images-mask
 
digester.addSetNext("photos/branch", "addBranch");
/* digester.addBeanPropertySetter("meta/item/subtitle", "subtitle");
digester.addSetProperties("meta/item/subtitle", "mime", "subtitleMime");
digester.addBeanPropertySetter("meta/item/comment", "comment");
digester.addSetProperties("meta/item/comment", "mime", "commentMime");
digester.addSetNext("photos/branch", "addItem");
*/
return digester;
}
 
protected Digester createMetaDigester()
{
Digester digester = new Digester();
digester.setValidating(false);
 
digester.addObjectCreate("meta", MetaInfo.class);
digester.addObjectCreate("meta/item", MetaInfoItem.class);
digester.addSetProperties("meta/item", "id", "id");
digester.addBeanPropertySetter("meta/item/title", "title");
digester.addBeanPropertySetter("meta/item/subtitle", "subtitle");
digester.addSetProperties("meta/item/subtitle", "mime", "subtitleMime");
digester.addBeanPropertySetter("meta/item/comment", "comment");
digester.addSetProperties("meta/item/comment", "mime", "commentMime");
digester.addSetNext("meta/item", "addItem");
 
return digester;
}
 
public void init(ResourceFactory resourceFactory, String configPath)
{
logger.info("starting");
config = (ConfigRoot)configDigester.parse(resourceFactory.getAsStream(configPath));
/*
this.imagesRoot = new File(imagesRoot);
this.imagesFilter = new ImagesFilter(imagesMask);
if(columns != null) this.columns = columns.intValue();
85,7 → 150,7
catch(Exception ex) {
logger.error("init thumbnailer", ex);
}
 
*/
logger.info("started");
}
 
228,25 → 293,6
}
}
 
protected Digester createMetaDigester()
{
Digester digester = new Digester();
digester.setValidating(false);
 
digester.addObjectCreate("meta", MetaInfo.class);
digester.addObjectCreate("meta/item", MetaInfoItem.class);
digester.addSetProperties("meta/item", "id", "id");
digester.addBeanPropertySetter("meta/item/title", "title");
digester.addBeanPropertySetter("meta/item/subtitle", "subtitle");
digester.addSetProperties("meta/item/subtitle", "mime", "subtitleMime");
digester.addBeanPropertySetter("meta/item/comment", "comment");
digester.addSetProperties("meta/item/comment", "mime", "commentMime");
digester.addSetNext("meta/item", "addItem");
 
return digester;
}
 
protected MetaInfo getMetaInfo(File dir)
throws IOException, SAXException
{