View Javadoc
1   /******************************************************************************
2    * PicsInDirDom.java - XML Chains for PicMan's Editors
3    * 
4    * PicMan - The BuckoSoft Picture Manager in Java
5    * Copyright(c) 2008 - Dick Balaska
6    * 
7    */
8   package com.buckosoft.PicMan.dom;
9   
10  import java.util.Iterator;
11  import java.util.List;
12  
13  import org.dom4j.Document;
14  import org.dom4j.DocumentHelper;
15  import org.dom4j.Element;
16  
17  import com.buckosoft.PicMan.business.PicManFacade;
18  import com.buckosoft.PicMan.domain.Pic;
19  import com.buckosoft.PicMan.domain.User;
20  
21  
22  /** Fetch the Sets as a DOM
23   * @author Dick Balaska
24   * @since 2008/01/14
25   * @see <a href="http://cvs.buckosoft.com/Projects/java/PicMan/PicMan/src/com/buckosoft/PicMan/dom/PicsInDirDom.java">PicsInDirDom.java</a>
26   */
27  public class PicsInDirDom {
28  	/** Create a DOM of the Pics in this directory
29  	 * @param pmf The PicMan Facade
30  	 * @param user The user that is logged in.
31  	 * @param rid The Root Id to query
32  	 * @param dirName The directory to query.  i.e. "2002/20021225" 
33  	 * @return The DOM
34  	 */
35  	static public Document createDocument(PicManFacade pmf, User user, int rid, String dirName) {
36  		Document document = DocumentHelper.createDocument();
37  		Element root = document.addElement("PicsInDir");
38  		List<Pic> list = pmf.getDB().getPicsInDir(rid, dirName);
39  		root.addElement("filterPagePicCount").addText("" + user.getFilterPagePicCount());
40  		Element pics = DocumentHelper.createElement("Pics");
41  		Iterator<Pic> iter = list.iterator();
42  		int row = 0;
43  		int col = 0;
44  		while (iter.hasNext()) {
45  			Pic pic = iter.next();
46  			//System.out.println("name=" + pic.getName());
47  			Element ele = DocumentHelper.createElement("Pic");
48  			ele.addElement("row").addText(((Integer)row).toString());
49  			ele.addElement("col").addText(((Integer)col).toString());
50  			ele.addElement("name").addText(pic.getName());
51  			pics.add(ele);
52  			if (++col >= user.getFilterPagePicCount()) {
53  				col = 0;
54  				row++;
55  			}
56  		}
57  		root.add(pics);
58  		return document;
59  	}
60  
61  }
62