Example #1
0
        public override State Execute(string input)
        {
            Process proc = Process.GetCurrentProcess();

            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(true) / (1024d * 1024));
            Console.WriteLine("Deallocating memory...");

            if (Repository.GlobalSymbolTable != null)
            {
                var symbols  = Repository.GlobalSymbolTable.Symbols.Select(p => p.Value);
                var entities = symbols.SelectMany(s => s.Tuples).SelectMany(e => e);

                foreach (var qlEntity in entities)
                {
                    SpatialRepository.RemoveMeshByGlobalId(qlEntity.GlobalId);
                }

                Reset();
            }

            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(true) / (1024d * 1024));

            queryShowState.Execute("");

            return(queryShowState);
        }
Example #2
0
        public bool Execute(string input)
        {
            Console.Clear();

            if (IsOnOf(input, "-Quit", "-Q"))
            {
                return(false);
            }

            if (IsOnOf(input, "-Help", "-H"))
            {
                Console.WriteLine(HelpString);
                currentState = queryAddState;
                return(true);
            }

            if (IsOnOf(input, "-AddStatement", "-AS"))
            {
                queryShowState.Execute("");
                currentState = queryAddState;
                return(true);
            }

            if (IsOnOf(input, "-CancelQuery", "-CQ"))
            {
                currentState = queryClearState;
                currentState.Execute("");
                currentState = queryShowState;
                currentState.Execute("");
                currentState = queryAddState;
                return(true);
            }

            if (IsOnOf(input, "-ShowQuery", "-SQ"))
            {
                currentState = queryShowState;
                currentState.Execute("");
                currentState = queryAddState;
                return(true);
            }

            if (IsOnOf(input, "-ExecuteAll", "-EA"))
            {
                currentState = executeAllState;
                currentState = currentState.Execute("");
                return(true);
            }

            if (IsOnOf(input, "-PerformanceTest", "-PT"))
            {
                currentState = performanceTestState;
                currentState = currentState.Execute(input);
                return(true);
            }

            if (IsOnOf(input, "-PrintSymbols", "-PS"))
            {
                currentState = symbolShowState;
                currentState.Execute("");
                resultShowState.Reset();
                currentState = resultShowState;
                return(true);
            }

            if (IsOnOf(input, "-Settings", "-SE"))
            {
                currentState = showSettingsState;
                currentState.Execute("");
                return(true);
            }


            if (IsOnOf(input, "-ShowLicence", "-SL"))
            {
                currentState = showLicenceState;
                currentState.Execute("");
                return(true);
            }

            if (IsOnOf(input, "-ClearSymbol", "-CS"))
            {
                currentState = symbolClearState;
                currentState = currentState.Execute("");;
                return(true);
            }

            if (input.StartsWith("-ShowResult") || input.StartsWith("-SR"))
            {
                if (input.Split(' ').Length <= 1)
                {
                    Console.WriteLine("Add symbol name after -ShowResult/-SR");
                    return(true);
                }
                currentState = resultShowState;
                currentState.Execute(input);
                return(true);
            }

            if (IsOnOf(input, "-WriteResult", "-WR"))
            {
                currentState = resultWriteState;
                currentState.Execute(input);
                return(true);
            }

            if (input.StartsWith("-"))
            {
                Console.WriteLine("Inputs starts with - but is no console operator. Showing query instead.");
                Console.WriteLine("Type -H for available operators");
                currentState = queryShowState;
                currentState.Execute("");
                currentState = queryAddState;
                return(true);
            }

            var newState = currentState.Execute(input);

            if (newState != null)
            {
                currentState = newState;
            }

            return(true);
        }