The CSV to RPM enhancement loads CSV-formatted data into RPM processes.
The configuration defines behaviour for each column of the expected CSV file. Data can be altered, using "column converters", assigned to CSV columns.
Some examples of such conversion are:
- searching for RPM entity by its name, taken from CSV data, and populating destination RPM field with a reference to the found entity;
- matching a regular expression pattern and extracting parts of it;
- processing delimited data;
- data hashing.
Single data row can be converted into several related forms.
There are 2 implementations of the source of CSV data.
1. CSV data from the web. It is implemented as a REST web service listening for POST requests with the CSV data in the request body. A generic REST client (CURL, for example) can be used on the client side for sending files to the server.
2. A file system listener, keeping track of file changes in the specific directory. Every time some file is changed or created in the directory the listener reads the file contents and sends them to the core component.