# HG changeset patch # User Vladimir Kvashin # Date 1411042308 -14400 # Node ID 455f2fe77cca6ec4ba270d1666f369d77fa69b0c # Parent a72237827275d5821de4ef7ff6e789c211d151ec fixed #247268 - Not using CsmRefactoringNameProvider causes problems with renaming Tuxedo SCA Service diff -r a72237827275 -r 455f2fe77cca cnd.refactoring/src/org/netbeans/modules/cnd/refactoring/plugins/CsmRefactoringPlugin.java --- a/cnd.refactoring/src/org/netbeans/modules/cnd/refactoring/plugins/CsmRefactoringPlugin.java Thu Sep 18 06:40:21 2014 +0000 +++ b/cnd.refactoring/src/org/netbeans/modules/cnd/refactoring/plugins/CsmRefactoringPlugin.java Thu Sep 18 16:11:48 2014 +0400 @@ -264,7 +264,8 @@ name = ((CsmGotoStatement)referencedObject).getLabel(); } } - + + name = CsmRefactoringUtils.getRefactoredName(referencedObject, name.toString()); final CsmReferenceRepository xRef = CsmReferenceRepository.getDefault(); relevantFiles.addAll(xRef.findRelevantFiles(relevantPrjs, name)); } else { diff -r a72237827275 -r 455f2fe77cca cnd.refactoring/src/org/netbeans/modules/cnd/refactoring/support/CsmRefactoringUtils.java --- a/cnd.refactoring/src/org/netbeans/modules/cnd/refactoring/support/CsmRefactoringUtils.java Thu Sep 18 06:40:21 2014 +0000 +++ b/cnd.refactoring/src/org/netbeans/modules/cnd/refactoring/support/CsmRefactoringUtils.java Thu Sep 18 16:11:48 2014 +0400 @@ -226,6 +226,16 @@ } private static final Lookup.Result renameProviders = Lookup.getDefault().lookupResult(CsmRefactoringNameProvider.class); + + public static String getRefactoredName(CsmObject element, String text) { + for (CsmRefactoringNameProvider provider : renameProviders.allInstances()) { + String newName = provider.getRefactoredName(element, text); + if (newName != null) { + text = newName; + } + } + return text; + } public static String getReplaceText(CsmReference ref, String newName, AbstractRefactoring refactoring) { for (CsmRefactoringNameProvider provider : renameProviders.allInstances()) { @@ -269,16 +279,11 @@ if (text.startsWith("~")) { // NOI18N text = text.substring(1); } - for (CsmRefactoringNameProvider provider : renameProviders.allInstances()) { - String newName = provider.getRefactoredName(element, text); - if (newName != null) { - text = newName; - } - } + text = getRefactoredName(element, text); } return text; } - + public static ModificationResult.Difference rename(int startOffset, int endOffset, CloneableEditorSupport ces, String oldName, String newName, String descr) { assert oldName != null;