init
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
## =====================================================================
|
||||
## AUTO IMPORTS SCANNER
|
||||
## type-mapping.csv + converters.csv 의 매칭 행에서 FQN 을 추출해
|
||||
## $extraImports 에 모은다. XxxBase 에서 import 로 emit.
|
||||
## - CSV 는 FQN 으로 작성, 짧은 이름 변환은 자동.
|
||||
## - java.lang.* 는 import 안 함.
|
||||
## Velocity 1.x 산술 미지원 → $foreach.index 사용.
|
||||
## =====================================================================
|
||||
#set( $extraImports = [] )##
|
||||
#foreach( $attribute in $entity.nonKeyAttributes )##
|
||||
#foreach( $row in $typeMapRows )##
|
||||
#if( $row.size() >= 2 && $row.get(0).trim().equals($attribute.databaseName) )##
|
||||
#set( $tStr = $row.get(1).trim() )##
|
||||
#set( $ltI = $tStr.indexOf("<") )##
|
||||
#if( $ltI >= 0 )#set( $bFqn = $tStr.substring(0, $ltI) )#else#set( $bFqn = $tStr )#end##
|
||||
#if( $bFqn.contains(".") && !$bFqn.startsWith("java.lang.") && !$extraImports.contains($bFqn) )##
|
||||
#set( $void = $extraImports.add($bFqn) )##
|
||||
#end##
|
||||
#if( $row.size() >= 3 )##
|
||||
#set( $aStr = $row.get(2).trim() )##
|
||||
#set( $tokens = $aStr.split("[^A-Za-z0-9_.]+") )##
|
||||
#foreach( $tok in $tokens )##
|
||||
#if( $tok.contains(".") )##
|
||||
#set( $segs = $tok.split("[.]") )##
|
||||
#set( $upIdx0 = -1 )##
|
||||
#foreach( $seg in $segs )##
|
||||
#if( $upIdx0 < 0 && $seg.length() > 0 )##
|
||||
#set( $c0 = $seg.substring(0,1) )##
|
||||
#if( !$c0.equals($c0.toLowerCase()) )#set( $upIdx0 = $foreach.index )#end##
|
||||
#end##
|
||||
#end##
|
||||
#if( $upIdx0 > 0 )##
|
||||
#set( $f = "" )##
|
||||
#foreach( $seg in $segs )##
|
||||
#if( $foreach.index == 0 )#set( $f = $seg )#elseif( $foreach.index <= $upIdx0 )#set( $f = "${f}.${seg}" )#end##
|
||||
#end##
|
||||
#if( !$f.startsWith("java.lang.") && !$extraImports.contains($f) )#set( $void = $extraImports.add($f) )#end##
|
||||
#end##
|
||||
#end##
|
||||
#end##
|
||||
#end##
|
||||
#end##
|
||||
#end##
|
||||
#foreach( $row in $convRows )##
|
||||
#if( $row.size() >= 3 && $row.get(0).trim().equals($attribute.databaseName) )##
|
||||
#set( $ct = $row.get(1).trim() )##
|
||||
#if( $ct.contains(".") && !$ct.startsWith("java.lang.") && !$extraImports.contains($ct) )#set( $void = $extraImports.add($ct) )#end##
|
||||
#set( $cc = $row.get(2).trim() )##
|
||||
#if( $cc.contains(".") && !$cc.startsWith("java.lang.") && !$extraImports.contains($cc) )#set( $void = $extraImports.add($cc) )#end##
|
||||
#end##
|
||||
#end##
|
||||
#if( $attribute.hasTag("javaType") )##
|
||||
#set( $jt = $attribute.tagValue("javaType") )##
|
||||
#set( $jtBase = $jt )##
|
||||
#set( $ltJ = $jt.indexOf("<") )##
|
||||
#if( $ltJ >= 0 )#set( $jtBase = $jt.substring(0, $ltJ) )#end##
|
||||
#if( $jtBase.contains(".") && !$jtBase.startsWith("java.lang.") && !$extraImports.contains($jtBase) )#set( $void = $extraImports.add($jtBase) )#end##
|
||||
#end##
|
||||
#if( $attribute.hasTag("converter") )##
|
||||
#set( $cv = $attribute.tagValue("converter") )##
|
||||
#if( $cv.contains(".") && !$cv.startsWith("java.lang.") && !$extraImports.contains($cv) )#set( $void = $extraImports.add($cv) )#end##
|
||||
#end##
|
||||
#end##
|
||||
@@ -0,0 +1,12 @@
|
||||
## =====================================================================
|
||||
## CONVERTER MAPPING LOADER
|
||||
## 외부 설정 파일 'converters.csv' 를 읽어 행 리스트($convRows)로 보관.
|
||||
## 형식(세미콜론 구분): DB컬럼명 ; enum타입FQN ; 컨버터FQN
|
||||
## -> 이 .vm 은 수정 불필요. 매핑은 converters.csv 에서만 관리.
|
||||
## =====================================================================
|
||||
#set( $convFile = $fn.fileFromBundle("converters.csv") )
|
||||
#if( $convFile.exists() )
|
||||
#set( $convRows = $convFile.loadValues(";") )
|
||||
#else
|
||||
#set( $convRows = [] )
|
||||
#end
|
||||
@@ -0,0 +1,9 @@
|
||||
## #set($recordClass = "${entity.name}Record" )
|
||||
## #set($recordInstance = $fn.uncapitalize($entity.name) )
|
||||
##
|
||||
#set($jpaEntityClass = "${entity.name}" )
|
||||
#set($jpaEntityIdClass = "${entity.name}Id" )
|
||||
##
|
||||
## #set($jpaMapperClass = "${entity.name}RecordMapper" )
|
||||
## #set($jpaMapperInstance = "${recordInstance}Mapper" )
|
||||
##
|
||||
@@ -0,0 +1,4 @@
|
||||
/*
|
||||
* Created on $now.date ( $now.time )
|
||||
* Generated by Telosys ( http://www.telosys.org/ ) version $generator.version
|
||||
*/
|
||||
@@ -0,0 +1,12 @@
|
||||
## =====================================================================
|
||||
## TYPE MAPPING LOADER
|
||||
## 외부 설정 파일 'type-mapping.csv' 를 읽어 행 리스트($typeMapRows)로 보관.
|
||||
## 형식(세미콜론 구분): DB컬럼명 ; Java타입(FQN) ; 추가 어노테이션(선택)
|
||||
## -> 이 .vm 은 수정 불필요. 매핑은 type-mapping.csv 에서만 관리.
|
||||
## =====================================================================
|
||||
#set( $typeMapFile = $fn.fileFromBundle("type-mapping.csv") )
|
||||
#if( $typeMapFile.exists() )
|
||||
#set( $typeMapRows = $typeMapFile.loadValues(";") )
|
||||
#else
|
||||
#set( $typeMapRows = [] )
|
||||
#end
|
||||
Reference in New Issue
Block a user