CmisSync.Lib.Sync.CmisRepo.Enable C# (CSharp) Метод

Enable() публичный Метод

public Enable ( ) : void
Результат void
        public override void Enable()
        {
            if(this.synchronizedFolder != null)
            {
                Logger.Debug("Reset all failed upload counter");
                this.synchronizedFolder.resetFailedOperationsCounter();
                this.synchronizedFolder.ForceFullSyncAtNextSync();
            }
            base.Enable();
        }

Usage Example

Пример #1
0
        public void SyncConcurrentHeavyFolder(string canonical_name, string localPath, string remoteFolderPath,
            string url, string user, string password, string repositoryId)
        {
            // Prepare checkout directory.
            string localDirectory = Path.Combine(CMISSYNCDIR, canonical_name);
            CleanDirectory(localDirectory);
            Console.WriteLine("Synced to clean state.");

            // Mock.
            IActivityListener activityListener = new Mock<IActivityListener>().Object;
            // Sync.
            RepoInfo repoInfo = new RepoInfo(
                    canonical_name,
                    CMISSYNCDIR,
                    remoteFolderPath,
                    url,
                    user,
                    password,
                    repositoryId,
                    100,
                    false,
                    DateTime.MinValue,
                    true);

            using (CmisRepo cmis = new CmisRepo(repoInfo, activityListener))
            using (CmisRepo.SynchronizedFolder synchronizedFolder =
                    new CmisRepo.SynchronizedFolder(repoInfo, cmis, activityListener))
            {
                synchronizedFolder.resetFailedOperationsCounter();
                synchronizedFolder.Sync();
                CleanAll(localDirectory);
                WatcherTest.WaitWatcher();
                synchronizedFolder.Sync();
                Console.WriteLine("Synced to clean state.");

                //  Invoke the backend synchronize for concurrent
                cmis.Initialize();

                ISession session = CreateSession(repoInfo);
                IFolder folder = (IFolder)session.GetObjectByPath(remoteFolderPath);

                string name1 = "SyncConcurrent.1";
                string path1 = Path.Combine(localDirectory, name1);
                string name2 = "SyncConcurrent.2";
                string path2 = Path.Combine(localDirectory, name2);

                //  create heavy folder in concurrent
                Console.WriteLine(" Concurrent create heavy folder");
                Assert.IsFalse(Directory.Exists(path1));
                IFolder folder1 = CreateFolder(folder, name1);
                Assert.IsTrue(WaitUntilDone(delegate
                {
                    return Directory.Exists(path1);
                }));
                Assert.IsTrue(Directory.Exists(path1));
                CreateHeavyFolderRemote(folder1);
                Assert.IsTrue(WaitUntilSyncIsDone(synchronizedFolder, delegate
                {
                    return CheckHeavyFolder(path1);
                }));
                Assert.IsTrue(CheckHeavyFolder(path1));

                //  rename heavy folder in concurrent 
                Console.WriteLine(" Concurrent rename heavy folder");
                IFolder folder2 = RenameFolder(folder1, name2);
                Assert.IsTrue(WaitUntilDone(delegate
                {
                    return CheckHeavyFolder(path2);
                }));
                Assert.IsTrue(CheckHeavyFolder(path2));

                //  move heavy folder in concurrent
                Console.WriteLine(" Concurrent move heavy folder");
                folder1 = CreateFolder(folder, name1);
                folder2.Move(folder, folder1);
                Assert.IsTrue(WaitUntilDone(delegate
                {
                    return CheckHeavyFolder(Path.Combine(path1, name2));
                }));
                Assert.IsTrue(CheckHeavyFolder(Path.Combine(path1, name2)));

                //  delete heavy folder in concurrent
                Console.WriteLine(" Remote delete heavy folder");
                folder1.DeleteTree(true, null, true);
                Assert.IsTrue(WaitUntilDone(delegate
                {
                    return !Directory.Exists(path1);
                }));
                Assert.IsFalse(Directory.Exists(path1));

                //  create and delete heavy folder in concurrent
                Console.WriteLine(" Remote create and delete heavy folder");
                cmis.Disable();
                folder1 = CreateFolder(folder, name1);
                CreateHeavyFolderRemote(folder1);
                cmis.Enable();
                folder1.DeleteTree(true, null, true);
                Assert.IsTrue(WaitUntilDone(delegate
                {
                    return !Directory.Exists(path1);
                }));
                Assert.IsFalse(Directory.Exists(path1));

                // Clean.
                Console.WriteLine("Clean all.");
                Clean(localDirectory, synchronizedFolder);
            }
        }