File tree Expand file tree Collapse file tree 2 files changed +14
-9
lines changed
core/src/main/java/org/seedstack/spring/internal Expand file tree Collapse file tree 2 files changed +14
-9
lines changed Original file line number Diff line number Diff line change 88package org .seedstack .spring .internal ;
99
1010
11+ import com .google .inject .Module ;
1112import io .nuun .kernel .api .di .UnitModule ;
1213import io .nuun .kernel .api .plugin .PluginException ;
1314import io .nuun .kernel .core .internal .ModuleEmbedded ;
1718
1819class 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}
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments