FILTER
inputValue(input 위치에서 찾은 데이터)의 row count 만큼 roof 돌며 각 아이템에 대하여 하위 filter 또는 filterTerms 처리 후 output에 반환
filter의 type 에 따라 filter를 hierarchy 하게 구성 가능
type =
conjunction
→ 하위 filterstype =
filter
→ filterTerms
conjunction 에 따라 filters 또는 filterTerms를 AND, OR 논리 연산한다.
isNot 이
true
이면 논리연산값을 부정처리한다.
Define field
Filter
ID | Description |
---|---|
id | query flow component id |
name | 이름 |
type |
|
input | flow Component 처리 기준 데이터 위치 |
isNot | 부정연산 |
conjunction | 논리연산 |
output | flow Component 처리 결과 위치 |
filters | type = conjunction 인경우 하위 filter 설정 |
filterTerms | type = filter 인경우 하위 filterTerms 설정 |
next | 다음 flow Component id |
Filter Terms
ID | Description |
---|---|
id | filter terms id |
field | 비교연산 기준 데이터 위치
|
isNot | 부정연산 |
method | 관계 연산자 (아래 상세 설명) |
value | 조건값 |
Filter Terms Method
ID | Description |
---|---|
equals | 두 CharSequence를 비교하여 동일한 문자 시퀀스를 나타내는지 확인 |
contains | CharSequence에 검색 CharSequence가 포함되어 있는지 확인 |
exist | 존재 여부 확인 |
startWith | CharSequence가 지정된 접두사로 시작하는지 확인 |
endsWith | CharSequence가 지정된 접미사로 끝나는 지 확인 |
above | 숫자,날짜 비교 |
below | 숫자,날짜 비교 |
fromto | 숫자,날짜 기간 내 포함 여부 |
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
}