--- /dev/null
+using System.Collections.Generic;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+\r
+namespace com.andoutomo.kybernetes.command.SYSTEM\r
+{\r
+ class LinkCommand:AbCommand\r
+ {\r
+ LinkCommandArg param;\r
+ string errMessage;\r
+\r
+ protected override bool execute()\r
+ {\r
+ param = (LinkCommandArg)argument;\r
+ LinkDataAccessor accessor = LinkDataAccessor.getObject;\r
+ bool hasLink =accessor.hasLink(param.ShortcutStr);\r
+ bool retVal=false;\r
+\r
+ //リストモード(一覧取得)\r
+ if (param.listMode)\r
+ {\r
+ List<SimpleDataBean> linklist = accessor.getAllLink();\r
+ List<string> retList = new List<string>();\r
+ foreach (SimpleDataBean data in linklist)\r
+ {\r
+ retList.Add(data.Name + " -> " + data.Val);\r
+ }\r
+ form.addMultiText(retList);\r
+ retStr = string.Empty;\r
+ return true;\r
+ }\r
+\r
+\r
+ if (param.removeMode)\r
+ //削除\r
+ {\r
+ if (hasLink)\r
+ {\r
+ //削除対象があれば削除\r
+ retVal = accessor.removeLink(param.ShortcutStr);\r
+ }\r
+ else\r
+ {\r
+ //ない場合はエラー\r
+ errMessage = "リンク " + param.ShortcutStr + " は存在しないため、削除できません。";\r
+ retVal = false;\r
+ }\r
+ }\r
+ else\r
+ //追加\r
+ {\r
+ if (hasLink)\r
+ {\r
+ //追加対象が既にあればエラー\r
+ errMessage = "リンク " + param.ShortcutStr + " は既に存在するため、作成できません。";\r
+ retVal = false;\r
+ }\r
+ else\r
+ {\r
+ //ない場合に作成する\r
+ retVal = accessor.addLink(param.ShortcutStr, param.BaseCommandStr);\r
+\r
+ }\r
+ }\r
+ retStr = param.ShortcutStr + "->" + param.BaseCommandStr;\r
+ return retVal;\r
+ }\r
+ string retStr;\r
+ protected override string turnMessage()\r
+ {\r
+ return retStr;\r
+ }\r
+\r
+ protected override string turnErrorMessage()\r
+ {\r
+ if (string.IsNullOrEmpty(errMessage))\r
+ {\r
+ return base.DefaultErrorMessage;\r
+ }\r
+ else\r
+ {\r
+ return errMessage;\r
+ }\r
+ }\r
+\r
+ protected override string turnSplitErrorMessage()\r
+ {\r
+ return base.DefaultSplitErrorMessage;\r
+ }\r
+ }\r
+}\r