View Javadoc

1   /*
2    * Copyright 2004-2005 Germinus XXI
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License")
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package com.germinus.easyconf.struts;
17  
18  import org.apache.struts.action.*;
19  import org.apache.commons.lang.StringUtils;
20  
21  import javax.servlet.http.HttpServletRequest;
22  import javax.servlet.http.HttpServletResponse;
23  
24  import com.germinus.easyconf.EasyConf;
25  
26  /***
27   * Refresh the configuration of a given component which uses EasyConf. If
28   * no component is specified all components of the current JVM are refreshed.
29   * @author jferrer
30   */
31  public class RefreshConfigurationAction extends Action {
32      private static final String SUCCESS = "SUCCESS";
33  
34      public ActionForward execute(ActionMapping mapping,
35                                   ActionForm form,
36                                   HttpServletRequest req,
37                                   HttpServletResponse response) throws Exception {
38          DynaActionForm dform = (DynaActionForm) form;
39          if (dform != null) {
40              String componentName = (String) dform.get("componentName");
41              if (StringUtils.isBlank(componentName)) {
42                  EasyConf.refreshAll();
43              } else {
44                  EasyConf.refreshComponent(componentName);
45              }
46          } else {
47              EasyConf.refreshAll();
48          }
49          return mapping.findForward(SUCCESS);
50      }
51  }