/// <summary> /// Backup a repository in according to the source and destination. /// </summary> public void Backup() { DisplayHeader(); SourceSettings srcSettings = new SourceSettings() { Repository = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.Source).ConvertToSourceRepository(), Path = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.SourcePath), CheckLevel = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.Check).ConvertToCheckLevel(), NoCleaning = ConsoleHelpers.CommandArgExists(_arguments, Arguments.NoCleaning), WideDisplay = ConsoleHelpers.CommandArgExists(_arguments, Arguments.Wide), ApiKey = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.SourceApiKey), NoLocalDelete = ConsoleHelpers.CommandArgExists(_arguments, Arguments.NoLocalDelete) }; DestinationSettings dstSettings = new DestinationSettings() { Repository = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.Dest).ConvertToDestinationRepository(), Path = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.DestPath), ApiKey = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.DestApiKey) }; TransformSettings trfSettings = new TransformSettings() { Kind = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.Transform).ConvertToTransformKind(), TripleDesFilename = ConsoleHelpers.GetCommandArgValue(_arguments, Arguments.CryptoKey) }; IRepositorySource source = new RepositorySourceFactory(_logger, this).Create(srcSettings, dstSettings, trfSettings); WriteComponentLabels(source); source.Process(); DisplayFooter(); }
/// <summary> /// Creates a destination with the specified settings. /// </summary> /// <param name="destinationSettings">Destination settings.</param> /// <returns>The created destination instance.</returns> public virtual Destination CreateDestination(DestinationSettings destinationSettings) { lock (_objLock) { if (!_destinations.ContainsKey(destinationSettings.Id)) { Destination destination = NewDestination(destinationSettings); if (destinationSettings.Adapter != null) { destination.Init(destinationSettings.Adapter); } else { destination.Init(_serviceSettings.DefaultAdapter); } _destinations[destination.Id] = destination; string source = destination.DestinationSettings.Properties["source"] as string; //TODO: warn if more then one "*" source occurs. if (source != null && source == "*") { _defaultDestination = destination; } return(destination); } else { return(_destinations[destinationSettings.Id] as Destination); } } }
public virtual Destination CreateDestination(DestinationSettings destinationSettings) { lock (this._objLock) { if (!this._destinations.ContainsKey(destinationSettings.Id)) { Destination destination = this.NewDestination(destinationSettings); if (destinationSettings.Adapter != null) { destination.Init(destinationSettings.Adapter); } else { destination.Init(this._serviceSettings.DefaultAdapter); } this._destinations[destination.Id] = destination; string str = destination.DestinationSettings.Properties["source"] as string; if ((str != null) && (str == "*")) { this._defaultDestination = destination; } return(destination); } return(this._destinations[destinationSettings.Id] as Destination); } }
/// <summary> /// Create a <see cref="IRepositorySource"/> instance in according to the command arguments /// </summary> public IRepositorySource Create(SourceSettings srcSettings, DestinationSettings dstSettings, TransformSettings trfSettings) { srcSettings = srcSettings ?? throw new ArgumentNullException("srcSettings"); dstSettings = dstSettings ?? throw new ArgumentNullException("dstSettings"); trfSettings = trfSettings ?? throw new ArgumentNullException("trfSettings"); IRepositorySource source; switch (srcSettings.Repository) { case SourceRepository.Local: { Helpers.MandatoryValue("source path", srcSettings.Path); source = new LocalDirectorySource(srcSettings.Path, _progress, srcSettings.WideDisplay, srcSettings.CheckLevel, srcSettings.NoCleaning, srcSettings.NoLocalDelete); break; } case SourceRepository.GCS: { Helpers.MandatoryValue("source path", srcSettings.Path); Helpers.MandatoryValue("source api key filename", srcSettings.ApiKey); source = new GcsBucketSource(srcSettings.Path, srcSettings.ApiKey, _progress, srcSettings.WideDisplay); break; } case SourceRepository.S3: { Helpers.MandatoryValue("source path", srcSettings.Path); Helpers.MandatoryValue("source api key filename", srcSettings.ApiKey); source = new S3BucketSource(srcSettings.Path, srcSettings.ApiKey, _progress, srcSettings.WideDisplay); break; } case SourceRepository.ABS: { Helpers.MandatoryValue("source path", srcSettings.Path); Helpers.MandatoryValue("source api key filename", srcSettings.ApiKey); source = new AbsContainerSource(srcSettings.Path, srcSettings.ApiKey, _progress, srcSettings.WideDisplay); break; } default: throw new SmkException($"Unsupported repository source '{srcSettings.Repository}"); } source.Transform = new TransformFactory(_logger).Create(trfSettings); source.Destination = new RepositoryDestinationFactory(_logger, source.Transform).Create(dstSettings); source.Logger = _logger; return(source); }
private void InstallServiceBrowserDestinations(ServiceSettings serviceSettings, AdapterSettings adapterSettings) { DestinationSettings settings = new DestinationSettings(serviceSettings, "FluorineFx.ServiceBrowser.FluorineServiceBrowser", adapterSettings, "FluorineFx.ServiceBrowser.FluorineServiceBrowser"); serviceSettings.DestinationSettings.Add(settings); settings = new DestinationSettings(serviceSettings, "FluorineFx.ServiceBrowser.ManagementService", adapterSettings, "FluorineFx.ServiceBrowser.ManagementService"); serviceSettings.DestinationSettings.Add(settings); settings = new DestinationSettings(serviceSettings, "FluorineFx.ServiceBrowser.CodeGeneratorService", adapterSettings, "FluorineFx.ServiceBrowser.CodeGeneratorService"); serviceSettings.DestinationSettings.Add(settings); settings = new DestinationSettings(serviceSettings, "FluorineFx.ServiceBrowser.SqlService", adapterSettings, "FluorineFx.ServiceBrowser.SqlService"); serviceSettings.DestinationSettings.Add(settings); }
private void InstallServiceBrowserDestinations(ServiceSettings serviceSettings, AdapterSettings adapterSettings) { //ServiceBrowser destinations DestinationSettings destinationSettings = new DestinationSettings(serviceSettings, DestinationSettings.AMFServiceBrowserDestination, adapterSettings, DestinationSettings.AMFServiceBrowserDestination); serviceSettings.DestinationSettings.Add(destinationSettings); destinationSettings = new DestinationSettings(serviceSettings, DestinationSettings.AMFManagementDestination, adapterSettings, DestinationSettings.AMFManagementDestination); serviceSettings.DestinationSettings.Add(destinationSettings); destinationSettings = new DestinationSettings(serviceSettings, DestinationSettings.AMFCodeGeneratorDestination, adapterSettings, DestinationSettings.AMFCodeGeneratorDestination); serviceSettings.DestinationSettings.Add(destinationSettings); }
/// <summary> /// Creates a new Destination. /// </summary> /// <param name="destinationSettings">Destination settings.</param> /// <returns>The new Destination instance.</returns> protected virtual Destination NewDestination(DestinationSettings destinationSettings) { return(new Destination(this, destinationSettings)); }
public RemotingDestination(IService service, DestinationSettings destinationSettings) : base(service, destinationSettings) { }
protected override Destination NewDestination(DestinationSettings destinationSettings) { RemotingDestination remotingDestination = new RemotingDestination(this, destinationSettings); return(remotingDestination); }
public DataDestination(IService service, DestinationSettings destinationSettings) : base(service, destinationSettings) { this._sequenceManager = new FluorineFx.Data.SequenceManager(this); }
internal void SetDestinationSettings(DestinationSettings value) { _destinationSettings = value; }
public MessageDestination(IService service, DestinationSettings destinationSettings) : base(service, destinationSettings) { this._subscriptionManager = new FluorineFx.Messaging.Services.Messaging.SubscriptionManager(this); }
protected override Destination NewDestination(DestinationSettings destinationSettings) { return(new MessageDestination(this, destinationSettings)); }
internal Destination(IService service, DestinationSettings settings) { _service = service; _settings = settings; }