This is an automated email from the ASF dual-hosted git repository. matthiasblaesing pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push: new 4cc1931e18 CSS-Refactoring: Fix NullPointerException from folder/file renaming new 71fb2eda10 Merge pull request #6837 from matthiasblaesing/css_refactoring_exception 4cc1931e18 is described below commit 4cc1931e182a7c96d168bfc4d924df997bc9f024 Author: Matthias Bläsing <mblaes...@doppel-helix.eu> AuthorDate: Tue Dec 12 21:32:32 2023 +0100 CSS-Refactoring: Fix NullPointerException from folder/file renaming There are two very different supported refactorings supported in the CSS context: 1. CSS "internal" refactorings, which are completely rooted and handled inside the CSS modules (renaming classes, ids, colors, elements) 2. Renaming files/folders The second category caused NullPointerExceptions because the refactoring plugin expected a special context object only provided for the first set of refactorings. --- .../refactoring/CssRenameRefactoringPlugin.java | 38 +++++++++++++--------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/ide/css.editor/src/org/netbeans/modules/css/refactoring/CssRenameRefactoringPlugin.java b/ide/css.editor/src/org/netbeans/modules/css/refactoring/CssRenameRefactoringPlugin.java index 0a2e3379a1..0d58a64847 100644 --- a/ide/css.editor/src/org/netbeans/modules/css/refactoring/CssRenameRefactoringPlugin.java +++ b/ide/css.editor/src/org/netbeans/modules/css/refactoring/CssRenameRefactoringPlugin.java @@ -114,7 +114,19 @@ public class CssRenameRefactoringPlugin implements RefactoringPlugin { @Override public Problem prepare(final RefactoringElementsBag refactoringElements) { - CssProjectSupport sup = CssProjectSupport.findFor(context.getFileObject()); + FileObject fileObject; + + if (context != null) { + fileObject = context.getFileObject(); + } else { + fileObject = lookup.lookup(FileObject.class); + } + + if (fileObject == null) { + return null; + } + + CssProjectSupport sup = CssProjectSupport.findFor(fileObject); if (sup == null) { return null; } @@ -173,20 +185,16 @@ public class CssRenameRefactoringPlugin implements RefactoringPlugin { } - } else { - FileObject fileObject = lookup.lookup(FileObject.class); - - if(fileObject != null && !fileObject.isFolder()) { - //refactor a file in explorer - refactorFile(modificationResult, fileObject, index); - } else if (fileObject != null && fileObject.isFolder()) { - //refactor a folder in explorer - refactorFolder(modificationResult, fileObject, index); - //add folder rename element implementation, there doesn't seem to a default one - //like for file rename - // Disabled RenameFolder as it collides with FileRenamePlugin see #187635 - // refactoringElements.add(refactoring, new RenameFolder(folderContext.getFileObject())); - } + } else if (!fileObject.isFolder()) { + //refactor a file in explorer + refactorFile(modificationResult, fileObject, index); + } else if (fileObject.isFolder()) { + //refactor a folder in explorer + refactorFolder(modificationResult, fileObject, index); + //add folder rename element implementation, there doesn't seem to a default one + //like for file rename + // Disabled RenameFolder as it collides with FileRenamePlugin see #187635 + // refactoringElements.add(refactoring, new RenameFolder(folderContext.getFileObject())); } //commit the transaction and add the differences to the result --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists