예제 #1
0
    private void Update()
    {
        executer.Execute(this);

        //if (Input.GetKeyDown(KeyCode.Space)) {
        //    executer = ParseExecuter.instance;
        //    currentCommandIndex = 0;
        //}
    }
예제 #2
0
        /// <summary>
        /// Executes the query.
        /// </summary>
        /// <returns>
        /// string that reprsent the result
        /// </returns>
        public string Execute()
        {
            string result;

            do
            {
                executer = ExecuterFactory.GetExecuter(user, db);
                result   = executer.Execute();
            } while (result.Equals(executer.GetSorryMsg()));

            return(result);
        }
예제 #3
0
        private string ExecuteCommands(string input)
        {
            var actions      = input.Split('|');
            var previousArgs = "";

            foreach (var action in actions)
            {
                var parsed = Parse(action.Trim());
                if (parsed[0] == "")
                {
                    continue;
                }
                previousArgs = executer.Execute(parsed[0], parsed[1] + previousArgs) ?? throw new BadRequestException("Unknown command");
            }
            return(previousArgs);
        }
예제 #4
0
        /// <summary>
        /// 获取存储节点
        /// </summary>
        /// <param name="groupName">组名</param>
        /// <param name="clusterName">集群名称</param>
        /// <returns>存储节点实体类</returns>
        public async ValueTask <StorageNode> GetStorageNodeAsync(
            string groupName,
            string clusterName = "")
        {
            var request  = new QueryStoreWithGroupOne(groupName);
            var response = await _executer.Execute(request, clusterName);

            var storageNode = new StorageNode(response.GroupName, response.IPAddress, response.Port, response.StorePathIndex);

            return(storageNode);
        }
예제 #5
0
 public virtual void Move(Command command)
 {
     _commandExecuter.Execute(this, command);
 }