Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

  • inputValue(input 위치에서 찾은 데이터)의 row count 만큼 roof 돌며 각 아이템에 대하여 하위 filter 또는 filterTerms 처리 후 output에 반환

  • filter의 type 에 따라 filter를 hierarchy 하게 구성 가능

    • type = conjunction → 하위 filters

    • type = filter → filterTerms

  • conjunction 에 따라 filters 또는 filterTerms를 AND, OR 논리 연산한다.

  • isNot 이 true 이면 논리연산값을 부정처리한다.

 

Flow Component

output 위치에 논리연산값 반환 후 next

filter start

  • get value of "input" position (inputValue)

  • roof inputValue

    • if type = conjunction

      • roof filters

    • if type = filter

      • roof filterTerms

        • run each "terms"

        • get the value of the "method" processed "value" position (termsValue)

        • set "field" as the key, "termsValue" as the value

  • put the value of the "output" position

next

 

Component inner filter

논리연산값에 따라 현재 flow Component 실행여부 판단

flowComponent start

→ mapper, reducer, trigger, switch, switchTerms, validation

  • get value of "input" position (inputValue)

  • roof inputValue

    • filter exists

    • if type = conjunction

      • roof filters

    • if type = filter

      • roof filterTerms

        • run each "terms"

        • get the value of the "method" processed "value" position (termsValue)

        • set "field" as the key, "termsValue" as the value

    • The result of the final logical operation of "filter"

      • TRUE execute flowComponent

      • FALSE continue

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
}

 

  • No labels