Skip to content

Conversation

@LeeBaekHaeng
Copy link
Contributor

수정 사유 Reason for modification

소스를 수정한 사유가 무엇인지 체크해 주세요. Please check the reason you modified the source. ([X] X는 대문자여야 합니다.)

  • 버그수정 Bug fixes
  • 기능개선 Enhancements
  • 기능추가 Adding features
  • 기타 Others

수정된 소스 내용 Modified source

검토자를 위해 수정된 소스 내용을 설명해 주세요. Please describe the modified source for reviewers.


java-diff-1.1.0.jar 메이븐 dependency 추가

이클립스 > Source > Format

/egovframework.dev.imp.templates/pom.xml

		<!-- https://mvnrepository.com/artifact/org.incava/java-diff -->
		<dependency>
			<groupId>org.incava</groupId>
			<artifactId>java-diff</artifactId>
			<version>1.1</version>
			<scope>test</scope>
		</dependency>

JUnit 테스트 JUnit tests

테스트를 완료하셨으면 다음 항목에 [대문자X]로 표시해 주세요. When you're done testing, check the following items.

  • JUnit 테스트 JUnit tests
  • 수동 테스트 Manual testing

테스트 브라우저 Test Browser

테스트를 진행한 브라우저를 선택해 주세요. Please select the browser(s) you ran the test on. (다중 선택 가능 you can select multiple) [X] X는 대문자여야 합니다.

  • Chrome
  • Firefox
  • Edge
  • Safari
  • Opera
  • Internet Explorer
  • 기타 Others

테스트 스크린샷 또는 캡처 영상 Test screenshots or captured video

테스트 전과 후의 스크린샷 또는 캡처 영상을 이곳에 첨부해 주세요. Please attach screenshots or video captures of your before and after tests here.

@LeeBaekHaeng
Copy link
Contributor Author

egovframework.dev.imp.codegen.templateegovframework.dev.imp.codegen.template.templates 를 이용해서 실제 사용하는 것과 동일하게 리팩토링


