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

lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts-intellij-plugin.git


The following commit(s) were added to refs/heads/main by this push:
     new 729be85  refactor: remove experimental CreateBeanPropertyFixes 
dependency (#71)
729be85 is described below

commit 729be85dd41664443abaa6699df3e2992d14c949
Author: Lukasz Lenart <[email protected]>
AuthorDate: Wed Apr 8 06:49:19 2026 +0200

    refactor: remove experimental CreateBeanPropertyFixes dependency (#71)
    
    Drop usage of the experimental `CreateBeanPropertyFixes` API from
    `BeanPropertyPathReference` and the delegating quick-fix aggregation
    in `ResultParamNameCustomConverter.MergingBeanPropertyPathReference`.
    
    This eliminates the plugin verifier warning about referencing an
    `@ApiStatus.Experimental` class that may change in future IntelliJ
    Platform releases. Bean-property resolution, completion, highlighting,
    and rename/bind behavior are unaffected.
    
    🤖 Generated by AI Assistant
    
    Made-with: Cursor
---
 .../custom/ResultParamNameCustomConverter.java      | 19 ++-----------------
 .../reference/common/BeanPropertyPathReference.java | 21 +--------------------
 2 files changed, 3 insertions(+), 37 deletions(-)

diff --git 
a/src/main/java/com/intellij/struts2/dom/params/custom/ResultParamNameCustomConverter.java
 
b/src/main/java/com/intellij/struts2/dom/params/custom/ResultParamNameCustomConverter.java
index 898ea21..dbcc402 100644
--- 
a/src/main/java/com/intellij/struts2/dom/params/custom/ResultParamNameCustomConverter.java
+++ 
b/src/main/java/com/intellij/struts2/dom/params/custom/ResultParamNameCustomConverter.java
@@ -15,8 +15,6 @@
 package com.intellij.struts2.dom.params.custom;
 
 import com.intellij.codeInsight.daemon.EmptyResolveMessageProvider;
-import com.intellij.codeInspection.LocalQuickFix;
-import com.intellij.codeInspection.LocalQuickFixProvider;
 import com.intellij.psi.PsiElement;
 import com.intellij.psi.PsiMethod;
 import com.intellij.psi.PsiReference;
@@ -60,13 +58,13 @@ public class ResultParamNameCustomConverter extends 
ParamNameConverter.ParamName
 
 
   private static final class MergingBeanPropertyPathReference extends 
PsiReferenceBase<PsiElement>
-    implements EmptyResolveMessageProvider, LocalQuickFixProvider {
+    implements EmptyResolveMessageProvider {
 
     private final List<BeanPropertyPathReference[]> allReferences = new 
SmartList<>();
 
     /**
      * @param element        XML element.
-     * @param paramsElements First element will be used for quickfixes.
+     * @param paramsElements Elements providing bean property references.
      */
     private MergingBeanPropertyPathReference(@NotNull XmlAttributeValue 
element,
                                              ParamsElement @NotNull ... 
paramsElements) {
@@ -113,18 +111,5 @@ public class ResultParamNameCustomConverter extends 
ParamNameConverter.ParamName
       return "Cannot resolve property '" + getValue() + "'";
     }
 
-    @Override
-    public @NotNull LocalQuickFix @Nullable [] getQuickFixes() {
-      List<LocalQuickFix> quickFixes = new SmartList<>();
-      for (BeanPropertyPathReference[] reference : allReferences) {
-        for (BeanPropertyPathReference pathReference : reference) {
-          final LocalQuickFix[] fixes = pathReference.getQuickFixes();
-          if (fixes != null) {
-            Collections.addAll(quickFixes, fixes);
-          }
-        }
-      }
-      return quickFixes.toArray(LocalQuickFix.EMPTY_ARRAY);
-    }
   }
 }
diff --git 
a/src/main/java/com/intellij/struts2/reference/common/BeanPropertyPathReference.java
 
b/src/main/java/com/intellij/struts2/reference/common/BeanPropertyPathReference.java
index 6cc6376..9f45dc4 100644
--- 
a/src/main/java/com/intellij/struts2/reference/common/BeanPropertyPathReference.java
+++ 
b/src/main/java/com/intellij/struts2/reference/common/BeanPropertyPathReference.java
@@ -17,12 +17,8 @@ package com.intellij.struts2.reference.common;
 
 import com.intellij.codeInsight.daemon.EmptyResolveMessageProvider;
 import com.intellij.codeInsight.lookup.LookupElementBuilder;
-import com.intellij.codeInspection.LocalQuickFix;
-import com.intellij.codeInspection.LocalQuickFixProvider;
 import com.intellij.openapi.util.TextRange;
-import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.psi.*;
-import com.intellij.psi.impl.beanProperties.CreateBeanPropertyFixes;
 import com.intellij.psi.util.PropertyUtilBase;
 import com.intellij.util.ArrayUtilRt;
 import com.intellij.util.IncorrectOperationException;
@@ -39,7 +35,7 @@ import java.util.Map;
  * @author Yann C&eacute;bron
  */
 public class BeanPropertyPathReference extends PsiReferenceBase<PsiElement>
-  implements EmptyResolveMessageProvider, LocalQuickFixProvider {
+  implements EmptyResolveMessageProvider {
 
   private final BeanPropertyPathReferenceSet referenceSet;
   private final int index;
@@ -119,21 +115,6 @@ public class BeanPropertyPathReference extends 
PsiReferenceBase<PsiElement>
     return getElement();
   }
 
-  @Override
-  public @NotNull LocalQuickFix @Nullable [] getQuickFixes() {
-    final String value = getValue();
-    if (StringUtil.isEmpty(value)) {
-      return LocalQuickFix.EMPTY_ARRAY;
-    }
-
-    final PsiClass psiClass = getPsiClass();
-    if (psiClass == null) {
-      return LocalQuickFix.EMPTY_ARRAY;
-    }
-
-    return CreateBeanPropertyFixes.createFixes(value, psiClass, null, true);
-  }
-
   @Nullable
   private PsiMethod resolveProperty(@NotNull final PsiClass psiClass, final 
String propertyName) {
     PsiMethod method = isLast() ?

Reply via email to