public PublishingTargetConfigurationCommand(IUserInterface userInterface, IPublishingTargetConfigurationCommandActionParser publishingTargetConfigurationCommandActionParser, IPublishConfigurationAccessor publishConfigurationAccessor)
{
if (userInterface == null)
{
throw new ArgumentNullException("userInterface");
}
if (publishingTargetConfigurationCommandActionParser == null)
{
throw new ArgumentNullException("publishingTargetConfigurationCommandActionParser");
}
if (publishConfigurationAccessor == null)
{
throw new ArgumentNullException("publishConfigurationAccessor");
}
this.userInterface = userInterface;
this.publishingTargetConfigurationCommandActionParser = publishingTargetConfigurationCommandActionParser;
this.publishConfigurationAccessor = publishConfigurationAccessor;
this.Attributes = new CommandAttributes
{
CommandName = CommandName,
AlternativeCommandNames = this.AlternativeCommandNames,
RequiredArguments = new[] { ArgumentNameAction, ArgumentNamePublishConfigurationName, ArgumentNamePublishLocation, ArgumentNameApiKey },
PositionalArguments = new[] { ArgumentNameAction, ArgumentNamePublishConfigurationName, ArgumentNamePublishLocation, ArgumentNameApiKey },
Description = Resources.PublishingTargetConfigurationCommand.CommandDescriptionText,
Usage =
string.Format(
"{0} <{1}> <{2}> <{3}>", CommandName, string.Join("|", this.AllowedActions), ArgumentNamePublishConfigurationName, ArgumentNamePublishLocation),
Examples =
new Dictionary<string, string>
{
{
string.Format(
"{0} {1} \"{2}\" \"{3}\" \"{4}\"",
CommandName,
PublishingTargetConfigurationCommandAction.Add,
Resources.PublishingTargetConfigurationCommand.SamplePublishingTargetName,
Resources.PublishingTargetConfigurationCommand.SamplePublishingLocation,
Resources.PublishingTargetConfigurationCommand.SampleApiKey),
Resources.PublishingTargetConfigurationCommand.AddCommandExampleDescriptionNamedArguments
},
{
string.Format(
"{0} -{1}={2} -{3}=\"{4}\" -{5}=\"{6}\" -{7}=\"{8}\"",
CommandName,
ArgumentNameAction,
PublishingTargetConfigurationCommandAction.Add,
ArgumentNamePublishConfigurationName,
Resources.PublishingTargetConfigurationCommand.SamplePublishingTargetName,
ArgumentNamePublishLocation,
Resources.PublishingTargetConfigurationCommand.SamplePublishingLocation,
ArgumentNameApiKey,
Resources.PublishingTargetConfigurationCommand.SampleApiKey),
Resources.PublishingTargetConfigurationCommand.AddCommandExampleDescriptionNamedArguments
},
{
string.Format(
"{0} {1} \"{2}\"",
CommandName,
PublishingTargetConfigurationCommandAction.Delete,
Resources.PublishingTargetConfigurationCommand.SamplePublishingTargetName),
Resources.PublishingTargetConfigurationCommand.DeleteCommandExampleDescriptionPositionalArguments
},
{
string.Format("{0} {1}", CommandName, PublishingTargetConfigurationCommandAction.Reset),
Resources.PublishingTargetConfigurationCommand.ResetCommandExampleDescription
},
{
string.Format("{0} {1}", CommandName, PublishingTargetConfigurationCommandAction.List),
Resources.PublishingTargetConfigurationCommand.ListCommandExampleDescription
}
},
ArgumentDescriptions =
new Dictionary<string, string>
{
{
ArgumentNameAction,
string.Format(
Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionPublishingTargetActionTemplate,
string.Join(", ", this.AllowedActions))
},
{ ArgumentNamePublishConfigurationName, Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionPublishConfigurationName },
{ ArgumentNamePublishLocation, Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionPublishLocation },
{ ArgumentNameApiKey, Resources.PublishingTargetConfigurationCommand.ArgumentDescriptionApiKey }
}
};
this.Arguments = new Dictionary<string, string>();
}