Exemple #1
0
 /// <summary>
 /// Defines the phase state transitions
 /// </summary>
 private static RebuildSiteModelPhase NextPhase(RebuildSiteModelPhase phase)
 {
     return(phase switch
     {
         RebuildSiteModelPhase.Unknown => RebuildSiteModelPhase.Deleting,
         RebuildSiteModelPhase.Deleting => RebuildSiteModelPhase.Scanning,
         RebuildSiteModelPhase.Scanning => RebuildSiteModelPhase.Submitting,
         RebuildSiteModelPhase.Submitting => RebuildSiteModelPhase.Monitoring,
         RebuildSiteModelPhase.Monitoring => RebuildSiteModelPhase.Completion,
         RebuildSiteModelPhase.Completion => RebuildSiteModelPhase.Complete,
         RebuildSiteModelPhase.Complete => RebuildSiteModelPhase.Unknown,
         _ => throw new TRexException($"Unknown rebuild site model phase {phase}")
     });
Exemple #2
0
        public async void BeginOperations_RestartInProgressProjects(RebuildSiteModelPhase phase)
        {
            var siteModel = DITAGFileAndSubGridRequestsWithIgniteFixture.NewEmptyModel();

            siteModel.SaveMetadataToPersistentStore(siteModel.PrimaryStorageProxy, true);

            // Add metadata for an existing Complete project and ensure no rebuilder is constructed for it
            var metadataCache = DIContext.Obtain <Func <RebuildSiteModelCacheType, IStorageProxyCacheCommit> >()(RebuildSiteModelCacheType.Metadata)
                                as IStorageProxyCache <INonSpatialAffinityKey, IRebuildSiteModelMetaData>;

            metadataCache?.Put(new NonSpatialAffinityKey(siteModel.ID, SiteModelRebuilder.MetadataKeyName),
                               new RebuildSiteModelMetaData
            {
                ProjectUID = siteModel.ID,
                Phase      = phase
            });

            var manager = new SiteModelRebuilderManager();
            await manager.BeginOperations();

            manager.GetRebuildersState().Count.Should().Be(1);
        }
Exemple #3
0
 /// <summary>
 /// Moves the metadata to the next phases in the process
 /// </summary>
 private void UpdatePhase(RebuildSiteModelPhase phase)
 {
     _metadata.Phase = phase;
     UpdateMetaData();
 }