Rev 1242 | Rev 1249 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
936 | dev | 1 | package ak.photoalbum.webapp; |
2 | |||
3 | import java.util.List; |
||
1242 | dev | 4 | import java.util.ArrayList; |
936 | dev | 5 | import javax.servlet.http.HttpServletRequest; |
6 | import javax.servlet.http.HttpServletResponse; |
||
7 | import org.apache.struts.action.ActionMapping; |
||
8 | import org.apache.struts.action.ActionForm; |
||
9 | import org.apache.struts.action.ActionForward; |
||
10 | import org.apache.log4j.Logger; |
||
11 | import ak.photoalbum.util.FileUtils; |
||
12 | |||
13 | public final class IndexAction |
||
14 | extends BaseAction |
||
15 | { |
||
16 | private static final Logger logger = Logger.getLogger(IndexAction.class); |
||
17 | |||
18 | public ActionForward executeAction(ActionMapping mapping, ActionForm form, |
||
19 | HttpServletRequest request, HttpServletResponse response) |
||
20 | throws Exception |
||
21 | { |
||
1242 | dev | 22 | IndexForm theForm = (IndexForm)form; |
936 | dev | 23 | String dir = theForm.getPath(); |
1242 | dev | 24 | int page = theForm.getPageInt(); |
936 | dev | 25 | IndexEntry entry = new IndexEntry(); |
26 | IndexEntry top = new IndexEntry(); |
||
27 | IndexEntry prev = new IndexEntry(); |
||
28 | IndexEntry current = new IndexEntry(); |
||
29 | IndexEntry next = new IndexEntry(); |
||
1242 | dev | 30 | List index = new ArrayList(); |
31 | List pages = new ArrayList(); |
||
936 | dev | 32 | |
33 | if(dir == null) dir = ""; // the images root |
||
34 | |||
35 | logger.info("get index for " + dir); |
||
36 | Logic.getLogic().getEntry(dir, entry, top, prev, current, next); |
||
1242 | dev | 37 | if(!Logic.getLogic().listDirectory(dir, page, index, pages)) |
38 | return mapping.findForward("error"); |
||
936 | dev | 39 | |
1245 | dev | 40 | request.setAttribute("dir", FileUtils.replaceFileSeparator(dir, " - ")); |
41 | request.setAttribute("index", index); |
||
42 | request.setAttribute("top", top); |
||
43 | request.setAttribute("prevEntry", prev); |
||
44 | request.setAttribute("current", current); |
||
45 | request.setAttribute("nextEntry", next); |
||
46 | request.setAttribute("pages", pages); |
||
47 | request.setAttribute("severalPages", new Boolean(pages.size() > 1)); |
||
48 | request.setAttribute("firstPage", pages.get(0)); |
||
49 | request.setAttribute("lastPage", pages.get(pages.size() - 1)); |
||
50 | request.setAttribute("prevPage", (page == 0) ? null : pages.get(page-1)); |
||
51 | request.setAttribute("nextPage", (page == pages.size() - 1) ? null : pages.get(page+1)); |
||
936 | dev | 52 | |
53 | return mapping.findForward("success"); |
||
54 | } |
||
55 | } |