View Javadoc
1   /*
2    * Copyright 2012-2025 CodeLibs Project and the Others.
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,
13   * either express or implied. See the License for the specific language
14   * governing permissions and limitations under the License.
15   */
16  package org.codelibs.fess.app.web.help;
17  
18  import org.codelibs.fess.app.web.base.FessSearchAction;
19  import org.codelibs.fess.app.web.base.SearchForm;
20  import org.codelibs.fess.util.RenderDataUtil;
21  import org.lastaflute.web.Execute;
22  import org.lastaflute.web.response.HtmlResponse;
23  
24  /**
25   * Action class for handling help page requests in the Fess search application.
26   * This class extends FessSearchAction to provide help functionality including
27   * authentication checks and form parameter setup for the help interface.
28   */
29  public class HelpAction extends FessSearchAction {
30  
31      // ===================================================================================
32      //                                                                            Constant
33      //
34  
35      // ===================================================================================
36      //                                                                           Attribute
37      //
38  
39      // ===================================================================================
40      //                                                                         Constructor
41      //                                                                         ===========
42  
43      /**
44       * Default constructor for HelpAction.
45       */
46      public HelpAction() {
47          super();
48      }
49  
50      // ===================================================================================
51      //                                                                               Hook
52      //                                                                              ======
53  
54      // ===================================================================================
55      //                                                                      Search Execute
56      //                                                                      ==============
57  
58      /**
59       * Handles the help page request and renders the help interface.
60       * This method performs authentication checks and sets up the necessary
61       * form parameters and rendering data for the help page display.
62       *
63       * @return HtmlResponse containing the rendered help page or redirect to login if authentication is required
64       */
65      @Execute
66      public HtmlResponse index() {
67          if (isLoginRequired()) {
68              return redirectToLogin();
69          }
70  
71          return asHtml(virtualHost(path_HelpJsp)).useForm(SearchForm.class, op -> {
72              op.setup(form -> {
73                  buildFormParams(form);
74              });
75          }).renderWith(data -> {
76              buildInitParams();
77              RenderDataUtil.register(data, "helpPage", viewHelper.getPagePath("common/help"));
78          });
79      }
80  
81  }