This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch feature/WW-5446-fix-deprecation
in repository https://gitbox.apache.org/repos/asf/struts-intellij-plugin.git

commit 8618ac19cdf6c237143aa118738d07a433b8750f
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Wed Aug 21 15:41:01 2024 +0200

    WW-5446 Replaces deprecated code with recommended approach
---
 src/main/java/com/intellij/struts2/facet/ui/StrutsFilesTree.java | 3 ++-
 .../com/intellij/struts2/jsp/TaglibCssInlineStyleInjector.java   | 5 +++--
 .../java/com/intellij/struts2/jsp/TaglibJavaScriptInjector.java  | 5 +++--
 src/main/java/com/intellij/struts2/jsp/TaglibOgnlInjector.java   | 5 +++--
 .../ognl/completion/OgnlKeywordCompletionContributor.java        | 9 ++++++++-
 .../struts2/reference/StrutsTaglibReferenceContributorBase.java  | 7 ++++---
 .../struts2/spellchecker/Struts2BundledDictionaryProvider.java   | 2 +-
 7 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/intellij/struts2/facet/ui/StrutsFilesTree.java 
b/src/main/java/com/intellij/struts2/facet/ui/StrutsFilesTree.java
index 12aea94..3c900cb 100644
--- a/src/main/java/com/intellij/struts2/facet/ui/StrutsFilesTree.java
+++ b/src/main/java/com/intellij/struts2/facet/ui/StrutsFilesTree.java
@@ -20,6 +20,7 @@ import com.intellij.openapi.vfs.pointers.VirtualFilePointer;
 import com.intellij.psi.xml.XmlFile;
 import com.intellij.ui.CheckboxTreeBase;
 import com.intellij.ui.CheckedTreeNode;
+import com.intellij.util.containers.TreeTraversal;
 import com.intellij.util.ui.tree.TreeUtil;
 import com.intellij.xml.config.ConfigFilesTreeBuilder;
 
