Skip to content

Commit 2ce022c

Browse files
committed
Not using SpringDependencyInjectionProvider in plugin anymore
1 parent ee56638 commit 2ce022c

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

core/src/main/java/org/seedstack/spring/internal/SpringDependencyInjectionProvider.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package org.seedstack.spring.internal;
99

1010

11+
import com.google.inject.Module;
1112
import io.nuun.kernel.api.di.UnitModule;
1213
import io.nuun.kernel.api.plugin.PluginException;
1314
import io.nuun.kernel.core.internal.ModuleEmbedded;
@@ -17,24 +18,28 @@
1718

1819
class SpringDependencyInjectionProvider implements DependencyInjectionProvider {
1920

20-
@Override
21+
@Override
2122
public boolean canHandle(Class<?> injectionDefinition) {
2223
return ConfigurableListableBeanFactory.class.isAssignableFrom(injectionDefinition) || ConfigurableApplicationContext.class.isAssignableFrom(injectionDefinition);
2324
}
2425

2526
@Override
2627
public UnitModule convert(Object injectionDefinition) {
27-
if (injectionDefinition instanceof ConfigurableListableBeanFactory) {
28-
return ModuleEmbedded.wrap(new SpringModule((ConfigurableListableBeanFactory) injectionDefinition));
29-
} else if (injectionDefinition instanceof ConfigurableApplicationContext) {
30-
return ModuleEmbedded.wrap(new SpringModule(((ConfigurableApplicationContext) injectionDefinition).getBeanFactory()));
31-
} else {
32-
throw new PluginException("Only ConfigurableListableBeanFactory or ConfigurableApplicationContext types are handled");
33-
}
28+
return ModuleEmbedded.wrap(buildModuleFromSpringContext(injectionDefinition));
3429
}
3530

3631
@Override
3732
public Object kernelDIProvider() {
3833
return null;
3934
}
35+
36+
static Module buildModuleFromSpringContext(Object injectionDefinition) {
37+
if (injectionDefinition instanceof ConfigurableListableBeanFactory) {
38+
return new SpringModule((ConfigurableListableBeanFactory) injectionDefinition);
39+
} else if (injectionDefinition instanceof ConfigurableApplicationContext) {
40+
return new SpringModule(((ConfigurableApplicationContext) injectionDefinition).getBeanFactory());
41+
} else {
42+
throw new PluginException("Only ConfigurableListableBeanFactory or ConfigurableApplicationContext types are handled");
43+
}
44+
}
4045
}

core/src/main/java/org/seedstack/spring/internal/SpringPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public Collection<ClasspathScanRequest> classpathScanRequests() {
104104

105105
@Override
106106
public Object nativeUnitModule() {
107-
return globalApplicationContext;
107+
return SpringDependencyInjectionProvider.buildModuleFromSpringContext(globalApplicationContext);
108108
}
109109

110110
@Override

0 commit comments

Comments
 (0)