Customer Portal

Lookup and ExtFilter

Comments 8

  • Avatar
    avackova
    0
    Comment actions Permalink
    Hello Johannes,
    AspellLookupTable and PersistentLookupTable belong to commercial plug-in, that is embedded in CloverDesigner, but is not available with free CloverETL engine. SimpleLookupTable, DBLookupTable and RangeLookupTable work with CloverDesigner, as well as with free CloverETL engine.
  • Avatar
    jpankoke
    0
    Comment actions Permalink

    Hello Johannes,
    AspellLookupTable and PersistentLookupTable belong to commercial plug-in, that is embedded in CloverDesigner, but is not available with free CloverETL engine. SimpleLookupTable, DBLookupTable and RangeLookupTable work with CloverDesigner, as well as with free CloverETL engine.

    "avackova"


    Yes. I was aware of the fact that some objects are just working in the commercial engine. I have to admit that my first post was not as thorough as it should have been.

    Clearification: I am using a SimpleLookupTable for some values. I would like to reuse these values within an ExtFilter object. So I just used the lookup function in the filter expression. As I said this works fine when running the graph from within the designer but fails when using the open source engine.

    Cheers

    Johannes
  • Avatar
    avackova
    0
    Comment actions Permalink
    Are the plug-ins loaded, when you run the graph from the command line? (-plugins switch - see Running CloverETL for more information). What is the error message?
  • Avatar
    jpankoke
    0
    Comment actions Permalink

    Are the plug-ins loaded, when you run the graph from the command line? (-plugins switch - see Running CloverETL for more information). What is the error message?

    "avackova"


    Yes. All plug-ins are loaded. Including the ExtFilter. Just as a clarification: The whole graph is running just fine if I strip the lookup function from the ExtFilter and use some kind of standard expression instead. So it can't be the ExtFilter-Object that failes in general.
  • Avatar
    avackova
    0
    Comment actions Permalink
    Can you show your graph? I suppose, that you use the function incorrectly.
  • Avatar
    jpankoke
    0
    Comment actions Permalink
    Sure. The whole graph is quite long so I am only posting the ExtFilter-Node and the connected edges:


    <Node enabled="enabled" guiHeight="0" guiName="EB / VKZ filtern" guiWidth="0" guiX="25" guiY="728" id="EXT_FILTER0" type="EXT_FILTER">
    <attr name="filterExpression"><![CDATA[($0.KontoSoll.in.(split(lookup(LookupTable1, "1").AccountRangeList,",")))
    OR
    ($0.KontoHaben.in.(split(lookup(LookupTable1, "1").AccountRangeList,",")))





    ]]></attr>
    </Node>

    <Edge fromNode="EXT_FILTER0:0" guiBendpoints="" id="Edge43" inPort="Port 0 (in)" metadata="Metadata3" outPort="Port 0 (accepted)" toNode="REFORMAT0:0"/>
    <Edge fromNode="EXT_FILTER0:1" guiBendpoints="" id="Edge99" inPort="Port 0 (in)" metadata="Metadata3" outPort="Port 1 (rejected)" toNode="REFORMAT9:0"/>


    This works perfectly when run from within the CloverDesigner but fails when run externaly with the engine. It fails with the following error message:

    Node EXT_FILTER0 finished with status: ERROR caused by: null
    at org.jetel.graph.runtime.WatchDog.watch(WatchDog.java:322)
    at org.jetel.graph.runtime.WatchDog.executePhase(WatchDog.java:451)
    at org.jetel.graph.runtime.WatchDog.call(WatchDog.java:179)
    at org.jetel.graph.runtime.WatchDog.call(WatchDog.java:62)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    By the way: This call of the lookup-funtion works perfectly (with the Designer and the engine) when used in another component (e.g. Reformat).
  • Avatar
    avackova
    0
    Comment actions Permalink
    I can't reproduce the issue. Can you send whole graph log?
  • Avatar
    jpankoke
    0
    Comment actions Permalink
    It seemed to be a version issue or my colleague just messed up this one copy of the engine. Anyways it runs fine on the 2.8.1 LGPL engine. Thank you for your help!

Please sign in to leave a comment.