From d5aa42e4a535248671c9f877048e2f930f254980 Mon Sep 17 00:00:00 2001 From: UNV Date: Tue, 9 Dec 2025 21:15:47 +0300 Subject: [PATCH 1/2] Migrating to dev. --- aop-common/pom.xml | 110 +++++++++++++++++++++---------------------- java-ex-impl/pom.xml | 72 ++++++++++++++-------------- maven-impl/pom.xml | 84 ++++++++++++++++----------------- plugin/pom.xml | 4 +- pom.xml | 56 +++++++++++----------- 5 files changed, 163 insertions(+), 163 deletions(-) diff --git a/aop-common/pom.xml b/aop-common/pom.xml index bbe7a721..ca8fde89 100644 --- a/aop-common/pom.xml +++ b/aop-common/pom.xml @@ -1,6 +1,6 @@ - 4.0.0 - - consulo - arch.ide-api-provided - 3-SNAPSHOT - - + 4.0.0 + + consulo + arch.ide-api-provided + 3-SNAPSHOT + + - consulo.plugin - com.intellij.aop - 3-SNAPSHOT - jar + consulo.plugin + com.intellij.aop + 3-SNAPSHOT + jar - - - consulo - https://maven.consulo.io/repository/snapshots/ - - true - interval:60 - - - + + + consulo + https://maven.consulo.dev/repository/snapshots/ + + true + interval:60 + + + - - - - consulo.maven - maven-consulo-plugin - true - - - gen - generate-sources - - generate-icon - generate-localize - - - - - - + + + + consulo.maven + maven-consulo-plugin + true + + + gen + generate-sources + + generate-icon + generate-localize + + + + + + - - - ${project.groupId} - consulo.java - ${project.version} - provided - - - ${project.groupId} - com.intellij.xml - ${project.version} - provided - - + + + ${project.groupId} + consulo.java + ${project.version} + provided + + + ${project.groupId} + com.intellij.xml + ${project.version} + provided + + \ No newline at end of file diff --git a/java-ex-impl/pom.xml b/java-ex-impl/pom.xml index 18bc50e5..42b9f496 100644 --- a/java-ex-impl/pom.xml +++ b/java-ex-impl/pom.xml @@ -1,6 +1,6 @@ - 4.0.0 - - consulo - arch.ide-api-provided - 3-SNAPSHOT - - + 4.0.0 + + consulo + arch.ide-api-provided + 3-SNAPSHOT + + - consulo.plugin - com.intellij.spring-java.ex.impl - 3-SNAPSHOT - jar + consulo.plugin + com.intellij.spring-java.ex.impl + 3-SNAPSHOT + jar - - - consulo - https://maven.consulo.io/repository/snapshots/ - - true - interval:always - - - + + + consulo + https://maven.consulo.dev/repository/snapshots/ + + true + interval:always + + + - - - ${project.groupId} - consulo.java - ${project.version} - provided - - - ${project.groupId} - com.intellij.xml - ${project.version} - provided - - + + + ${project.groupId} + consulo.java + ${project.version} + provided + + + ${project.groupId} + com.intellij.xml + ${project.version} + provided + + \ No newline at end of file diff --git a/maven-impl/pom.xml b/maven-impl/pom.xml index ff6dbf8b..c61cb125 100644 --- a/maven-impl/pom.xml +++ b/maven-impl/pom.xml @@ -1,6 +1,6 @@ - 4.0.0 - - consulo - arch.ide-api-provided - 3-SNAPSHOT - - + 4.0.0 + + consulo + arch.ide-api-provided + 3-SNAPSHOT + + - consulo.plugin - com.intellij.spring-maven.impl - 3-SNAPSHOT - jar + consulo.plugin + com.intellij.spring-maven.impl + 3-SNAPSHOT + jar - - - consulo - https://maven.consulo.io/repository/snapshots/ - - true - interval:always - - - + + + consulo + https://maven.consulo.dev/repository/snapshots/ + + true + interval:always + + + - - - ${project.groupId} - consulo.java - ${project.version} - provided - - - ${project.groupId} - com.intellij.xml - ${project.version} - provided - - - ${project.groupId} - org.jetbrains.idea.maven - ${project.version} - provided - - + + + ${project.groupId} + consulo.java + ${project.version} + provided + + + ${project.groupId} + com.intellij.xml + ${project.version} + provided + + + ${project.groupId} + org.jetbrains.idea.maven + ${project.version} + provided + + \ No newline at end of file diff --git a/plugin/pom.xml b/plugin/pom.xml index 667f1964..19a6756c 100644 --- a/plugin/pom.xml +++ b/plugin/pom.xml @@ -1,6 +1,6 @@ - 4.0.0 + 4.0.0 - - consulo - arch.managment - 3-SNAPSHOT - - + + consulo + arch.managment + 3-SNAPSHOT + + - - - consulo - https://maven.consulo.io/repository/snapshots/ - - true - interval:60 - - - + + + consulo + https://maven.consulo.dev/repository/snapshots/ + + true + interval:60 + + + - consulo.plugin - com.intellij.spring.parent - 3-SNAPSHOT - pom + consulo.plugin + com.intellij.spring.parent + 3-SNAPSHOT + pom - - aop-common - java-ex-impl + + aop-common + java-ex-impl - maven-impl - plugin - + maven-impl + plugin + \ No newline at end of file From 1e8513356712ce1db7f62051a2b993c539450698 Mon Sep 17 00:00:00 2001 From: UNV Date: Tue, 9 Dec 2025 21:38:08 +0300 Subject: [PATCH 2/2] Fixing compilation of SpringInlineHandler. Some refactoring. --- .../ide/refactoring/SpringInlineHandler.java | 306 +++++++++--------- 1 file changed, 156 insertions(+), 150 deletions(-) diff --git a/plugin/src/main/java/com/intellij/spring/impl/ide/refactoring/SpringInlineHandler.java b/plugin/src/main/java/com/intellij/spring/impl/ide/refactoring/SpringInlineHandler.java index 9d8e4e04..cf789039 100644 --- a/plugin/src/main/java/com/intellij/spring/impl/ide/refactoring/SpringInlineHandler.java +++ b/plugin/src/main/java/com/intellij/spring/impl/ide/refactoring/SpringInlineHandler.java @@ -1,11 +1,13 @@ package com.intellij.spring.impl.ide.refactoring; -import com.intellij.spring.impl.model.beans.SpringBeanImpl; import com.intellij.spring.impl.ide.model.SpringUtils; import com.intellij.spring.impl.ide.model.xml.DomSpringBean; import com.intellij.spring.impl.ide.model.xml.beans.CollectionElements; import com.intellij.spring.impl.ide.model.xml.beans.SpringBean; import com.intellij.spring.impl.ide.model.xml.beans.SpringElementsHolder; +import com.intellij.spring.impl.model.beans.SpringBeanImpl; +import consulo.annotation.access.RequiredReadAction; +import consulo.annotation.access.RequiredWriteAction; import consulo.annotation.component.ExtensionImpl; import consulo.codeEditor.Editor; import consulo.language.Language; @@ -14,6 +16,7 @@ import consulo.language.psi.PsiElement; import consulo.language.psi.PsiReference; import consulo.language.util.IncorrectOperationException; +import consulo.localize.LocalizeValue; import consulo.logging.Logger; import consulo.project.Project; import consulo.usage.UsageInfo; @@ -29,9 +32,8 @@ import consulo.xml.util.xml.reflect.DomCollectionChildDescription; import consulo.xml.util.xml.reflect.DomFixedChildDescription; import consulo.xml.util.xml.reflect.DomGenericInfo; -import org.jetbrains.annotations.NonNls; - import jakarta.annotation.Nonnull; + import java.util.Collection; import java.util.Set; import java.util.function.Function; @@ -41,168 +43,172 @@ */ @ExtensionImpl public class SpringInlineHandler implements InlineHandler { + private final static Logger LOG = Logger.getInstance(SpringInlineHandler.class); + private static final String PARENT_ATTR = "parent"; - private final static Logger LOG = Logger.getInstance(SpringInlineHandler.class); - @NonNls - private static final String PARENT_ATTR = "parent"; - - public Settings prepareInlineElement(final PsiElement element, final Editor editor, final boolean invokedOnReference) { - return new Settings() { - public boolean isOnlyOneReferenceToInline() { - return false; - } - }; - } - - public void removeDefinition(final PsiElement element, Settings settings) { - final DomElement domElement; - if (element instanceof XmlTag) { - domElement = DomManager.getDomManager(element.getProject()).getDomElement((XmlTag)element); - if (domElement != null) { - domElement.undefine(); - } + @Override + public Settings prepareInlineElement(@Nonnull PsiElement element, Editor editor, boolean invokedOnReference) { + return () -> false; } - } - public Inliner createInliner(final PsiElement element, Settings settings) { - if (!(element instanceof XmlTag)) { - return null; + @Override + @RequiredWriteAction + public void removeDefinition(@Nonnull PsiElement element, @Nonnull Settings settings) { + DomElement domElement; + if (element instanceof XmlTag) { + domElement = DomManager.getDomManager(element.getProject()).getDomElement((XmlTag) element); + if (domElement != null) { + domElement.undefine(); + } + } } - return new Inliner() { - public MultiMap getConflicts(final PsiReference reference, final PsiElement referenced) { - return null; - } - - public void inlineUsage(final UsageInfo usage, final PsiElement referenced) { - if (!(referenced instanceof XmlTag)) { - return; + + @Override + public Inliner createInliner(@Nonnull PsiElement element, @Nonnull Settings settings) { + if (!(element instanceof XmlTag)) { + return null; } - final Project project = referenced.getProject(); - final DomManager domManager = DomManager.getDomManager(project); - final DomSpringBean bean = (DomSpringBean)domManager.getDomElement((XmlTag)referenced); - - PsiElement psiElement = usage.getElement(); - if (psiElement instanceof XmlAttributeValue) { - final XmlAttribute attribute = (XmlAttribute)psiElement.getParent(); - final GenericAttributeValue value = domManager.getDomElement(attribute); - assert value != null; - final DomElement parent = value.getParent(); - assert parent != null; - if (parent instanceof SpringBean) { - final String attrName = attribute.getName(); - if (attrName.equals(PARENT_ATTR)) { - SpringBean thisBean = (SpringBean)parent; - mergeValue(thisBean, thisBean.getScope()); - mergeValue(thisBean, thisBean.getAbstract()); - mergeValue(thisBean, thisBean.getLazyInit()); - - mergeValue(thisBean, thisBean.getAutowireCandidate()); - mergeValue(thisBean, thisBean.getAutowire()); - mergeValue(thisBean, thisBean.getDependencyCheck()); - mergeValue(thisBean, thisBean.getDependsOn()); - - mergeValue(thisBean, thisBean.getFactoryBean()); - mergeValue(thisBean, thisBean.getFactoryMethod()); - mergeValue(thisBean, thisBean.getInitMethod()); - mergeValue(thisBean, thisBean.getDestroyMethod()); - - mergeValue(thisBean, thisBean.getDescription()); - - mergeList(thisBean, SpringBeanImpl.CTOR_ARGS_GETTER, springBean -> springBean.addConstructorArg()); - mergeList(thisBean, SpringBeanImpl.PROPERTIES_GETTER, springBean -> springBean.addProperty()); - mergeList(thisBean, springBean -> springBean.getReplacedMethods(), springBean -> springBean.addReplacedMethod()); - value.undefine(); - reformat(parent); + return new Inliner() { + @Override + @RequiredReadAction + public MultiMap getConflicts(@Nonnull PsiReference reference, @Nonnull PsiElement referenced) { + return null; } - } - else if (parent instanceof SpringElementsHolder) { - - copyBean(bean, parent); - value.undefine(); - reformat(parent); - } - else { - final DomElement grandParent = parent.getParent(); - if (grandParent instanceof SpringElementsHolder) { - copyBean(bean, grandParent); - parent.undefine(); - reformat(grandParent); + + @Override + @RequiredWriteAction + public void inlineUsage(@Nonnull UsageInfo usage, @Nonnull PsiElement referenced) { + if (!(referenced instanceof XmlTag)) { + return; + } + Project project = referenced.getProject(); + DomManager domManager = DomManager.getDomManager(project); + DomSpringBean bean = (DomSpringBean) domManager.getDomElement((XmlTag) referenced); + + if (usage.getElement() instanceof XmlAttributeValue attrValue) { + XmlAttribute attribute = (XmlAttribute) attrValue.getParent(); + GenericAttributeValue value = domManager.getDomElement(attribute); + assert value != null; + DomElement parent = value.getParent(); + assert parent != null; + if (parent instanceof SpringBean thisBean) { + if (attribute.getName().equals(PARENT_ATTR)) { + mergeValue(thisBean, thisBean.getScope()); + mergeValue(thisBean, thisBean.getAbstract()); + mergeValue(thisBean, thisBean.getLazyInit()); + + mergeValue(thisBean, thisBean.getAutowireCandidate()); + mergeValue(thisBean, thisBean.getAutowire()); + mergeValue(thisBean, thisBean.getDependencyCheck()); + mergeValue(thisBean, thisBean.getDependsOn()); + + mergeValue(thisBean, thisBean.getFactoryBean()); + mergeValue(thisBean, thisBean.getFactoryMethod()); + mergeValue(thisBean, thisBean.getInitMethod()); + mergeValue(thisBean, thisBean.getDestroyMethod()); + + mergeValue(thisBean, thisBean.getDescription()); + + mergeList(thisBean, SpringBeanImpl.CTOR_ARGS_GETTER, springBean -> springBean.addConstructorArg()); + mergeList(thisBean, SpringBeanImpl.PROPERTIES_GETTER, springBean -> springBean.addProperty()); + mergeList( + thisBean, + springBean -> springBean.getReplacedMethods(), + springBean -> springBean.addReplacedMethod() + ); + value.undefine(); + reformat(parent); + } + } + else if (parent instanceof SpringElementsHolder) { + copyBean(bean, parent); + value.undefine(); + reformat(parent); + } + else { + DomElement grandParent = parent.getParent(); + if (grandParent instanceof SpringElementsHolder) { + copyBean(bean, grandParent); + parent.undefine(); + reformat(grandParent); + } + else if (grandParent instanceof CollectionElements) { + copyBean(bean, grandParent); + parent.undefine(); + reformat(grandParent); + } + else { + LOG.error("Cannot inline " + attribute); + } + } + } } - else if (grandParent instanceof CollectionElements) { - copyBean(bean, grandParent); - parent.undefine(); - reformat(grandParent); + }; + } + + private static > void mergeValue(SpringBean springBean, T value) { + T mergedValue = SpringUtils.getMergedValue(springBean, value); + if (mergedValue != value) { + value.setStringValue(mergedValue.getStringValue()); + } + } + + public static void mergeList( + SpringBean springBean, + Function> getter, + Function adder + ) { + Set merged = SpringUtils.getMergedSet(springBean, getter); + Collection existing = getter.apply(springBean); + for (T t : existing) { + if (!merged.contains(t)) { + t.undefine(); } else { - LOG.error("Cannot inline " + attribute); + merged.remove(t); } - } } - } - }; - } - - private static > void mergeValue(SpringBean springBean, T value) { - final T mergedValue = SpringUtils.getMergedValue(springBean, value); - if (mergedValue != value) { - value.setStringValue(mergedValue.getStringValue()); - } - } - - public static void mergeList(final SpringBean springBean, - final Function> getter, - final Function adder) { - final Set merged = SpringUtils.getMergedSet(springBean, getter); - final Collection existing = getter.apply(springBean); - for (T t : existing) { - if (!merged.contains(t)) { - t.undefine(); - } - else { - merged.remove(t); - } - } - for (T t : merged) { - final T newElement = adder.apply(springBean); - newElement.copyFrom(t); + for (T t : merged) { + T newElement = adder.apply(springBean); + newElement.copyFrom(t); + } } - } - private static void reformat(final DomElement domElement) { - try { - CodeStyleManager.getInstance(domElement.getManager().getProject()).reformat(domElement.getXmlTag()); - } - catch (IncorrectOperationException e) { - LOG.error(e); - } - } - - private static void copyBean(final DomSpringBean from, final DomElement parent) { - final DomCollectionChildDescription description = (DomCollectionChildDescription)from.getChildDescription(); - final DomGenericInfo info = parent.getGenericInfo(); - final String name = description.getXmlElementName(); - final String namespaceKey = description.getXmlName().getNamespaceKey(); - final DomSpringBean to; - DomCollectionChildDescription targetDescription = info.getCollectionChildDescription(name, namespaceKey); - if (targetDescription != null) { - to = (DomSpringBean)targetDescription.addValue(parent); - } - else { - final DomFixedChildDescription fixedDescr = info.getFixedChildDescription(name, namespaceKey); - assert fixedDescr != null; - to = (DomSpringBean)fixedDescr.getValues(parent).get(0); + private static void reformat(DomElement domElement) { + try { + CodeStyleManager.getInstance(domElement.getManager().getProject()).reformat(domElement.getXmlTag()); + } + catch (IncorrectOperationException e) { + LOG.error(e); + } } - to.copyFrom(from); - to.getId().undefine(); - if (to instanceof SpringBean) { - ((SpringBean)to).getName().undefine(); + private static void copyBean(DomSpringBean from, DomElement parent) { + DomCollectionChildDescription description = (DomCollectionChildDescription) from.getChildDescription(); + DomGenericInfo info = parent.getGenericInfo(); + String name = description.getXmlElementName(); + String namespaceKey = description.getXmlName().getNamespaceKey(); + DomSpringBean to; + DomCollectionChildDescription targetDescription = info.getCollectionChildDescription(name, namespaceKey); + if (targetDescription != null) { + to = (DomSpringBean) targetDescription.addValue(parent); + } + else { + DomFixedChildDescription fixedDescr = info.getFixedChildDescription(name, namespaceKey); + assert fixedDescr != null; + to = (DomSpringBean) fixedDescr.getValues(parent).get(0); + } + + to.copyFrom(from); + to.getId().undefine(); + if (to instanceof SpringBean springBean) { + springBean.getName().undefine(); + } } - } - @Nonnull - @Override - public Language getLanguage() { - return XMLLanguage.INSTANCE; - } + @Nonnull + @Override + public Language getLanguage() { + return XMLLanguage.INSTANCE; + } }