private static int InvokeCommand()

in Amazon.KinesisTap.DiagnosticTool/Program.cs [42:81]


        private static int InvokeCommand(string[] args)
        {
            if (args.Length == 0)
            {
                WriteUsage();
                return Constant.NORMAL;
            }

            switch (args[0])
            {
                case "/w":
                case "-w":
                    return new DirectoryWatcherCommand().ParseAndRunArgument(args);

                case "/log4net":
                    return new Log4NetSimulatorCommand().ParseAndRunArgument(args);

                case "/c":
                case "/config":

                    return new ConfigValidatorCommand(_sourceValidators, ConfigFileLoader.LoadConfigFile).ParseAndRunArgument(args);

                case "/r":
                    return new RecordParserValidatorCommand(_sourceValidators, ConfigFileLoader.LoadConfigFile).ParseAndRunArgument(args);

                case "/e":
                    if (!OperatingSystem.IsWindows())
                    {
                        throw new PlatformNotSupportedException();
                    }
                    return new WindowsEventLogSimulatorCommand().ParseAndRunArgument(args);

                case "/p":   // Validate the PackageVersion.json
                    return new PackageVersionValidatorCommand().ParseAndRunArgument(args);

                default:
                    WriteUsage();
                    return Constant.INVALID_ARGUMENT;
            }
        }