Class RuleDaoImpl

  • All Implemented Interfaces:
    RuleDao

    @Repository
    public class RuleDaoImpl
    extends java.lang.Object
    implements RuleDao
    전사규칙과 관련된 DAO 구현 클래스
    Version:
    1.0
    Author:
    Yeonhee Kim
    • Constructor Summary

      Constructors 
      Constructor Description
      RuleDaoImpl()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int deleteBottomLevel​(int id)
      해당되는 전사규칙(소분류)를 삭제함
      int deleteCustomLibrary​(int id)
      해당되는 커스텀 라이브러리를 삭제함
      int deleteMiddleLevel​(int id)
      해당되는 중분류와 종속된 소분류를 삭제함
      int deletePrevBottomLevel​(int id)
      해당되는 이전 전사규칙(소분류)를 삭제함
      int deleteTopLevel​(int id)
      해당되는 대분류와 종속된 중분류, 소분류를 삭제함
      int getAllCountOfRuleList​(java.lang.String rule_type, java.lang.String top_level_id, java.lang.String middle_level_id, java.lang.String bottom_level_id, java.lang.String search_word)
      전사규칙 리스트의 총 개수를 가져옴
      int getAllCountOfRuleLog​(int using_log_no, java.lang.String search_word, java.lang.String log_type, java.util.Map<java.lang.String,​java.lang.Object> searchMap)
      룰 로그의 총 개수를 가져옴
      java.util.List<CustomLibrary> getAllCustomLibraryByCreator​(java.lang.String creator)
      사용자 아이디로 사용자가 추가한 커스텀 라이브러리 목록을 가져옴
      java.util.List<Rule> getAllRuleBottomLevel​(int top_level_id, int middle_level_id)
      전사규칙 소분류 드롭다운 목록을 리턴함
      java.util.List<RuleLog> getAllRuleLog​(int using_log_no, int limit, int offset, java.lang.String search_word, java.lang.String log_type, java.util.Map<java.lang.String,​java.lang.Object> searchMap)
      룰 로그를 모두 가져옴
      java.util.List<RuleLog> getAllRuleLogDetailByUsingLogNo​(int using_log_no)
      사용 기록 번호로 디테일한 룰 로그 목록을 가져옴
      java.util.List<Rule> getAllRuleMiddleLevel​(int top_level_id)
      전사규칙 중분류 드롭다운 목록을 리턴함
      java.util.List<Rule> getAllRuleTopLevel()
      전사규칙 대분류 드롭다운 목록을 리턴함
      java.util.List<ApiDesc> getApiClass​(int class_id)
      클래스 아이디로 해당되는 클래스 정보를 가져옴
      java.util.List<ApiDesc> getApiClassConstructor​(int class_id)
      클래스 아이디로 해당되는 클래스 생성자 정보를 가져옴
      java.util.List<ApiDesc> getApiClassField​(int class_id)
      클래스 아이디로 해당되는 클래스 필드 정보를 가져옴
      java.util.List<ApiDesc> getApiClassMethod​(int class_id)
      클래스 아이디로 해당되는 클래스 메소드 정보를 가져옴
      int getCountOfPrevRuleVersion​(int bottom_level_id, java.lang.String search_word)
      해당되는 룰의 버전 관리 개수를 가져옴
      CustomLibrary getCustomLibraryById​(int id)
      아이디로 커스텀 라이브러리를 가져옴
      java.util.List<Rule> getPrevRuleVersionList​(int bottom_level_id, int limit, int offset, java.lang.String search_word)
      해당되는 룰의 버전 관리 목록을 가져옴
      Rule getRuleBottomLevel​(int bottom_level_id)
      전사규칙 소분류 아이디로 해당되는 항목을 리턴함
      java.util.List<Rule> getRuleChange​(int bottom_level_id, int prev_bottom_level_id)
      룰의 버전별 변화(수정 전/수정 후)를 가져옴
      java.util.List<Rule> getRuleList​(java.lang.String top_level_id, java.lang.String middle_level_id, java.lang.String bottom_level_id)
      해당되는 전사규칙 리스트를 가지고 옴
      java.util.List<Rule> getRuleListByPaging​(java.lang.String rule_type, java.lang.String top_level_id, java.lang.String middle_level_id, java.lang.String bottom_level_id, int limit, int offset, java.lang.String search_word)
      전사규칙 리스트를 페이징 처리하여 리턴함
      int insertIntoRuleLog​(RuleLog ruleLog)
      룰 로그에 기록함
      int insertIntoRuleLogDetail​(RuleLog ruleLogDetail)
      디테일 룰 로그(2개 이상 실행/다운로드/삭제)에 기록함
      int insertIntoUtteranceLog​(UtteranceLog utteranceLog)
      문장의 변경사항을 로그로 저장
      int isExistBottomLevel​(Rule rule)
      전사규칙(소분류)이 중복되지 않았는지 해당되는 row 개수를 가져옴
      int isExistMiddleLevel​(Rule rule)
      중분류가 중복되지 않았는지 해당되는 row 개수를 가져옴
      int isExistTopLevel​(Rule rule)
      대분류가 중복되지 않았는지 해당되는 row 개수를 가져옴
      int registerBottomLevel​(Rule rule)
      전사규칙을 등록함
      int registerCustomLibrary​(CustomLibrary customLibrary)
      사용자가 import하고자 하는 커스텀 라이브러리를 등록함
      int registerMiddleLevel​(Rule rule)
      중분류를 등록함
      int registerPrevBottomLevel​(Rule rule)
      이전 전사규칙을 등록함
      int registerTopLevel​(Rule rule)
      대분류를 등록함
      int updateBottomLevelFileName​(Rule rule)
      전사규칙(소분류)의 파일명을 업데이트함
      int updateCustomLibraryPackage​(CustomLibrary customLibrary)
      class 파일의 package를 업데이트
      int updatePrevBottomLevel​(Rule rule)
      이전 전사규칙을 업데이트함
      int updateRuleCompileResult​(Rule rule)
      사용자가 작성한 전사규칙(소분류)을 컴파일하고 결과값을 DB에 저장함
      int updateRuleContents​(Rule rule)
      사용자가 작성한 전사규칙(소분류) 코드 내용을 DB에 저장함
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RuleDaoImpl

        public RuleDaoImpl()
    • Method Detail

      • getAllRuleTopLevel

        public java.util.List<Rule> getAllRuleTopLevel()
        전사규칙 대분류 드롭다운 목록을 리턴함
        Specified by:
        getAllRuleTopLevel in interface RuleDao
        Returns:
        전사규칙 대분류 목록
      • getAllRuleMiddleLevel

        public java.util.List<Rule> getAllRuleMiddleLevel​(int top_level_id)
        전사규칙 중분류 드롭다운 목록을 리턴함
        Specified by:
        getAllRuleMiddleLevel in interface RuleDao
        Parameters:
        top_level_id - 전사규칙 대분류 아이디
        Returns:
        전사규칙 중분류 목록
      • getAllRuleBottomLevel

        public java.util.List<Rule> getAllRuleBottomLevel​(int top_level_id,
                                                          int middle_level_id)
        전사규칙 소분류 드롭다운 목록을 리턴함
        Specified by:
        getAllRuleBottomLevel in interface RuleDao
        Parameters:
        top_level_id - 전사규칙 대분류 아이디
        middle_level_id - 전사규칙 중분류 아이디
        Returns:
        전사규칙 소분류 목록
      • getRuleBottomLevel

        public Rule getRuleBottomLevel​(int bottom_level_id)
        전사규칙 소분류 아이디로 해당되는 항목을 리턴함
        Specified by:
        getRuleBottomLevel in interface RuleDao
        Parameters:
        bottom_level_id - 전사규칙 소분류 아이디
        Returns:
        전사규칙 소분류 항목
      • getRuleList

        public java.util.List<Rule> getRuleList​(java.lang.String top_level_id,
                                                java.lang.String middle_level_id,
                                                java.lang.String bottom_level_id)
        해당되는 전사규칙 리스트를 가지고 옴
        Specified by:
        getRuleList in interface RuleDao
        Parameters:
        top_level_id - 전사규칙 대분류 아이디
        middle_level_id - 전사규칙 중분류 아이디
        bottom_level_id - 전사규칙 소분류 아이디
        Returns:
        해당되는 전사규칙 리스트
      • getRuleListByPaging

        public java.util.List<Rule> getRuleListByPaging​(java.lang.String rule_type,
                                                        java.lang.String top_level_id,
                                                        java.lang.String middle_level_id,
                                                        java.lang.String bottom_level_id,
                                                        int limit,
                                                        int offset,
                                                        java.lang.String search_word)
        전사규칙 리스트를 페이징 처리하여 리턴함
        Specified by:
        getRuleListByPaging in interface RuleDao
        Parameters:
        rule_type - 룰 타입(전체/SQL/메서드)
        top_level_id - 전사규칙 대분류 아이디
        middle_level_id - 전사규칙 중분류 아이디
        bottom_level_id - 전사규칙 소분류 아이디
        limit - SELECT할 row의 수
        offset - 몇 번째 row부터 가져올지를 결정
        search_word - 검색어
        Returns:
        페이징 처리된 전사규칙 리스트
      • getAllCountOfRuleList

        public int getAllCountOfRuleList​(java.lang.String rule_type,
                                         java.lang.String top_level_id,
                                         java.lang.String middle_level_id,
                                         java.lang.String bottom_level_id,
                                         java.lang.String search_word)
        전사규칙 리스트의 총 개수를 가져옴
        Specified by:
        getAllCountOfRuleList in interface RuleDao
        Parameters:
        rule_type - 룰 타입(전체/SQL/메서드)
        top_level_id - 전사규칙 대분류 아이디
        middle_level_id - 전사규칙 중분류 아이디
        bottom_level_id - 전사규칙 소분류 아이디
        search_word - 검색어
        Returns:
        전사규칙 리스트의 총 개수
      • registerTopLevel

        public int registerTopLevel​(Rule rule)
        대분류를 등록함
        Specified by:
        registerTopLevel in interface RuleDao
        Parameters:
        rule - 대분류 등록을 위한 Rule 객체
        Returns:
        등록된 대분류 DB row의 수
      • registerMiddleLevel

        public int registerMiddleLevel​(Rule rule)
        중분류를 등록함
        Specified by:
        registerMiddleLevel in interface RuleDao
        Parameters:
        rule - 중분류 등록을 위한 Rule 객체
        Returns:
        등록된 중분류 DB row의 수
      • registerBottomLevel

        public int registerBottomLevel​(Rule rule)
        전사규칙을 등록함
        Specified by:
        registerBottomLevel in interface RuleDao
        Parameters:
        rule - 전사규칙 등록을 위한 Rule 객체
        Returns:
        등록된 소분류 DB row의 수
      • registerPrevBottomLevel

        public int registerPrevBottomLevel​(Rule rule)
        이전 전사규칙을 등록함
        Specified by:
        registerPrevBottomLevel in interface RuleDao
        Parameters:
        rule - 이전 전사규칙 기록을 위한 Rule 객체
        Returns:
        등록된 이전 전사규칙 DB row의 수
      • updatePrevBottomLevel

        public int updatePrevBottomLevel​(Rule rule)
        이전 전사규칙을 업데이트함
        Specified by:
        updatePrevBottomLevel in interface RuleDao
        Parameters:
        rule - 이전 전사규칙 업데이트를 위한 Rule 객체
        Returns:
        업데이트된 이전 전사규칙 DB row의 수
      • isExistTopLevel

        public int isExistTopLevel​(Rule rule)
        대분류가 중복되지 않았는지 해당되는 row 개수를 가져옴
        Specified by:
        isExistTopLevel in interface RuleDao
        Parameters:
        rule - 대분류 중복검사를 위한 Rule 객체
        Returns:
        존재하는 row의 개수
      • isExistMiddleLevel

        public int isExistMiddleLevel​(Rule rule)
        중분류가 중복되지 않았는지 해당되는 row 개수를 가져옴
        Specified by:
        isExistMiddleLevel in interface RuleDao
        Parameters:
        rule - 중분류 중복검사를 위한 Rule 객체
        Returns:
        존재하는 row의 개수
      • isExistBottomLevel

        public int isExistBottomLevel​(Rule rule)
        전사규칙(소분류)이 중복되지 않았는지 해당되는 row 개수를 가져옴
        Specified by:
        isExistBottomLevel in interface RuleDao
        Parameters:
        rule - 전사규칙(소분류) 중복검사를 위한 Rule 객체
        Returns:
        존재하는 row의 개수
      • updateBottomLevelFileName

        public int updateBottomLevelFileName​(Rule rule)
        전사규칙(소분류)의 파일명을 업데이트함
        Specified by:
        updateBottomLevelFileName in interface RuleDao
        Parameters:
        rule - 전사규칙(소분류) 파일명 업데이트를 위한 Rule 객체
        Returns:
        업데이트된 row의 개수
      • deleteTopLevel

        public int deleteTopLevel​(int id)
        해당되는 대분류와 종속된 중분류, 소분류를 삭제함
        Specified by:
        deleteTopLevel in interface RuleDao
        Parameters:
        id - 대분류 아이디
        Returns:
        삭제된 row의 수
      • deleteMiddleLevel

        public int deleteMiddleLevel​(int id)
        해당되는 중분류와 종속된 소분류를 삭제함
        Specified by:
        deleteMiddleLevel in interface RuleDao
        Parameters:
        id - 중분류 아이디
        Returns:
        삭제된 row의 수
      • deleteBottomLevel

        public int deleteBottomLevel​(int id)
        해당되는 전사규칙(소분류)를 삭제함
        Specified by:
        deleteBottomLevel in interface RuleDao
        Parameters:
        id - 전사규칙(소분류) 아이디
        Returns:
        삭제된 row의 수
      • deletePrevBottomLevel

        public int deletePrevBottomLevel​(int id)
        해당되는 이전 전사규칙(소분류)를 삭제함
        Specified by:
        deletePrevBottomLevel in interface RuleDao
        Parameters:
        id - 전사규칙(소분류) 아이디
        Returns:
        삭제된 row의 수
      • updateRuleContents

        public int updateRuleContents​(Rule rule)
        사용자가 작성한 전사규칙(소분류) 코드 내용을 DB에 저장함
        Specified by:
        updateRuleContents in interface RuleDao
        Parameters:
        rule - 전사규칙(소분류) 코드 내용 업데이트를 위한 Rule 객체
        Returns:
        업데이트된 row의 수
      • updateRuleCompileResult

        public int updateRuleCompileResult​(Rule rule)
        사용자가 작성한 전사규칙(소분류)을 컴파일하고 결과값을 DB에 저장함
        Specified by:
        updateRuleCompileResult in interface RuleDao
        Parameters:
        rule - 전사규칙(소분류) 컴파일 결과값 업데이트를 위한 Rule 객체
        Returns:
        업데이트된 row의 수
      • getApiClass

        public java.util.List<ApiDesc> getApiClass​(int class_id)
        클래스 아이디로 해당되는 클래스 정보를 가져옴
        Specified by:
        getApiClass in interface RuleDao
        Parameters:
        class_id - DB 상의 클래스 아이디
        Returns:
        해당되는 클래스 정보가 담긴 List
      • getApiClassField

        public java.util.List<ApiDesc> getApiClassField​(int class_id)
        클래스 아이디로 해당되는 클래스 필드 정보를 가져옴
        Specified by:
        getApiClassField in interface RuleDao
        Parameters:
        class_id - DB 상의 클래스 아이디
        Returns:
        해당되는 클래스 필드 정보가 담긴 List
      • getApiClassConstructor

        public java.util.List<ApiDesc> getApiClassConstructor​(int class_id)
        클래스 아이디로 해당되는 클래스 생성자 정보를 가져옴
        Specified by:
        getApiClassConstructor in interface RuleDao
        Parameters:
        class_id - DB 상의 클래스 아이디
        Returns:
        해당되는 클래스 생성자 정보가 담긴 List
      • getApiClassMethod

        public java.util.List<ApiDesc> getApiClassMethod​(int class_id)
        클래스 아이디로 해당되는 클래스 메소드 정보를 가져옴
        Specified by:
        getApiClassMethod in interface RuleDao
        Parameters:
        class_id - DB 상의 클래스 아이디
        Returns:
        해당되는 클래스 메소드 정보가 담긴 List
      • registerCustomLibrary

        public int registerCustomLibrary​(CustomLibrary customLibrary)
        사용자가 import하고자 하는 커스텀 라이브러리를 등록함
        Specified by:
        registerCustomLibrary in interface RuleDao
        Parameters:
        customLibrary - 등록할 라이브러리 정보를 담고 있는 객체
        Returns:
        DB에 추가된 row의 수
      • getCustomLibraryById

        public CustomLibrary getCustomLibraryById​(int id)
        아이디로 커스텀 라이브러리를 가져옴
        Specified by:
        getCustomLibraryById in interface RuleDao
        Parameters:
        id - 커스텀 라이브러리 아이디
        Returns:
        커스텀 라이브러리 객체
      • getAllCustomLibraryByCreator

        public java.util.List<CustomLibrary> getAllCustomLibraryByCreator​(java.lang.String creator)
        사용자 아이디로 사용자가 추가한 커스텀 라이브러리 목록을 가져옴
        Specified by:
        getAllCustomLibraryByCreator in interface RuleDao
        Parameters:
        creator - 사용자 아이디
        Returns:
        사용자가 추가한 커스텀 라이브러리 목록
      • deleteCustomLibrary

        public int deleteCustomLibrary​(int id)
        해당되는 커스텀 라이브러리를 삭제함
        Specified by:
        deleteCustomLibrary in interface RuleDao
        Parameters:
        id - 아이디
        Returns:
        DB에서 삭제된 row의 수
      • updateCustomLibraryPackage

        public int updateCustomLibraryPackage​(CustomLibrary customLibrary)
        class 파일의 package를 업데이트
        Specified by:
        updateCustomLibraryPackage in interface RuleDao
        Parameters:
        customLibrary - 사용자가 업로드한 customLibrary
        Returns:
        업데이트된 row의 개수
      • insertIntoRuleLog

        public int insertIntoRuleLog​(RuleLog ruleLog)
        룰 로그에 기록함
        Specified by:
        insertIntoRuleLog in interface RuleDao
        Parameters:
        ruleLog - 룰 로그에 기록할 RuleLog 객체
        Returns:
        DB에 추가된 row의 수
      • insertIntoRuleLogDetail

        public int insertIntoRuleLogDetail​(RuleLog ruleLogDetail)
        디테일 룰 로그(2개 이상 실행/다운로드/삭제)에 기록함
        Specified by:
        insertIntoRuleLogDetail in interface RuleDao
        Parameters:
        ruleLogDetail - 디테일 룰 로그에 기록할 RuleLog 객체
        Returns:
        DB에 추가된 row의 수
      • getAllRuleLogDetailByUsingLogNo

        public java.util.List<RuleLog> getAllRuleLogDetailByUsingLogNo​(int using_log_no)
        사용 기록 번호로 디테일한 룰 로그 목록을 가져옴
        Specified by:
        getAllRuleLogDetailByUsingLogNo in interface RuleDao
        Parameters:
        using_log_no - 사용 기록 번호
        Returns:
        디테일한 룰 로그 목록
      • getAllRuleLog

        public java.util.List<RuleLog> getAllRuleLog​(int using_log_no,
                                                     int limit,
                                                     int offset,
                                                     java.lang.String search_word,
                                                     java.lang.String log_type,
                                                     java.util.Map<java.lang.String,​java.lang.Object> searchMap)
        룰 로그를 모두 가져옴
        Specified by:
        getAllRuleLog in interface RuleDao
        Parameters:
        using_log_no - RuleLog 테이블의 외래키인 using_log_no
        limit - SELECT할 row의 수
        offset - 몇 번째 row부터 가져올지를 결정
        search_word - 검색어
        log_type - 상세 검색 타입(사용자 아이디/사용 내역/IP 주소/접속 시간) 중 하나
        searchMap - 상세 검색어(사용자 아이디/사용 내역/IP 주소/접속 시간) 값을 담고 있는 Map
        Returns:
        룰 로그 목록
      • getAllCountOfRuleLog

        public int getAllCountOfRuleLog​(int using_log_no,
                                        java.lang.String search_word,
                                        java.lang.String log_type,
                                        java.util.Map<java.lang.String,​java.lang.Object> searchMap)
        룰 로그의 총 개수를 가져옴
        Specified by:
        getAllCountOfRuleLog in interface RuleDao
        Parameters:
        using_log_no - RuleLog 테이블의 외래키인 using_log_no
        search_word - 검색어
        log_type - 상세 검색 타입(사용자 아이디/사용 내역/IP 주소/접속 시간) 중 하나
        searchMap - 상세 검색어(사용자 아이디/사용 내역/IP 주소/접속 시간) 값을 담고 있는 Map
        Returns:
        룰 로그 총 개수
      • getPrevRuleVersionList

        public java.util.List<Rule> getPrevRuleVersionList​(int bottom_level_id,
                                                           int limit,
                                                           int offset,
                                                           java.lang.String search_word)
        해당되는 룰의 버전 관리 목록을 가져옴
        Specified by:
        getPrevRuleVersionList in interface RuleDao
        Parameters:
        bottom_level_id - 룰 소분류 아이디
        limit - SELECT할 row의 수
        offset - 몇 번째 row부터 가져올지를 결정
        search_word - 검색어
        Returns:
        룰의 버전 관리 목록
      • getCountOfPrevRuleVersion

        public int getCountOfPrevRuleVersion​(int bottom_level_id,
                                             java.lang.String search_word)
        해당되는 룰의 버전 관리 개수를 가져옴
        Specified by:
        getCountOfPrevRuleVersion in interface RuleDao
        Parameters:
        bottom_level_id - 소분류 id
        search_word - 검색어
        Returns:
        룰의 버전 관리 개수
      • getRuleChange

        public java.util.List<Rule> getRuleChange​(int bottom_level_id,
                                                  int prev_bottom_level_id)
        룰의 버전별 변화(수정 전/수정 후)를 가져옴
        Specified by:
        getRuleChange in interface RuleDao
        Parameters:
        bottom_level_id - 룰 소분류 아이디
        prev_bottom_level_id - 룰 버전 관리 목록 아이디
        Returns:
        룰의 버전별 변화(수정 전/수정 후)
      • insertIntoUtteranceLog

        public int insertIntoUtteranceLog​(UtteranceLog utteranceLog)
        문장의 변경사항을 로그로 저장
        Specified by:
        insertIntoUtteranceLog in interface RuleDao
        Parameters:
        utteranceLog - 저장할 로그
        Returns:
        저장한 개수