[ECOMMERCE-154] Should prevent NPE for unconfig implementation class in definition Created: 01/Mar/19 Updated: 11/Mar/19 Resolved: 11/Mar/19 |
|
| Status: | Closed |
| Project: | E-commerce |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 |
| Type: | Bug | Priority: | Neutral |
| Reporter: | Oanh Thai Hoang | Assignee: | Evzen Fochr |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Template: |
|
| Acceptance criteria: |
Empty
|
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
| Epic Link: | Access the product catalogs |
| Sprint: | Add-Ons 7 |
| Story Points: | 3 |
| Description |
|
Step to reproduce:
Example:
class: info.magnolia.ecommerce.api.definition.DefaultEcommerceDefinition
type: Magento
implementation:
products:
all: info.magnolia.ecommerce.provider.magento.service.products.All
byId: info.magnolia.ecommerce.provider.magento.service.products.ById
byCategoryId: info.magnolia.ecommerce.provider.magento.service.products.ByCategoryId
categories:
all: info.magnolia.ecommerce.provider.magento.service.categories.All
byId: info.magnolia.ecommerce.provider.magento.service.categories.ById
# byParentCategoryId: info.magnolia.ecommerce.provider.magento.service.categories.ByParentCategoryId
byProductId: info.magnolia.ecommerce.provider.magento.service.categories.ByProductId
connections:
connectionb:
authUrl: http://demo-acm-2.bird.eu
baseUrl: http://demo-acm-2.bird.eu
enabled: false
credentials:
username: demo
password: demo123
Received NPE log: 2019-03-01 09:28:04,400 ERROR info.magnolia.dirwatch.DirectoryWatcher : Exception when executing callback for test2.yaml: Null pointer2019-03-01 09:28:04,400 ERROR info.magnolia.dirwatch.DirectoryWatcher : Exception when executing callback for test2.yaml: Null pointerjava.lang.NullPointerException: null at java.lang.Class.forName0(Native Method) ~[?:1.8.0_181] at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_181] at info.magnolia.ecommerce.api.EcommerceConnectionProvider.initialiseConnection(EcommerceConnectionProvider.java:122) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at info.magnolia.ecommerce.api.EcommerceConnectionProvider.lambda$initialiseAllConnections$1(EcommerceConnectionProvider.java:90) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_181] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_181] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_181] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_181] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_181] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_181] at info.magnolia.ecommerce.api.EcommerceConnectionProvider.initialiseAllConnections(EcommerceConnectionProvider.java:90) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_181] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_181] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_181] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_181] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_181] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_181] at info.magnolia.ecommerce.api.EcommerceConnectionProvider.lambda$new$0(EcommerceConnectionProvider.java:80) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at info.magnolia.ecommerce.api.EcommerceDefinitionRegistry.lambda$sendModificationEvent$0(EcommerceDefinitionRegistry.java:80) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_181] at info.magnolia.ecommerce.api.EcommerceDefinitionRegistry.sendModificationEvent(EcommerceDefinitionRegistry.java:80) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at info.magnolia.ecommerce.api.EcommerceDefinitionRegistry.register(EcommerceDefinitionRegistry.java:69) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at info.magnolia.config.source.yaml.YamlConfigurationSource.loadAndRegister(YamlConfigurationSource.java:142) ~[magnolia-configuration-6.0.1-SNAPSHOT.jar:?] at info.magnolia.config.source.yaml.AbstractFileResourceConfigurationSource.lambda$start$2(AbstractFileResourceConfigurationSource.java:164) ~[magnolia-configuration-6.0.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.layered.LayeredResourceOrigin$RelayingChangeHandler.onResourceChanged(LayeredResourceOrigin.java:285) ~[magnolia-resource-loader-6.0.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.AbstractResourceOrigin.dispatchResourceChange(AbstractResourceOrigin.java:132) ~[magnolia-resource-loader-6.0.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.file.FileWatcherCallback.dispatchResourceChange(FileWatcherCallback.java:119) ~[magnolia-resource-loader-6.0.1-SNAPSHOT.jar:?] at info.magnolia.resourceloader.file.FileWatcherCallback.modified(FileWatcherCallback.java:90) ~[magnolia-resource-loader-6.0.1-SNAPSHOT.jar:?] at info.magnolia.dirwatch.DirectoryWatcher.processEvent(DirectoryWatcher.java:312) ~[magnolia-resource-loader-6.0.1-SNAPSHOT.jar:?] at info.magnolia.dirwatch.DirectoryWatcher.run(DirectoryWatcher.java:256) [magnolia-resource-loader-6.0.1-SNAPSHOT.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_181] at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) [?:1.8.0_181] at java.util.concurrent.FutureTask.run(FutureTask.java) [?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Or when starting tomcat: ecommerce-api module can't start 2019-03-01 09:33:41,541 ERROR info.magnolia.module.ModuleManagerImpl : Can't start module ecommerce-api2019-03-01 09:33:41,541 ERROR info.magnolia.module.ModuleManagerImpl : Can't start module ecommerce-apijava.lang.NullPointerException: null at java.lang.Class.forName0(Native Method) ~[?:1.8.0_181] at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_181] at info.magnolia.ecommerce.api.EcommerceConnectionProvider.initialiseConnection(EcommerceConnectionProvider.java:122) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at info.magnolia.ecommerce.api.EcommerceConnectionProvider.lambda$initialiseAllConnections$1(EcommerceConnectionProvider.java:90) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[?:1.8.0_181] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_181] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_181] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_181] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_181] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_181] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_181] at info.magnolia.ecommerce.api.EcommerceConnectionProvider.initialiseAllConnections(EcommerceConnectionProvider.java:90) ~[magnolia-ecommerce-api-1.0-SNAPSHOT.jar:?]
|