View Javadoc

1   /*
2   MadCaching is a Tile Caching solution
3   Copyright (C) 2005  Mac Vu
4   
5   This program is free software; you can redistribute it and/or
6   modify it under the terms of the GNU General Public License
7   as published by the Free Software Foundation; either version 2
8   of the License, or (at your option) any later version.
9   
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  GNU General Public License for more details.
14  
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18   */
19  package com.macvu.tiles.actions;
20  
21  import com.macvu.tiles.capture.CacheablesCaptureWrapper;
22  import org.apache.struts.action.Action;
23  import org.apache.struts.action.ActionForm;
24  import org.apache.struts.action.ActionForward;
25  import org.apache.struts.action.ActionMapping;
26  
27  import javax.servlet.http.HttpServletRequest;
28  import javax.servlet.http.HttpServletResponse;
29  
30  /***
31   * User: MVu
32   */
33  public class GetCaptureTilesSetAction extends Action {
34      public static final String SET_CAPTURE = "set_capture";  // possible state are:  true - turn capture on,
35      //                     false - turn capture off,
36      //                     reset - reset the list of capture tiles.
37      public static final String CAPTURE_TILES_SET = "capture_tiles_set";
38      public static final String CAPTURE_TILES_ENABLE = "capture_tiles_enable";
39  
40      public ActionForward execute(ActionMapping mapping,
41                                   ActionForm form,
42                                   HttpServletRequest request,
43                                   HttpServletResponse response)
44              throws Exception {
45          String setCapture = request.getParameter(SET_CAPTURE);
46  
47          CacheablesCaptureWrapper wrapper = new CacheablesCaptureWrapper(getServlet().getServletContext());
48  
49          if (setCapture != null) {
50              if ("reset".equalsIgnoreCase(setCapture)) {
51                  wrapper.clearCapturedTilesSet();
52              } else if ("true".equalsIgnoreCase(setCapture)) {
53                  wrapper.enableCapture();
54              } else if ("false".equalsIgnoreCase(setCapture)) {
55                  wrapper.disableCapture();
56              }
57          }
58  
59          request.setAttribute(CAPTURE_TILES_SET, wrapper.getCapturedTiles());
60          request.setAttribute(CAPTURE_TILES_ENABLE, String.valueOf(wrapper.isEnableCapture()));
61  
62          return mapping.findForward("success");
63      }
64  }