Не удается отфильтровать имена файлов в Talend Open Studio, используя регулярные выражения - PullRequest
1 голос
/ 18 сентября 2009

Этот вопрос касается кода Talend Open Studio.

Я использую компонент tSendmail в качестве дочернего задания, которое необходимо запустить при сбое родительского задания (tFtpPut). Однако в tFtpPut имена файлов фильтруются по маскам имен файлов (например, он будет загружать файл с именем Eedoh, если я добавлю Ee * в качестве маски), но в tSendMail это не так.

Я понимаю, что tFtpPut использует специальные символы из файловой системы для создания масок имен файлов, и tSendMail должен использовать регулярное выражение Java. Проблема в том, что (как я видел в исходном коде) функция List.add (String) используется для добавления имен файлов, поэтому я не могу использовать регулярное выражение в качестве параметра в функции .add.

Итак, мне нужен способ загрузить все файлы с именами, которые соответствуют регулярному выражению.

Кстати, я попытался изменить исходный код (попытался перебрать всю папку и добавить все файлы, имена которых соответствуют регулярному выражению), но это не помогло, ошибка возникла где-то еще, и я не смог отследить выпуск.

1 Ответ

0 голосов
/ 12 марта 2010

Для этой проблемы я бы создал фильтр regexpr перед компонентами (FTP и sendMail).

Это очень просто с компонентом tFilterRow в «расширенном режиме». Ваше состояние фильтра inputrow.filenamefield.matches("java_regexpr").

Этот внешний фильтр одинаков для обоих компонентов, и вам больше не нужно использовать специальный фильтр компонента FTP.

...