public void Rename(IUriReferenceService uriService, RefactoringManager refactoringManager) { var element = this.As <IProductElement>(); var app = element.Root.As <IApplication>(); // Remove existing links to Endpoints foreach (var component in this.Components.Component) { foreach (var endpoint in component.DeployedTo) { component.RemoveLinks(endpoint); } } // Perform renaming var renameNamespaces = new Dictionary <string, string>(); renameNamespaces.Add(String.Format("{0}.{1}", app.InstanceName, this.OriginalInstanceName), String.Format("{0}.{1}", app.InstanceName, this.InstanceName)); renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.OriginalInstanceName), String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.InstanceName)); renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.OriginalInstanceName), String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.InstanceName)); renameNamespaces.Add(String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.OriginalInstanceName), String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.InstanceName)); refactoringManager.RenameNamespaces(this.OriginalInstanceName, this.InstanceName, renameNamespaces); element.RenameArtifactLinks(uriService, this.OriginalInstanceName, this.InstanceName); // Restore existing links to Endpoints foreach (var component in this.Components.Component) { foreach (var endpoint in component.DeployedTo) { component.AddLinks(endpoint); } } }
public void Rename(IUriReferenceService uriService, RefactoringManager refactoringManager) { var element = this.As<IProductElement>(); var app = element.Root.As<IApplication>(); // Remove existing links to Endpoints foreach (var component in this.Components.Component) { foreach (var endpoint in component.DeployedTo) { component.RemoveLinks(endpoint); } } // Perform renaming var renameNamespaces = new Dictionary<string, string>(); renameNamespaces.Add(String.Format("{0}.{1}", app.InstanceName, this.OriginalInstanceName), String.Format("{0}.{1}", app.InstanceName, this.InstanceName)); renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.OriginalInstanceName), String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameInternalMessages, this.InstanceName)); renameNamespaces.Add(String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.OriginalInstanceName), String.Format("{0}.{1}.{2}", app.InstanceName, app.ProjectNameContracts, this.InstanceName)); renameNamespaces.Add(String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.OriginalInstanceName), String.Format("Console.WriteLine(\"{0} received \" + message.GetType().Name);", this.InstanceName)); refactoringManager.RenameNamespaces(this.OriginalInstanceName, this.InstanceName, renameNamespaces); element.RenameArtifactLinks(uriService, this.OriginalInstanceName, this.InstanceName); // Restore existing links to Endpoints foreach (var component in this.Components.Component) { foreach (var endpoint in component.DeployedTo) { component.AddLinks(endpoint); } } }
public static bool RenameElement(this IProductElement element, IToolkitElement toolkitElement, IUriReferenceService uriService, RefactoringManager refactoringManager) { using (new MouseCursor(System.Windows.Input.Cursors.Wait)) { var renameRefactoring = toolkitElement as IRenameRefactoring; if (renameRefactoring != null) { refactoringManager.RenameClass(renameRefactoring.Namespace, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName); element.RenameArtifactLinks(uriService, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName); return true; } var renameRefactoringNamespace = toolkitElement as IRenameRefactoringNamespace; if (renameRefactoringNamespace != null && toolkitElement.InstanceName != "" && toolkitElement is IService) { var service = toolkitElement as IService; service.Rename(uriService, refactoringManager); //MessageBox.Show("The Service renaming is almost done. Please, re-open the solution to finish with the renaming.", "Rename Service", MessageBoxButton.OK); return true; } var renameRefactoringNotSupported = toolkitElement as IRenameRefactoringNotSupported; if (renameRefactoringNotSupported != null && toolkitElement.InstanceName != "") { var result = MessageBox.Show("This element doesn't support code refactoring, you will need to update your code manually. Do you want to do the renaming anyway?", "Rename element", MessageBoxButton.YesNo); return result == MessageBoxResult.Yes; } return true; } }
public static bool RenameElement(this IProductElement element, IToolkitElement toolkitElement, IUriReferenceService uriService, RefactoringManager refactoringManager) { using (new MouseCursor(System.Windows.Input.Cursors.Wait)) { var renameRefactoring = toolkitElement as IRenameRefactoring; if (renameRefactoring != null) { refactoringManager.RenameClass(renameRefactoring.Namespace, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName); element.RenameArtifactLinks(uriService, renameRefactoring.OriginalInstanceName, renameRefactoring.InstanceName); return(true); } var renameRefactoringNamespace = toolkitElement as IRenameRefactoringNamespace; if (renameRefactoringNamespace != null && toolkitElement.InstanceName != "" && toolkitElement is IService) { var service = toolkitElement as IService; service.Rename(uriService, refactoringManager); //MessageBox.Show("The Service renaming is almost done. Please, re-open the solution to finish with the renaming.", "Rename Service", MessageBoxButton.OK); return(true); } var renameRefactoringNotSupported = toolkitElement as IRenameRefactoringNotSupported; if (renameRefactoringNotSupported != null && toolkitElement.InstanceName != "") { var result = MessageBox.Show("This element doesn't support code refactoring, you will need to update your code manually. Do you want to do the renaming anyway?", "Rename element", MessageBoxButton.YesNo); return(result == MessageBoxResult.Yes); } return(true); } }