Subversion Repositories general

Rev

Rev 962 | Rev 1245 | 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
 
1242 dev 40
    request.setAttribute("dir",       FileUtils.replaceFileSeparator(dir, " - "));
936 dev 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);
1242 dev 46
    request.setAttribute("pages",     pages);
47
    request.setAttribute("firstPage", pages.get(0));
48
    request.setAttribute("lastPage",  pages.get(pages.size() - 1));
49
    request.setAttribute("prevPage",  (page == 0)                ? null : pages.get(page-1));
50
    request.setAttribute("nextPage",  (page == pages.size() - 1) ? null : pages.get(page+1));
936 dev 51
 
52
    return mapping.findForward("success");
53
  }
54
}