сравнить со значениями файла свойств с локальной переменной в dataweave - PullRequest
0 голосов
/ 08 июля 2020

В приведенном ниже коде dataweave у меня не работает сравнение.

Ключ и значение файла свойств, как показано ниже: domain=Sales Domain, Retail Domain

Код Dataweave:

%dw 2.0
output application/json
var test = 'Sales Domain'
---
{
result: if(upper(test) != (upper(Mule::p('domain'))))  "Not equal" else ("equal")
}

Не могли бы вы помочь с этим?

1 Ответ

1 голос
/ 08 июля 2020

Домен свойств содержит строку Sales Domain, Retail Domain. Сравнение с переменной test, содержащей строку Sales Domain. Очевидно, что обе строки разные, даже с преобразованием в верхний регистр (upper()).

Если вы хотите проверить, содержит ли одна строка другую, вы можете вместо этого использовать функцию contains().

В DataWeave нет оператора неравенства для сравнения значений. Вы можете использовать оператор not, чтобы отрицать результат выражения.

Например:

%dw 2.0
output application/json
var test = 'Sales Domain'
---
{
     result: if(upper(Mule::p('domain')) contains upper(test)) "contains" else "not contains"
}
...