Esempio n. 1
0
        protected override void RenameItem(string path, string newName)
        {
            if (newName.Contains(_pathSeparator))
            {
                WriteError(new ErrorRecord
                               (new ArgumentException("Cannot rename because the target specified is not a path."),
                               "InvalidArgument", ErrorCategory.InvalidArgument, newName)
                           );
                return;
            }

            path = NormalizePath(path);

            if (FeedsManager.ExistsFolder(path))
            {
                IFeedFolder folder = FeedsManager.GetFolder(path) as IFeedFolder;

                if (ShouldProcess(folder.Path, "rename"))
                {
                    WriteDebug("Renaming folder " + folder.Path);
                    folder.Rename(newName);
                    WriteItemObject(folder, folder.Path, true);
                }
                return;
            }

            if (FeedsManager.ExistsFeed(path))
            {
                IFeed feed = FeedsManager.GetFeed(path) as IFeed;

                if (Force && ShouldProcess(feed.Path, "rename"))
                {
                    WriteDebug("Renaming feed " + feed.Path);
                    feed.Rename(newName);
                    WriteItemObject(feed, feed.Path, true);
                }
                return;
            }

            WriteError(new ErrorRecord
                           (new NotImplementedException("Cannot rename because item specified."),
                           "NotImplemented", ErrorCategory.NotImplemented, path)
                       );
        } // RenameItem