Subversion Repositories general

Rev

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
}