View Javadoc
1   /*
2    * REPOWEB, repository manager.
3    *
4    * Terms of license - http://opensource.org/licenses/apachepl.php
5    */
6   package org.repoweb.action;
7   import java.lang.reflect.InvocationTargetException;
8   import javax.servlet.http.HttpServletRequest;
9   import javax.servlet.http.HttpServletResponse;
10  import org.apache.struts.action.Action;
11  import org.apache.struts.action.ActionForm;
12  import org.apache.struts.action.ActionForward;
13  import org.apache.struts.action.ActionMapping;
14  import org.apache.struts.action.DynaActionForm;
15  import org.repoweb.model.BadConfigException;
16  import org.repoweb.model.Manager;
17  import org.repoweb.model.ManagerConfig;
18  /***
19   * To edit/update manager configuration.
20   */
21  public class ManagerConfigAction extends Action {
22      private static final String REPO_TYPE = "repositoryType";
23      private static final String REPO_LOCATION = "repositoryLocation";
24  
25      public ActionForward execute(ActionMapping mapping, ActionForm objForm,
26          HttpServletRequest request, HttpServletResponse res)
27          throws IllegalAccessException, InvocationTargetException, BadConfigException {
28          DynaActionForm form = (DynaActionForm)objForm;
29  
30          if ("editConfig".equals(mapping.getParameter())) {
31              form.set(REPO_TYPE, Manager.getConfig().getMainRepository().getType());
32              form.set(REPO_LOCATION, Manager.getConfig().getMainRepository().getLocation());
33          }
34          else {
35              ManagerConfig config = new ManagerConfig();
36              config.setMainRepository(new ManagerConfig.RepositoryConfig(
37                      (String)form.get(REPO_TYPE),
38                      (String)form.get(REPO_LOCATION)));
39              Manager.setConfig(config);
40          }
41  
42          return mapping.findForward("success");
43      }
44  }