Pentaho DI
March 2, 2023

Pentaho DI. Преобразование строки к URL.

Это может понадобиться при выполнении запроса к Rest API. Например, какой-то из параметров запроса может быть на кириллице. Строка "Это тестовая строка" должна быть преобразована к "%D0%AD%D1%82%D0%BE+%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%B0%D1%8F+%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0"

В Pentaho Data Integration для этого можно использовать степы Modified JavaScript value и User defined Java expression.

Вот трансформация, которая использует оба эти степа:

Трансформация

Результат её выполнения виден в логах:

Логи

Далее на картинках реализация преобразования, выполненная каждым из степов, всё понятно без комментариев. В обоих случаях хватило одной строки кода.

Javascript.

JavaScript value step.

Java.

User defined Java expression step.

Видно, что разница в энкодинге есть: степ udje заменяет пробел на символ "+", js - на "%20". Проверил: вариант с реализацией через udje - запрос отработал с успехом. Через js тоже ок.