Check QASuggestions component in https://github.com/Talend/component-runtime-qa/tree/master/components/qa/src/main/java/org/talend/components/qa/actions
It has empty QASuggestionsDatastore class
https://github.com/Talend/component-runtime-qa/blob/master/components/qa/src/main/java/org/talend/components/qa/actions/QASuggestionsDatastore.java
However, it is used as parameter of Suggestions method:
https://github.com/Talend/component-runtime-qa/blob/master/components/qa/src/main/java/org/talend/components/qa/actions/QASuggestionsDataset.java#L64-L67
https://github.com/Talend/component-runtime-qa/blob/master/components/qa/src/main/java/org/talend/components/qa/actions/QASuggestionsService.java#L30-L41
When I check this component on component-form-core, I got following exception:
[ERROR] java.lang.IllegalArgumentException: No resolved parameters for conf.basedOnComplex in QA/suggestions/basedOnComplex java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: No resolved parameters for conf.basedOnComplex in QA/suggestions/basedOnComplex at java.util.concurrent.CompletableFuture.encodeThrowable (CompletableFuture.java:273) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:991) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.widget.SuggestionWidgetConverter.convert (SuggestionWidgetConverter.java:40) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$null$7 (UiSchemaConverter.java:155) at java.util.Optional.orElseGet (Optional.java:267) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$convert$8 (UiSchemaConverter.java:82) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:981) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.convert (UiSchemaConverter.java:77) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.lambda$createLayout$13 (GridLayoutWidgetConverter.java:135) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.Spliterators$ArraySpliterator.forEachRemaining (Spliterators.java:948) at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:471) at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:545) at java.util.stream.AbstractPipeline.evaluateToArrayNode (AbstractPipeline.java:260) at java.util.stream.ReferencePipeline.toArray (ReferencePipeline.java:438) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.createLayout (GridLayoutWidgetConverter.java:165) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.lambda$convert$7 (GridLayoutWidgetConverter.java:70) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:981) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.convert (GridLayoutWidgetConverter.java:66) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$null$7 (UiSchemaConverter.java:107) at java.util.Optional.orElseGet (Optional.java:267) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$convert$8 (UiSchemaConverter.java:82) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:981) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.convert (UiSchemaConverter.java:77) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:175) at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:175) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining (ArrayList.java:1382) at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:471) at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:545) at java.util.stream.AbstractPipeline.evaluateToArrayNode (AbstractPipeline.java:260) at java.util.stream.ReferencePipeline.toArray (ReferencePipeline.java:438) at org.talend.sdk.component.form.api.UiSpecService.convert (UiSpecService.java:171) at org.talend.sdk.component.form.api.UiSpecService.convert (UiSpecService.java:130) at org.talend.sdk.component.tools.webapp.WebAppComponentProxy.lambda$getDetail$4 (WebAppComponentProxy.java:128) at java.util.concurrent.CompletableFuture.uniCompose (CompletableFuture.java:952) at java.util.concurrent.CompletableFuture$UniCompose.tryFire (CompletableFuture.java:926) at java.util.concurrent.CompletableFuture.postComplete (CompletableFuture.java:474) at java.util.concurrent.CompletableFuture$AsyncSupply.run (CompletableFuture.java:1595) at java.util.concurrent.CompletableFuture$AsyncSupply.exec (CompletableFuture.java:1582) at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask (ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java:157) Caused by: java.lang.IllegalArgumentException: No resolved parameters for conf.basedOnComplex in QA/suggestions/basedOnComplex at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.lambda$null$9 (AbstractWidgetConverter.java:121) at java.util.stream.ReferencePipeline$7$1.accept (ReferencePipeline.java:267) at java.util.Spliterators$ArraySpliterator.forEachRemaining (Spliterators.java:948) at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential (ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect (ReferencePipeline.java:499) at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.lambda$toParams$10 (AbstractWidgetConverter.java:124) at java.util.Optional.map (Optional.java:215) at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.toParams (AbstractWidgetConverter.java:101) at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.toTrigger (AbstractWidgetConverter.java:94) at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.lambda$createSuggestionTriggers$14 (AbstractWidgetConverter.java:160) at java.util.Optional.map (Optional.java:215) at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.createSuggestionTriggers (AbstractWidgetConverter.java:160) at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.newOrphanSchema (AbstractWidgetConverter.java:144) at org.talend.sdk.component.form.internal.converter.impl.widget.AbstractWidgetConverter.newUiSchema (AbstractWidgetConverter.java:128) at org.talend.sdk.component.form.internal.converter.impl.widget.SuggestionWidgetConverter.lambda$convert$0 (SuggestionWidgetConverter.java:41) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:981) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.widget.SuggestionWidgetConverter.convert (SuggestionWidgetConverter.java:40) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$null$7 (UiSchemaConverter.java:155) at java.util.Optional.orElseGet (Optional.java:267) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$convert$8 (UiSchemaConverter.java:82) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:981) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.convert (UiSchemaConverter.java:77) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.lambda$createLayout$13 (GridLayoutWidgetConverter.java:135) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.Spliterators$ArraySpliterator.forEachRemaining (Spliterators.java:948) at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:471) at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:545) at java.util.stream.AbstractPipeline.evaluateToArrayNode (AbstractPipeline.java:260) at java.util.stream.ReferencePipeline.toArray (ReferencePipeline.java:438) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.createLayout (GridLayoutWidgetConverter.java:165) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.lambda$convert$7 (GridLayoutWidgetConverter.java:70) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:981) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.widget.GridLayoutWidgetConverter.convert (GridLayoutWidgetConverter.java:66) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$null$7 (UiSchemaConverter.java:107) at java.util.Optional.orElseGet (Optional.java:267) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.lambda$convert$8 (UiSchemaConverter.java:82) at java.util.concurrent.CompletableFuture.uniComposeStage (CompletableFuture.java:981) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:2124) at java.util.concurrent.CompletableFuture.thenCompose (CompletableFuture.java:110) at org.talend.sdk.component.form.internal.converter.impl.UiSchemaConverter.convert (UiSchemaConverter.java:77) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$3$1.accept (ReferencePipeline.java:193) at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:175) at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:175) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining (ArrayList.java:1382) at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:471) at java.util.stream.AbstractPipeline.evaluate (AbstractPipeline.java:545) at java.util.stream.AbstractPipeline.evaluateToArrayNode (AbstractPipeline.java:260) at java.util.stream.ReferencePipeline.toArray (ReferencePipeline.java:438) at org.talend.sdk.component.form.api.UiSpecService.convert (UiSpecService.java:171) at org.talend.sdk.component.form.api.UiSpecService.convert (UiSpecService.java:130) at org.talend.sdk.component.tools.webapp.WebAppComponentProxy.lambda$getDetail$4 (WebAppComponentProxy.java:128) at java.util.concurrent.CompletableFuture.uniCompose (CompletableFuture.java:952) at java.util.concurrent.CompletableFuture$UniCompose.tryFire (CompletableFuture.java:926) at java.util.concurrent.CompletableFuture.postComplete (CompletableFuture.java:474) at java.util.concurrent.CompletableFuture$AsyncSupply.run (CompletableFuture.java:1595) at java.util.concurrent.CompletableFuture$AsyncSupply.exec (CompletableFuture.java:1582) at java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask (ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java:157)
I use following command from qa component directory
mvnDebug talend-component:web