Exemplo n.º 1
0
        public ITransferProxy NewProxy(TransferProxyType type)
        {
            return(type switch
            {
                TransferProxyType.DesignImport => NewProxy("AWS_DESIGNIMPORT_BUCKET_NAME"),
                TransferProxyType.Temporary => NewProxy("AWS_TEMPORARY_BUCKET_NAME"),
                TransferProxyType.TAGFiles => NewProxy("AWS_TAGFILE_BUCKET_NAME"),
                TransferProxyType.Export => NewProxy("AWS_TEMPORARY_BUCKET_NAME"), // Exports go to temporary bucket currently
                TransferProxyType.TagFileGatewayArchive => NewProxy("AWS_ALL_TAGFILE_BUCKET_NAME"),

                _ => throw new ArgumentException($"Unsupported transfer proxy type {type}")
            });
Exemplo n.º 2
0
        /// <summary>
        /// Serializes content from the writer
        /// </summary>
        public override void InternalFromBinary(IBinaryRawReader reader)
        {
            base.InternalFromBinary(reader);

            var version = VersionSerializationHelper.CheckVersionByte(reader, VERSION_NUMBER);

            if (version == 1)
            {
                ProjectID             = reader.ReadGuid() ?? Guid.Empty;
                DeletionSelectivity   = (DeleteSiteModelSelectivity)reader.ReadInt();
                OriginS3TransferProxy = (TransferProxyType)reader.ReadByte();
            }
        }
Exemplo n.º 3
0
        public SiteModelRebuilder(Guid projectUid, bool archiveTagFiles, TransferProxyType originS3TransferProxy)
        {
            ProjectUid = projectUid;

            var flags = archiveTagFiles ? RebuildSiteModelFlags.AddProcessedTagFileToArchive : 0;

            _log.LogInformation($"Constructing metadata for rebuilder: Project = {projectUid}, Flags = {flags}, OriginS3TransferProxy = {originS3TransferProxy}");

            _metadata = new RebuildSiteModelMetaData
            {
                ProjectUID            = projectUid,
                Flags                 = flags,
                OriginS3TransferProxy = originS3TransferProxy,
                DeletionSelectivity   = DeleteSiteModelSelectivity.TagFileDerivedData
            };
        }
Exemplo n.º 4
0
 public ProjectRebuildRequest(Guid projectUid, TransferProxyType dataOrigin, bool archiveTagFiles)
 {
     ProjectUid      = projectUid;
     DataOrigin      = dataOrigin;
     ArchiveTagFiles = archiveTagFiles;
 }
Exemplo n.º 5
0
 private static ISiteModelRebuilder CreateBuilder(Guid projectUid, bool archiveTagFiles, TransferProxyType transferProxyType)
 {
     return(new SiteModelRebuilder(projectUid, archiveTagFiles, transferProxyType)
     {
         MetadataCache = DIContext.Obtain <Func <RebuildSiteModelCacheType, IStorageProxyCacheCommit> >()(RebuildSiteModelCacheType.Metadata)
                         as IStorageProxyCache <INonSpatialAffinityKey, IRebuildSiteModelMetaData>,
         FilesCache = DIContext.Obtain <Func <RebuildSiteModelCacheType, IStorageProxyCacheCommit> >()(RebuildSiteModelCacheType.KeyCollections)
                      as IStorageProxyCache <INonSpatialAffinityKey, ISerialisedByteArrayWrapper>
     });
 }
Exemplo n.º 6
0
        public void ProjectRebuildRequestValidation_Errors(string projectUid, bool archiveTagFiles, TransferProxyType dataOrigin, int expectedCode, string expectedMessage)
        {
            var request = new ProjectRebuildRequest(Guid.Parse(projectUid), dataOrigin, archiveTagFiles);

            var ex = Assert.Throws <ServiceException>(() => request.Validate());

            ex.GetResult.Code.Should().Be(expectedCode);
            ex.GetResult.Message.Should().Match(expectedMessage);
        }
Exemplo n.º 7
0
        public void ProjectRebuildRequestValidation_HappyPath(string projectUid, bool archiveTagFiles, TransferProxyType dataOrigin)
        {
            var request = new ProjectRebuildRequest(Guid.Parse(projectUid), dataOrigin, archiveTagFiles);

            request.Validate();
        }
Exemplo n.º 8
0
 public S3FileTransfer(TransferProxyType type)
 {
     _type = type;
     Proxy = DIContext.ObtainRequired <ITransferProxyFactory>().NewProxy(_type);
 }