Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -506,9 +506,10 @@ class SpringSearchService(private val project: Project) {
byTypeBeanMethods = psiMethods + psiMethodsRegistrar
}

val beanQualifiedName = beanPsiClass?.qualifiedName
val byTypeComponents = getStaticBeans(module)
.filter { bean ->
bean.psiClass.qualifiedName?.let { InheritanceUtil.isInheritor(beanPsiClass, it) } == true
beanQualifiedName != null && InheritanceUtil.isInheritor(bean.psiClass, beanQualifiedName)
}
.map { it.psiClass } +
getPsiClassesByComponents(module, sourcePsiType, beanPsiType, byTypeBeanMethods.isEmpty()).toSet()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class SpringCoreAdditionalBeansDiscoverer : AdditionalBeansDiscoverer() {
getStaticBean(module, SpringCoreClasses.PROPERTY_RESOLVER, "propertyResolver"),
getStaticBean(module, SpringCoreClasses.CONVERSION_SERVICE, "conversionService"),
getStaticBean(module, SpringCoreClasses.APPLICATION_CONTEXT, "applicationContext"),
getStaticBean(module, SpringCoreClasses.RESOURCE_LOADER, "resourceLoader"),
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@

package com.explyt.spring.core.inspections.java

import com.explyt.spring.core.SpringCoreClasses
import com.explyt.spring.core.inspections.SpringBeanIncorrectAutowiringInspection
import com.explyt.spring.test.ExplytInspectionJavaTestCase
import com.explyt.spring.test.TestLibrary
import org.intellij.lang.annotations.Language
import org.jetbrains.kotlin.test.TestMetadata

class SpringBeanIncorrectAutowiringInspectionTest : ExplytInspectionJavaTestCase() {
Expand All @@ -29,6 +32,30 @@ class SpringBeanIncorrectAutowiringInspectionTest : ExplytInspectionJavaTestCase
TestLibrary.springBootTestAutoConfigure_3_1_1
)

override fun setUp() {
super.setUp()
myFixture.enableInspections(SpringBeanIncorrectAutowiringInspection::class.java)
}

@TestMetadata("autowired")
fun testAutowired() = doTest(com.explyt.spring.core.inspections.SpringBeanIncorrectAutowiringInspection())
fun testAutowired() = doTest(SpringBeanIncorrectAutowiringInspection())

fun testResourceLoader() {
@Language("java") val code = """

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.ResourceLoader;

@${SpringCoreClasses.COMPONENT}
public class DemoApplication {
@Autowired
ResourceLoader resourceLoader;
@Autowired
ApplicationContext context;
}
"""
myFixture.configureByText("DemoApplication.java", code.trimIndent())
myFixture.testHighlighting("DemoApplication.java")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@

package com.explyt.spring.core.inspections.kotlin

import com.explyt.spring.core.SpringCoreClasses
import com.explyt.spring.core.inspections.SpringBeanIncorrectAutowiringInspection
import com.explyt.spring.test.ExplytInspectionKotlinTestCase
import com.explyt.spring.test.TestLibrary
import org.intellij.lang.annotations.Language
import org.jetbrains.kotlin.test.TestMetadata

class SpringBeanIncorrectAutowiringInspectionTest : ExplytInspectionKotlinTestCase() {
Expand All @@ -30,6 +32,30 @@ class SpringBeanIncorrectAutowiringInspectionTest : ExplytInspectionKotlinTestCa
TestLibrary.springBootTestAutoConfigure_3_1_1
)

override fun setUp() {
super.setUp()
myFixture.enableInspections(SpringBeanIncorrectAutowiringInspection::class.java)
}

@TestMetadata("autowired")
fun testAutowired() = doTest(SpringBeanIncorrectAutowiringInspection())

fun testResourceLoader() {
@Language("kotlin") val code = """

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.ResourceLoader;

@${SpringCoreClasses.COMPONENT}
class DemoApplication {
@Autowired
var resourceLoader: ResourceLoader? = null
@Autowired
var context: ApplicationContext? = null
}
"""
myFixture.configureByText("DemoApplication.kt", code.trimIndent())
myFixture.testHighlighting("DemoApplication.kt")
}
}
Loading