OSDN Git Service

i
[luz/luz.git] / lacoder / src / com / lavans / lacoder / action / MainAction.java
1 package com.lavans.lacoder.action;\r
2 \r
3 import java.util.List;\r
4 \r
5 import javax.servlet.http.HttpServletRequest;\r
6 import javax.servlet.http.HttpServletResponse;\r
7 \r
8 import org.apache.commons.logging.Log;\r
9 import org.apache.commons.logging.LogFactory;\r
10 import org.apache.struts.action.Action;\r
11 import org.apache.struts.action.ActionForm;\r
12 import org.apache.struts.action.ActionForward;\r
13 import org.apache.struts.action.ActionMapping;\r
14 \r
15 import com.lavans.lacoder.main.Target;\r
16 import com.lavans.lacoder.main.XMLReader;\r
17 import com.lavans.luz2.commons.StringUtils;\r
18 import com.lavans.luz2.util.Config;\r
19 \r
20 public class MainAction extends Action {\r
21         public static final String CONFIG_FILE  ="config_file";\r
22         private static final Log logger = LogFactory.getLog(MainAction.class);\r
23 \r
24         @Override\r
25         public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {\r
26                 // target選択\r
27                 if(request.getParameter("selectTarget")!=null){\r
28                         Target.deselect();\r
29                 }\r
30 \r
31                 // 選択されたTargetを取得\r
32                 String targetName = request.getParameter("target");\r
33                 Target target = null;\r
34                 if(!StringUtils.isEmpty(targetName)){\r
35                         // target指定時\r
36                         if(targetName.equals("null")){\r
37                                 target = null;\r
38                         }else{\r
39                                 target = Target.select(targetName, getServlet().getServletContext().getRealPath("./"));\r
40                         }\r
41                 }else{\r
42                         target = Target.getSelectedTarget();\r
43                 }\r
44                 // target未指定なら選択画面へ\r
45                 if(target==null){\r
46                         Config configTarget = Config.getInstance("target.xml", true);\r
47                         try {\r
48                                 List<String> targetList = configTarget.getNodeValueList("/lacoder/target");\r
49                                 request.setAttribute("targetList", targetList);\r
50                         } catch (Exception e) {\r
51                                 logger.error("target error. Check lacoder/conf/target.xml");\r
52                         }\r
53                         return mapping.findForward("selectTarget");\r
54                 }\r
55 \r
56                 // ファイル一覧の読み込み\r
57                 request.setAttribute("fileList", target.getConfList());\r
58 \r
59                 // ユーザータイプの読込\r
60 //              Role.setList(config.getNodeValueList("/lacoder/role"));\r
61 \r
62                 // 設定ファイルの読込\r
63                 String configFile = request.getParameter(CONFIG_FILE);\r
64                 if(configFile==null){\r
65                         configFile = "lacoder.xml";\r
66                 }\r
67 \r
68                 XMLReader reader = new XMLReader();\r
69                 reader.read(target, configFile);\r
70                 return mapping.findForward("ok");\r
71         }\r
72 \r
73 }\r