Uploaded image for project: 'Talend Component Kit'
  1. Talend Component Kit
  2. TCOMP-963

AbstractWidgetConverter in component-form-core throws IllegalArgumentException in case of empty Configuration class used as Action parameter

Apply templateInsert Lucidchart DiagramXMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • None
    • None
    • None
    • All
    • Small

      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

            rmannibucau Romain Manni-Bucau
            igonchar Ivan Gonchar
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: