Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • required : 필수 여부

  • idable : 아이디 여부

  • labelable : Label 여부

  • treeable : REFERENCE일 경우 트리형태 지원 여부

  • indexable : 인덱싱 여부

  • analyzer : 인덱싱을 하는 경우 적용할 Analyzer 지정

    • simple : Lowercase 만 적용

    • standard : Lowercase와 Stop필터 적용

    • code : Lowercase 적용하고, 공백이나 ‘,’ 문자로 토큰

    • cjk : Lowercase, CJKBigram, StopFilter 적용

  • referenceType : valueType이 REFERENCE 또는 REFERENCED일 경우 참조할 노드 타입 지정

  • referenceValue : 참조 노드 타입의 프로퍼티 타입 지정

  • code : CODE 형에서 사용할 코드 값

  • validationTypes : Validation 체크 값

  • fileHandler : 파일 저장에 사용할 저장소 지정

  1. 정의

  1. NodeType에 종속되는 스키마이고 NodeType이 가지게 되는 데이터 속성들의 유형을 정의한다.

  2. 쉽게 말해 RDBMS(오라클, MySql 등) 의 테이블 컬럼 개념이라고 볼 수 있다.

  3. 솔루션 API 호출 시 valueType에 따라 JSON 의 값의 형식이 달라진다.

  4. 솔루션 관리자 UI 구성 시 valueType에 따라 Presentational Component 의 사용이 달라진다.

  1. 속성정의


속성

필수

기본값

설명

pid

필수


  1. PropertyType의 ID 이므로 NodeType 에 속한 상태에서 중복되어서는 안된다.

  2. 본 프로젝트에서는 테이블 컬럼명과 동일하게 정의한다.

name

필수


  1. PropertyType의 명

valueType

필수


  1. PropertyType 의 속성타입

“STRING” : 문자형 데이터 타입으로 사용할 때 정의한다. MySql의 VARCHAR 개념이다.

“INT” : 숫지형 데이터 타입으로 사용할 때 정의한다. MySql의 INT 개념이다.

“LONG” : 숫지형 데이터 타입으로 사용할 때 정의한다. MySql의 BIGINT 개념이다.

“DOUBLE” : 숫자형 데이터 타입으로 사용할 때 정의한다. MySql의 DOUBLE 개념이다.

“BOOLEAN” : 불리언 데이터 타입으로 사용할 때 정의한다.

“DATE” : 날짜형 데이터 타입으로 사용할 때 정의한다. MySql의 DATE 개념이다.

“DATETIME” : 날짜형 데이터 타입으로 사용할 때 정의한다. MySql의 DATE 개념이다.

“MONTH” : 문자형 데이터 타입으로 사용할 때 정의한다.

“TEXT” : 문자형 데이터 타입으로 사용할 때 정의한다. MySql의 TEXT 개념이다.

“FILE” : 파일 데이터 타입으로 사용할 때 정의한다.

“IMAGE” : 이미지 파일 데이터 타입으로 사용할 때 정의한다.

“CODE” : 코드형 데이터 타입으로 사용할 때 정의한다.

“CODES” : 여러 개의 코드형 데이터 타입으로 사용할 때 정의한다. 값은 , 로 구분되어 저장된다.

“REFERENCE” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:1 관계를 가지고, 연관 데이터의 id 값을 저장한다.

“REFERENCED” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다.

“PARENT” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:1 관계를 가지고, 연관 데이터의 id 값을 저장한다.

“CHILDREN” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다.

“REFERENCES” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다. 값은 연관 데이터의 id값을 , 로 구분되어 저장된다.

“PART” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:1 관계를 가진고, 연관 데이터의 id 값을 저장한다.

“PARTS” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다.

값은 연관 데이터의 id값을 , 로 구분되어 저장된다.

“OBJECT” : JSON String 으로 값을 저장하고 API 출력시 JSON 형태로 출력한다.

“JSON” : JSON String 으로 값을 저장하고 API 출력시 JSON String 형태로 출력한다.

defaultValue



  1. 기본값 정의

defaultComponent



  1. 솔루션 관리자 UI 구성 시 바인딩 하게 될 Presentational Component

required


false

  1. 필수 여부

true : 사용

false : 미사용

idable


false

  1. ID (key) 여부

true : 사용

false : 미사용

labelable


false

  1. 라벨 여부

  2. labelable이 true 인경우 해당 데이터는 명칭이 된다. 예를 들면 API 호출시 valueType이 REFERENCE 인 데이터는

{

“reference”: { “value”: “1”, “label”: “사용가능” }

}

