반응형

컬럼매핑정의서를 이용하여 이행매핑정의서를 작성하는 방법입니다.
이행(전환)로직이 있는 경우는 별도로 기술하여야 하지만, 대부분 1:1로 가는 것들이 많습니다.
1:1기준으로 이행매핑정의서를 생성한 후 '전환로직'을 기술해 주면 좀 더 빠르게 작업할 수 있습니다.

 

전환로직을 제외한 모든 정보가 이미 컬럼매핑정의서에 있기 때문에 산출물 양식에 맞춰 순서만 배열해 주면 됩니다.

그리고, 1:1 전환룰을 "MOVE"로 표기합니다.

 

■ 구조도

  
컬럼매핑정의서 ▶ 이행매핑정의서


■ SOURCE

 

    public static void main(String[] args) {
        
        // 테이블매핑정의서 생성
        ArrayList<ArrayList<String>> arr2Map = setTblMapping( maTblMap );
        
        // 문서 생성
        exportExcel( arr2Map );
    }
    
    /**
     * 테이블매핑정의서 생성
     * : META 테이블매핑정의서 양식에 맞춰 데이터를 세팅한다.
     * 
     * @param maTblMap
     * @return
     */
    private static ArrayList<ArrayList<String>> setTblMapping( HashMap<String, ArrayList<String>> maTblMap ) {
        
        ArrayList<ArrayList<String>> arr2Map = new ArrayList<ArrayList<String>>(); 
        
        // Layout : [T영문테이블, T한글테이블, A영문테이블, A한글테이블, 전환여부]
        for( String strKey : maTblMap.keySet() ) {
            
            ArrayList<String> arRow = maTblMap.get( strKey );
            
            ArrayList<String> arrMapRow = new ArrayList<String>(); 
            
            arrMapRow.add( ( arr2Map.size() + 1 ) + "" );  // No.
            
            // TO-BE
            arrMapRow.add( arRow.get(  8 ) );  // T한글테이블
            arrMapRow.add( arRow.get(  9 ) );  // T영문테이블
            arrMapRow.add( arRow.get( 10 ) );  // T한글컬럼명
            arrMapRow.add( arRow.get( 11 ) );  // T영문컬럼명
            
            // AS-IS
            arrMapRow.add( arRow.get( 0 ) );  // A한글테이블
            arrMapRow.add( arRow.get( 1 ) );  // A영문테이블
            arrMapRow.add( arRow.get( 2 ) );  // A한글컬럼명
            arrMapRow.add( arRow.get( 3 ) );  // A영문컬럼명
            
            arrMapRow.add( "MOVE" );          // 전환로직
            
            arr2Map.add( arrMapRow );
        }
        
        return arr2Map;
    }
    
    private static void exportExcel( ArrayList<ArrayList<String>> arrTblMap ) {
        
        String strTitle = "T한글테이블, T영문테이블, T한글컬럼명, T영문컬럼명, A한글테이블, A영문테이블, A한글컬럼명, A영문컬럼명, 전환로직";
        
        XlsFile.writeArr2TblMap( "C:/workspace/컬럼매핑정의서/이행매핑정의서" , strTitle, arrTblMap);
    }

 

arrMapRow.add( ( arr2Map.size() + 1 ) + "" );  // No.

( arr2Map.size() + 1 ) + ""

Java에서 형변환( Cascading )을 할때, 숫자타입을 문자로 변경할 때 위와 같이 + ""을 사용한다.

숫자에 문자를 + 하므로써, 자동으로 형변환이 된다.


※ 참고
    - 링크 ☞ 이행매핑정의서

반응형