@@ -50,7 +51,7 @@ public class StrutsFilesTree extends CheckboxTreeBase {
 
   public void updateFileSet(final StrutsFileSet fileSet) {
     final Set<VirtualFile> configured = new HashSet<>();
-    TreeUtil.traverse((TreeNode)getModel().getRoot(), node -> {
+    
TreeUtil.treeNodeTraverser((TreeNode)getModel().getRoot()).traverse(TreeTraversal.POST_ORDER_DFS).processEach(node
 -> {
       final CheckedTreeNode checkedTreeNode = (CheckedTreeNode)node;
       if (!checkedTreeNode.isChecked()) {
         return true;
diff --git 
a/src/main/java/com/intellij/struts2/jsp/TaglibCssInlineStyleInjector.java 
b/src/main/java/com/intellij/struts2/jsp/TaglibCssInlineStyleInjector.java
index e69b0f6..d86d975 100644
--- a/src/main/java/com/intellij/struts2/jsp/TaglibCssInlineStyleInjector.java
+++ b/src/main/java/com/intellij/struts2/jsp/TaglibCssInlineStyleInjector.java
@@ -14,10 +14,11 @@
  */
 package com.intellij.struts2.jsp;
 
+import com.intellij.jsp.highlighter.JspxFileType;
+import com.intellij.jsp.highlighter.NewJspFileType;
 import com.intellij.lang.injection.MultiHostInjector;
 import com.intellij.lang.injection.MultiHostRegistrar;
 import com.intellij.openapi.fileTypes.FileType;
-import com.intellij.openapi.fileTypes.StdFileTypes;
 import com.intellij.openapi.project.DumbAware;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.patterns.ElementPattern;
@@ -57,7 +58,7 @@ final class TaglibCssInlineStyleInjector implements 
MultiHostInjector, DumbAware
   @Override
   public void getLanguagesToInject(@NotNull final MultiHostRegistrar 
registrar, @NotNull final PsiElement context) {
     final FileType fileType = context.getContainingFile().getFileType();
-    if (fileType != StdFileTypes.JSP && fileType != StdFileTypes.JSPX) {
+    if (!NewJspFileType.INSTANCE.equals(fileType) && 
!JspxFileType.INSTANCE.equals(fileType)) {
       return;
     }
 
diff --git 
a/src/main/java/com/intellij/struts2/jsp/TaglibJavaScriptInjector.java 
b/src/main/java/com/intellij/struts2/jsp/TaglibJavaScriptInjector.java
index 3f26fd3..e654cbe 100644
--- a/src/main/java/com/intellij/struts2/jsp/TaglibJavaScriptInjector.java
+++ b/src/main/java/com/intellij/struts2/jsp/TaglibJavaScriptInjector.java
@@ -15,12 +15,13 @@
 
 package com.intellij.struts2.jsp;
 
+import com.intellij.jsp.highlighter.JspxFileType;
+import com.intellij.jsp.highlighter.NewJspFileType;
 import com.intellij.lang.injection.MultiHostInjector;
 import com.intellij.lang.injection.MultiHostRegistrar;
 import com.intellij.lang.javascript.JavaScriptSupportLoader;
 import com.intellij.lang.javascript.injections.JSInXmlLanguagesInjector;
 import com.intellij.openapi.fileTypes.FileType;
-import com.intellij.openapi.fileTypes.StdFileTypes;
 import com.intellij.openapi.project.DumbAware;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.patterns.ElementPattern;
@@ -87,7 +88,7 @@ final class TaglibJavaScriptInjector implements 
MultiHostInjector, DumbAware {
   @Override
   public void getLanguagesToInject(@NotNull final MultiHostRegistrar 
registrar, @NotNull final PsiElement host) {
     final FileType fileType = host.getContainingFile().getFileType();
-    if (fileType != StdFileTypes.JSP && fileType != StdFileTypes.JSPX) {
+    if (!NewJspFileType.INSTANCE.equals(fileType) && 
!JspxFileType.INSTANCE.equals(fileType)) {
       return;
     }
 
diff --git a/src/main/java/com/intellij/struts2/jsp/TaglibOgnlInjector.java 
b/src/main/java/com/intellij/struts2/jsp/TaglibOgnlInjector.java
index e4fe2a3..51e7ecd 100644
--- a/src/main/java/com/intellij/struts2/jsp/TaglibOgnlInjector.java
+++ b/src/main/java/com/intellij/struts2/jsp/TaglibOgnlInjector.java
@@ -14,12 +14,13 @@
  */
 package com.intellij.struts2.jsp;
 
+import com.intellij.jsp.highlighter.JspxFileType;
+import com.intellij.jsp.highlighter.NewJspFileType;
 import com.intellij.lang.injection.MultiHostInjector;
 import com.intellij.lang.injection.MultiHostRegistrar;
 import com.intellij.lang.ognl.OgnlLanguage;
 import com.intellij.lang.ognl.OgnlLanguageInjector;
 import com.intellij.openapi.fileTypes.FileType;
-import com.intellij.openapi.fileTypes.StdFileTypes;
 import com.intellij.openapi.project.DumbAware;
 import com.intellij.patterns.ElementPattern;
 import com.intellij.patterns.XmlAttributeValuePattern;
@@ -74,7 +75,7 @@ final class TaglibOgnlInjector implements MultiHostInjector, 
DumbAware {
   public void getLanguagesToInject(@NotNull final MultiHostRegistrar 
multiHostRegistrar,
                                    @NotNull final PsiElement psiElement) {
     final FileType fileType = psiElement.getContainingFile().getFileType();
-    if (fileType != StdFileTypes.JSP && fileType != StdFileTypes.JSPX) {
+    if (!NewJspFileType.INSTANCE.equals(fileType) && 
!JspxFileType.INSTANCE.equals(fileType)) {
       return;
     }
 
diff --git 
a/src/main/java/com/intellij/struts2/ognl/completion/OgnlKeywordCompletionContributor.java
 
b/src/main/java/com/intellij/struts2/ognl/completion/OgnlKeywordCompletionContributor.java
index d1902b3..b5f5b70 100644
--- 
a/src/main/java/com/intellij/struts2/ognl/completion/OgnlKeywordCompletionContributor.java
+++ 
b/src/main/java/com/intellij/struts2/ognl/completion/OgnlKeywordCompletionContributor.java
@@ -16,11 +16,18 @@
 package com.intellij.lang.ognl.completion;
 
 import com.intellij.codeInsight.TailType;
+import com.intellij.codeInsight.TailTypes;
 import com.intellij.codeInsight.completion.*;
 import com.intellij.codeInsight.lookup.LookupElementBuilder;
 import com.intellij.codeInsight.lookup.TailTypeDecorator;
 import com.intellij.lang.ognl.OgnlTypes;
 import com.intellij.lang.ognl.psi.*;
+import com.intellij.lang.ognl.psi.OgnlExpression;
+import com.intellij.lang.ognl.psi.OgnlFqnTypeExpression;
+import com.intellij.lang.ognl.psi.OgnlReferenceExpression;
+import com.intellij.lang.ognl.psi.OgnlTokenGroups;
+import com.intellij.lang.ognl.psi.OgnlVariableAssignmentExpression;
+import com.intellij.lang.ognl.psi.OgnlVariableExpression;
 import com.intellij.openapi.project.DumbAware;
 import com.intellij.patterns.PsiElementPattern;
 import com.intellij.psi.PsiElement;
@@ -135,7 +142,7 @@ public class OgnlKeywordCompletionContributor extends 
CompletionContributor impl
                                            @NotNull final CompletionResultSet 
completionResultSet) {
                for (final String keyword : keywords) {
                  final LookupElementBuilder builder = 
LookupElementBuilder.create(keyword).bold();
-                 
completionResultSet.addElement(TailTypeDecorator.withTail(builder, 
TailType.SPACE));
+                 
completionResultSet.addElement(TailTypeDecorator.withTail(builder, 
TailTypes.spaceType()));
                }
              }
            });
diff --git 
a/src/main/java/com/intellij/struts2/reference/StrutsTaglibReferenceContributorBase.java
 
b/src/main/java/com/intellij/struts2/reference/StrutsTaglibReferenceContributorBase.java
index ed07714..d5486d1 100644
--- 
a/src/main/java/com/intellij/struts2/reference/StrutsTaglibReferenceContributorBase.java
+++ 
b/src/main/java/com/intellij/struts2/reference/StrutsTaglibReferenceContributorBase.java
@@ -15,7 +15,8 @@
 
 package com.intellij.struts2.reference;
 
-import com.intellij.openapi.fileTypes.StdFileTypes;
+import com.intellij.jsp.highlighter.JspxFileType;
+import com.intellij.jsp.highlighter.NewJspFileType;
 import com.intellij.openapi.paths.PathReferenceManager;
 import com.intellij.patterns.XmlAttributeValuePattern;
 import com.intellij.psi.*;
@@ -132,8 +133,8 @@ public abstract class StrutsTaglibReferenceContributorBase 
extends PsiReferenceC
    */
   private final XmlAttributeValuePattern jspElementPattern =
       xmlAttributeValue()
-          .inVirtualFile(or(virtualFile().ofType(StdFileTypes.JSP),
-                            virtualFile().ofType(StdFileTypes.JSPX)))
+          .inVirtualFile(or(virtualFile().ofType(NewJspFileType.INSTANCE),
+                            virtualFile().ofType(JspxFileType.INSTANCE)))
           .withSuperParent(2, xmlTag().withNamespace(getNamespace()));
 
   /**
diff --git 
a/src/main/java/com/intellij/struts2/spellchecker/Struts2BundledDictionaryProvider.java
 
b/src/main/java/com/intellij/struts2/spellchecker/Struts2BundledDictionaryProvider.java
index 01aa8bc..8d940e7 100644
--- 
a/src/main/java/com/intellij/struts2/spellchecker/Struts2BundledDictionaryProvider.java
+++ 
b/src/main/java/com/intellij/struts2/spellchecker/Struts2BundledDictionaryProvider.java
@@ -26,7 +26,7 @@ public class Struts2BundledDictionaryProvider implements 
BundledDictionaryProvid
 
   @Override
   public String[] getBundledDictionaries() {
-    return new String[]{"struts2.dic"};
+    return new String[]{"/struts2.dic"};
   }
 
 }
\ No newline at end of file

Reply via email to