egovframework.dev.imp.templates 단위 테스트 프로젝트에 삭제 후 복사해서 붙여넣기

  • /egovframework.dev.imp.templates/ant/build.xml
  • /egovframework.dev.imp.codegen.template/src/egovframework/dev/imp/codegen/template/model 'WizardsData.java' 만 제외
  • /egovframework.dev.imp.codegen.template/src/egovframework/dev/imp/codegen/template/util/NamingUtils.java
  • /egovframework.dev.imp.codegen.template.templates/eGovFrameTemplates/*

/egovframework.dev.imp.templates/src/main/java/model 제거 예정

  • /egovframework.dev.imp.templates/src/main/java/egovframework/dev/imp/codegen/template/model 사용

eGovFrameTemplates 실제 사용하는 것으로 수정

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates

단위 테스트 검증

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesResult

/egovframework.dev.imp.templates/src/test/java/test/CrudCodeGenTest.java

  • CrudWizard 추가
  • templateFile, targetFile 파일 정리

실제 사용하는 것으로 수정

  • /egovframework.dev.imp.templates/src/main/java/operation/CrudCodeGen.java
  • CrudWizard 중첩(static) 클래스 추가

- 개정이력을 `개발표준가이드_v1.0.pdf` 대로 수정
- `extends ${defaultVoClassName}{` 을 `extends ${defaultVoClassName} {` 로 수정
- 스페이스를 탭으로 수정
- CrudCodeGenTest 에 testDefaultVO 메서드 추가

Sample2DefaultVO.vm 템플릿 수정
- 개정이력을 `개발표준가이드_v1.0.pdf` 대로 수정
- toString 메서드 제거
- 스페이스를 탭으로 수정
@LeeBaekHaeng
Copy link
Contributor Author

Sample2VO.vm 템플릿 수정

  • 개정이력을 개발표준가이드_v1.0.pdf 대로 수정
  • extends ${defaultVoClassName}{extends ${defaultVoClassName} { 로 수정
  • 스페이스를 탭으로 수정
  • CrudCodeGenTest 에 testDefaultVO 메서드 추가

Sample2DefaultVO.vm 템플릿 수정

  • 개정이력을 개발표준가이드_v1.0.pdf 대로 수정
  • toString 메서드 제거
  • 스페이스를 탭으로 수정

@eGovFrameSupport
Copy link
Collaborator

eGovFrameSupport commented Aug 5, 2025

서론

egovframework.dev.imp.templates 프로젝트는 개발환경의 Plugin 프로젝트들과는 독립적이고 확장성이 큰 프로젝트이며, 빈 공간이 많은 프로젝트였습니다. 해당 프로젝트에 대한 코드 기여를 해주셔서 내용이 더 풍부하게 된 점에 진심으로 감사의 말씀 드립니다.

아래는 리뷰 결과입니다.

egovframework.dev.imp.codegen.template.templates

egovframework.dev.imp.codegen.template.templates 에서 아래 두 가지 파일에 대한 변경사항을 확인했습니다.

  • eGovFrameTemplates/crud/java/pkg/service/Sample2DefaultVO.vm
    • toString() 메서드를 삭제한 것 확인
  • eGovFrameTemplates/crud/java/pkg/service/Sample2VO.vm

egovframework.dev.imp.templates

그 외에 모든 변경사항은 egovframework.dev.imp.templates 에서 발생한 것임을 확인했습니다.

src/test/java/test/CrudCodeGenTest.java

JUnit 테스트 결과 정상인 것이 확인되었습니다.

src/test/java/test/TemplateCodeGenTest.java

JUnit 테스트 실행시 오류가 발생합니다.

  • 정상 : testCache() 메서드는 오류가 없는 것으로 확인됩니다.

  • 오류 내용 : templateFile 부재 오류 (eGovFrameTemplates 폴더 내에 존재해야 할 파일의 부재)

    • testEgovJDBCAppender() : eGovFrameTemplates/logging/egovJdbc.vm 파일 부재
    • testDailyRollingFileAppender() : eGovFrameTemplates/logging/dailyRollingFile.vm 파일 부재
    • testJndiDatasource() : eGovFrameTemplates/datasource/jeus.vm 파일 부재
    • testEgovDBAppender() : eGovFrameTemplates/logging/egovDb.vm 파일 부재
    • testDataSourceTransaction() : eGovFrameTemplates/transaction/datasource.vm 파일 부재
  • 위 오류와 관련해서 Commit : CrudCodeGenTest을 보면 다음과 같은 변경사항을 확인할 수 있습니다.

    • 파일 삭제 : egovJdbc.vm, dailyRollingFile.vm, jeus.vm, egovDb.vm
    • 파일명 변경 : datasource.vm → transaction.vm
  • 오류 내용 : 템플릿 파일(templateFile) & 입력 데이터(valueFile) vs 기대 결과(targetFile) 불일치 오류

    • testUUIDGen()
    • testSimpleTrigger()
    • testConsoleAppender()
    • testJDBCAppender()
    • testJtaTransaction()
    • testScheduler()
    • testDataSource()
    • testMethodInvokingJobSchedule()
    • testPropertyConfig()
    • testDatailBeanJobSchedule()
    • testFileAppender()
    • testSequenceIDGen()
    • testCronTrigger()
    • testJpaTransaction()
    • testTableIDGen()
    • testEhcache()
    • testRollingFileAppender()

testUUIDGen() 메서드의 경우를 예로 들면,
콘솔에 출력된 내용을 통해 확인한 결과,
src/main/resources/eGovFrameTemplatesTarget/idGeneration/uuId.xm 파일을 아래와 같이 수정해야 합니다.
line 4 : spring-beans-2.5.xsdspring-beans-4.0.xsd
line 6 : class="egovframework.rte.fdl.idgnr.impl.EgovUUIdGnrService"class="org.egovframe.rte.fdl.idgnr.impl.EgovUUIdGnrServiceImpl"
추가로, 중요한 내용은 아니지만, JUnit 테스트 결과를 정상으로 보이게 하기 위해, 아래와 같은 수정이 필요합니다.
line 3~4 : 스페이스 4개 → 탭 1개로 변경
line 7 : 뒤에 공백 제거
line 8 : 공백 제거
line 9 : 뒤에 공백 제거

관련 내용 수정하여 다시 Commit을 해주시기 바랍니다. 해당 PR은 Open 상태를 유지해 놓겠습니다.


컨트리뷰션 참여에 깊은 감사의 말씀 드립니다.

- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/cache/ehcacheConfigForSpring.vm` 을 `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/cache/context-cache.xm` 로 덮어쓰기
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/datasource/jeus.vm` 추가
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/transaction/datasource.vm` 추가
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/transaction/jpa.xm` 수정
TODO 변수 추가 `${txtAdviceName}, ${txtMethodName}, ${txtRollbackFor}, ${cmbPropagation}, ${cmbIsolation}, ${txtPointCutName}, ${txtPointCutExpression}, ${txtPackagesToScan}, ${cmbDialect}, ${txtSpringDataJPAPackage}
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/transaction/jta.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/idGeneration/sequenceId.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/idGeneration/tableId.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/idGeneration/uuId.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/property/property.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/beanJob.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/methodJob.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/simpleTrigger.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/cronTrigger.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/scheduler.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/console.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/file.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/rollingFile.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/logging/dailyRollingFile.vm` 추가
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/jdbc.xm` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTestValue/logging/jdbc.properties` 수정
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/logging/egovDb.vm` 추가
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/logging/egovJdbc.vm` 추가
- `/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/datasource/datasource.xm` 수정
@LeeBaekHaeng
Copy link
Contributor Author

관련 내용 수정하여 다시 Commit을 했습니다.

testEhcache 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/cache/ehcacheConfigForSpring.vm/egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/cache/context-cache.xm 로 덮어쓰기

testDataSource 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/datasource/datasource.xm 수정

testJndiDatasource 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/datasource/jeus.vm 추가

testDataSourceTransaction 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/transaction/datasource.vm 추가

testJpaTransaction 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/transaction/jpa.xm 수정
    TODO 변수 추가 `${txtAdviceName}, ${txtMethodName}, ${txtRollbackFor}, ${cmbPropagation}, ${cmbIsolation}, ${txtPointCutName}, ${txtPointCutExpression}, ${txtPackagesToScan}, ${cmbDialect}, ${txtSpringDataJPAPackage}

testJtaTransaction 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/transaction/jta.xm 수정

testSequenceIDGen 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/idGeneration/sequenceId.xm 수정

testTableIDGen 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/idGeneration/tableId.xm 수정

testUUIDGen 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/idGeneration/uuId.xm 수정

testPropertyConfig 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/property/property.xm 수정

testDatailBeanJobSchedule 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/beanJob.xm 수정

testMethodInvokingJobSchedule 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/methodJob.xm 수정

testSimpleTrigger 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/simpleTrigger.xm 수정

testCronTrigger 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/cronTrigger.xm 수정

testScheduler 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/scheduling/scheduler.xm 수정

testConsoleAppender 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/console.xm 수정

testFileAppender 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/file.xm 수정

testRollingFileAppender 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/rollingFile.xm 수정

testDailyRollingFileAppender 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/logging/dailyRollingFile.vm 추가

testJDBCAppender 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTarget/logging/jdbc.xm 수정
  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplatesTestValue/logging/jdbc.properties 수정

testEgovDBAppender 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/logging/egovDb.vm 추가

testEgovJDBCAppender 성공

  • /egovframework.dev.imp.templates/src/main/resources/eGovFrameTemplates/logging/egovJdbc.vm 추가
image

@eGovFrameSupport eGovFrameSupport merged commit d7f1ebc into eGovFramework:main Aug 18, 2025
1 check failed
@eGovFrameSupport
Copy link
Collaborator

확인하였습니다.

컨트리뷰션 참여에 깊은 감사의 말씀 드립니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants