inputValue(input 위치에서 찾은 데이터)의 row count 만큼 roof 돌며 각 아이템에 대하여 하위 filter 또는 filterTerms 처리
filter의 type 에 따라 filter를 hierarchy 하게 구성 가능
type =
conjunction
→ 하위 filterstype =
filter
→ filterTerms
conjunction 에 따라 filters 또는 filterTerms를 AND, OR 논리 연산한다.
isNot 이
true
이면 논리연산값을 부정처리한다.
Flow Component
output 위치에 논리연산값 반환 후 next
filter start
next |
Component inner filter
논리연산값에 따라 현재 flow Component 실행여부 판단
flowComponent start → mapper, reducer, trigger, switch, switchTerms, validation
next |
SAMPLE Flow Component
[ { "typeId": "filter", "id": 97734146, "name": "TEST filter", "type": "conjunction", "input": "context.cartProductList", "isNot": false, "conjunction": "and", "filters": [ { "typeId": "filter", "id": 977341461, "name": "TEST subFilter 1", "type": "filter", "isNot": false, "conjunction": "or", "filterTerms": [ { "typeId": "filterTerms", "id": 555, "field": "existOption", "isNot": true, "method": "equals", "value": "true" }, { "typeId": "filterTerms", "id": 554, "field": "existOption", "isNot": false, "method": "equals", "value": "true" } ] }, { "typeId": "filter", "id": 977341462, "name": "TEST subFilter 2", "type": "filter", "isNot": false, "conjunction": "and", "filterTerms": [ { "typeId": "filterTerms", "id": 556, "field": "existOption", "isNot": true, "method": "equals", "value": "true" } ] } ], "output": "filterCartProducts" } ]
SAMPLE Component inner filter
{ "typeId": "trigger", "id": 685630802, "name": "create Cart", "input": "cart", "output": "cart.node", "filter": { "typeId": "filter", "id": null, "name": "cart Id 존재 여부", "type": "filter", "isNot": false, "conjunction": "and", "filterTerms": [ { "typeId": "filterTerms", "id": null, "field": "id", "isNot": true, "method": "exist", "value": "" } ] }, "processEvent": { "typeId": "processEvent", "id" : "createCart", "name": "장바구니 생성", "tid": "cart", "targetEvent": "create" }, "next": 15054316 }