Skip to content
This repository has been archived by the owner on Apr 14, 2023. It is now read-only.

Provide mechanism to inject custom generators and output interceptors

No due date 50% complete

We want users to be able to:

  • define their own custom generators. Eg if one of the banks wants their own special generator for valid bank account ids they should be able to implement an interface and inject their class into our code at runtime and reference it in the profile.json. Created task #1430 for this
  • intercept an output row and inject some post pr…

We want users to be able to:

  • define their own custom generators. Eg if one of the banks wants their own special generator for valid bank account ids they should be able to implement an interface and inject their class into our code at runtime and reference it in the profile.json. Created task #1430 for this
  • intercept an output row and inject some post processing. Created task #1458 for this

For custom generators need to:

  • Work out how we can use and integrate custom generators into the profile.json and the code - see how our other generators (eg ISIN) are used in the code and what needed ot be implemented so can get an idea of how custom generators can get integrated - may need to refactor ISIN etc so they all use a common approach and integrate into the code in same way
  • Define an interface that the custom generator needs to implement - i believe there could be a few methods need to implement - eg there could be a "negation" method we need to provide
  • work out how to inject a class/jar at runtime into our data helix code and how we can get hold of the class) - Clement has thought about this for the profiler so talk to him about how he envisioned injecting plug-in classifiers to the profiler
  • define an example custom generator and make sure can inject it and use it

For output interceptors need to:

  • define exactly where intercept it. As we can have multiple output formats we need to work out how we can change the output row before its formatted to csv/json format or decide if
  • think of the kinds of things want to do so can work out what interface want to provide
  • define interface and create plugin framework similar to what do for custom generators