public override void ParseArguments(string[] args)
{
string cmdName = GetArgument("-cmd", args);
ThrowIfEmpty(cmdName, "-cmd");
switch (cmdName)
{
case "ListProviders":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Gets and displays all the registerd FDO providers");
Console.WriteLine("Usage: FdoInfo.exe -cmd:ListProviders");
return;
}
_Command = new ListProvidersCommand();
}
break;
case "GetConnectionParameters":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Gets and displays the connection parameters for a given provider");
Console.WriteLine("Usage: FdoInfo.exe -cmd:GetConnectionParameters -provider:<provider name>");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
_Command = new GetConnectionParametersCommand(provider);
}
break;
case "GetCreateDataStoreParameters":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Gets and displays the parameters required to create a Data Store for a given provider");
Console.WriteLine("Usage: FdoInfo.exe -cmd:GetCreateDataStoreParameters -provider:<provider name>");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
_Command = new GetCreateDataStoreParametersCommand(provider);
}
break;
case "GetDestroyDataStoreParameters":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Gets and displays the parameters required to destroy a Data Store for a given provider");
Console.WriteLine("Usage: FdoInfo.exe -cmd:GetDestroyDataStoreParameters -provider:<provider name>");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
_Command = new GetDestroyDataStoreParametersCommand(provider);
}
break;
case "ListDataStores":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Displays the data stores of a given connection");
Console.WriteLine("Usage: FdoInfo.exe -cmd:ListDataStores -provider:<provider name> -connection:<connection string> [-fdoOnly]");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
string connStr = GetArgument("-connection", args);
ThrowIfEmpty(connStr, "-connection");
bool fdoOnly = IsSwitchDefined("-fdoOnly", args);
_Command = new ListDataStoresCommand(provider, connStr, fdoOnly);
}
break;
case "ListBcpTasks":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Lists all available copy tasks for execution in a bulk copy definition file");
Console.WriteLine("Usage: FdoInfo.exe -cmd:ListBcpTasks -task:<path to bulk copy definition>");
return;
}
string task = GetArgument("-task", args);
ThrowIfEmpty(task, "-task");
_Command = new ListBcpTasksCommand(task);
}
break;
case "ListSchemas":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Displays the feature schemas for a given connection");
Console.WriteLine("Usage: FdoInfo.exe -cmd:ListSchemas -provider:<provider name> -connection:<connection string>");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
string connStr = GetArgument("-connection", args);
ThrowIfEmpty(connStr, "-connection");
_Command = new ListSchemasCommand(provider, connStr);
}
break;
case "ListClasses":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Displays the feature classes under a given feature schema");
Console.WriteLine("Usage: FdoInfo.exe -cmd:ListClasses -provider:<provider name> -connection:<connection string> -schema:<schema name>");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
string connStr = GetArgument("-connection", args);
ThrowIfEmpty(connStr, "-connection");
string schema = GetArgument("-schema", args);
ThrowIfEmpty(schema, "-schema");
_Command = new ListClassesCommand(provider, connStr, schema);
}
break;
case "ListClassProperties":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Displays the properties under a given feature class");
Console.WriteLine("Usage: FdoInfo.exe -cmd:ListClassProperties -provider:<provider name> -connection:<connection string> -schema:<schema name> -class:<class name>");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
string connStr = GetArgument("-connection", args);
ThrowIfEmpty(connStr, "-connection");
string schema = GetArgument("-schema", args);
ThrowIfEmpty(schema, "-schema");
string className = GetArgument("-class", args);
ThrowIfEmpty(className, "-class");
_Command = new ListClassPropertiesCommand(provider, connStr, schema, className);
}
break;
case "ListSpatialContexts":
{
if (IsSwitchDefined("-help", args))
{
Console.WriteLine("Displays the defined spatial contexts in a given connection");
Console.WriteLine("Usage: FdoInfo.exe -cmd:ListSpatialContexts -provider:<provider name> -connection:<connection string>");
return;
}
string provider = GetArgument("-provider", args);
ThrowIfEmpty(provider, "-provider");
string connStr = GetArgument("-connection", args);
ThrowIfEmpty(connStr, "-connection");
_Command = new ListSpatialContextsCommand(provider, connStr);
}
break;
default:
throw new ArgumentException("Undefined command: " + cmdName);
}
}