이런식으로 출력되는데 labelable이 true 인경우 해당 값이 “label” 에 출력된다.

true : 사용

false : 미사용

treeable


false

  1. 트리 기능 여부

  2. valueType이 REFERENCE, PARENT 인 경우에만 적용된다.

  3. 현재 NodeType이 계층구조를 가지고 있을 때 부모에 해당하는 PropertyType이면 true 로 한다.

true : 사용

false : 미사용

i18n


false

  1. 다국어 기능 여부

true : 사용

false : 미사용

indexable


false

  1. 인덱싱 여부

  2. NodeType의 repositoryType 이 “node” 인 경우 Infinispan 캐쉬 저장소를 사용하는데 indexable이 true인 경우에만 해당 데이터를 검색 할 수 있다.

  3. indexable이 true인 경우 솔루션 관리자 UI 구성 시 검색영역을 구성 할 수있다.

true : 사용

false : 미사용

analyzer



  1. NodeType의 repositoryType이 “node”인 경우에만 적용된다.

  2. indexable이 true 인 경우에만 적용된다.

  3. Infinispan 캐쉬 저장소를 사용 할 경우 Lucene 을 사용하는데 Lucene의 analyzer를 지정할수있다.

“simple” : 일반적인 like 검색이 가능해지고 보통 valueType이 STRING, TEXT 인 문자형 데이터일 때 사용한다.

“code” : 일반적인 = 검색이 가능해지고 보통 valueType이 PARENT, REFERENCE, REFERENCES, CODE 인 코드, 연관 데이터일 때 사용한다.

referenceType



  1. valueType이 REFERENCE, REFERENCES, REFERENCED, PARENT, CHILDREN, PART, PARTS 인 경우에만 적용된다.

  2. 연관된 NodeType의 tid를 정의한다.

referenceValue



  1. valueType이 REFERENCE, REFERENCES, REFERENCED, PARENT, CHILDREN, PART, PARTS 인 경우에만 적용된다.

  2. referenceType에 정의된 NodeType의 PropertyType의 pid를 정의 할 수있다.

  3. 정의 하지 않을시 referenceType에 정의된 NodeType의 id와 연관 관계를 맺는다.

filter



  1. valueType이 REFERENCE, REFERENCES, REFERENCED, PARENT, CHILDREN, PART, PARTS 인 경우에만 적용된다.

  2. code API 사용시 적용될 파라미터 쿼리를 정의할 수 있다.

(예) uppderCode_matching=useYn&count=1

code



  1. valueType이 CODE, CODES 인 경우에만 적용된다.

  2. 사용될 코드형 데이터를 JSON Array 형태로 정의 할 수 있다.

(예) [ { “value”: “simple”, “label”: “Simple Analyzer” } ]

idType



  1. idable이 true인 경우에만 적용된다.

  2. id의 자동 발급 기능을 정의 할 수 있다.

“autoIncrement”: 시퀀스 발급 형태로 valueType이 숫자형 이어야한다.

“UUID”: Java 의 UUID를 사용한다.

“hash”: Java 의 UUID의 hashCode를 사용한다.

orderNo



  1. PropertyType 들의 Sorting 순서이다.

  2. 솔루션 관리자 UI 구성시 목록의 헤더, 폼의 컴포넌트 배치에 관련되어있다.

columnId



  1. NodeType의 tableName이 정의된 경우에만 적용된다.

  2. RDBMS 테이블의 컬럼명과 바인딩한다.

  1. 예시

  1. JSON

{

“typeId”: “nodeType”,

“parentId”: “root”,

“tid:”: “ctsBasAptM”,

“repositoryType”: “node”,

“typeName”: “공항기초”,

“historyable”: true,

“propertyTypes”: [

{

“pid”: “comAreaCdCId”,

“name”: “지역”,

“valueType”: “REFERECES”,

“idable”: false,

“labelable”: false,

“indexable”: true,

“analyzer”: “code”,

“required”: false,

“referenceType”: “comAreaCdC”,

“referenceValue”: “”,

“filter”: “useYn_matching=y”,

“orderNo”: 10

},

{

“pid”: “id”,

“name”: “공항코드”,

“valueType”: “STRING”,

“idable”: true,

“labelable”: false,

“indexable”: true,

“analyzer”: “code”,

“required”: true,

“orderNo”: 20

},

{

“pid”: “aptNm”,

“name”: “공항명”,

“valueType”: “STRING”,

“idable”: false,

“labelable”: true,

“indexable”: true,

“analyzer”: “simple”,

“required”: true,

“orderNo”: 30

}

],

“events: []

}