示例#1
0
            /**
             * Download all content from a CMIS folder.
             */
            private void RecursiveFolderCopy(IFolder remoteFolder, string localFolder)
            {
                activityListener.ActivityStarted();
                // List all children.
                foreach (ICmisObject cmisObject in remoteFolder.GetChildren())
                {
                    if (cmisObject is DotCMIS.Client.Impl.Folder)
                    {
                        IFolder remoteSubFolder = (IFolder)cmisObject;
                        string  localSubFolder  = localFolder + Path.DirectorySeparatorChar + cmisObject.Name;
                        if (CheckRules(localSubFolder, RulesType.Folder))
                        {
                            // Create local folder.
                            Directory.CreateDirectory(localSubFolder);

                            // Create database entry for this folder
                            // TODO - Yannick - Add metadata
                            database.AddFolder(localSubFolder, remoteFolder.LastModificationDate);

                            // Recurse into folder.
                            RecursiveFolderCopy(remoteSubFolder, localSubFolder);
                        }
                    }
                    else
                    {
                        if (CheckRules(cmisObject.Name, RulesType.File))
                        {
                            // It is a file, just download it.
                            DownloadFile((IDocument)cmisObject, localFolder);
                        }
                    }
                }
                activityListener.ActivityStopped();
            }
 public void ActivityStarted()
 {
     numberOfActiveProcesses++;
     overall.ActivityStarted();
 }