Anyframe CHANGELOG ========================== http://www.anyframejava.org Changes in version 4.6.1 (2010-12-03) ------------------------------------- * 서비스 변경 내역 - Spring의 tag를 확장한 Namespace를 제공하여 Double Submit 방지 기능을 위한 설정 방법 추가 - 쿼리 수행으로 조회된 칼럼의 정확한 Alias명을 추출할 수 있도록 하기 위해 기존의 ResultSetMetaData.getColumnName() 부분을 ResultSetMetaData.getColumnLabel()과 같이 변경 - 쿼리서비스 내에 포함된 SQLGenerator에서 로직 수행을 위해 필요한 값을 멤버 변수에 할당하는 방법으로 처리하고 있음. 이는 QueryService가 Singleton 방식으로 동작하므로 동시에 쿼리문 수행을 요청할 때 잘못된 수행 결과를 초래할 수 있음. 따라서, AbstractPagingSQLGenerator 내에 정의된 멤버 변수를 제거하고, SQLGenerator로부터 쿼리 인자값 및 타입을 추출하는 로직을 변경함. - GenericService에 페이징 처리없는 목록 조회 기능, SearchVO가 아닌 Domain 객체를 이용한 목록 조회 기능 등 추가 구현 * Archetype/Plugin 변경 내역 - 참조 라이브러리 버전 변경을 위해 다음 plugin 변경 . Archetype : basic, service . Plugin : foundation, hibernate, cache, japser, miplatform, mipsample, scheduling, simpleweb-json, simpleweb-map, simplemap-vo, spring-optional, struts, flex - Apache CXF 기반의 웹서비스 및 RESTful 웹서비스 샘플 보완을 위해 다음 plugin 변경 . 기존의 cxf plugin을 cxf-jaxws plugin으로 변경 . 기존의 restweb plugin을 springrest plugin으로 변경 . cxf-jaxrs plugin 신규 추가 - Generic Service 활용 샘플을 포함한 generic plugin 신규 추가 - security plugin을 삭제하고 Anyframe IAM 활용 샘플을 포함한 iam plugin 신규 추가 * IDE 변경 내역 - 기존 HSQLDB, Oracle, MySQL, Sybase 데이터베이스 외 DB2 데이터베이스 지원 기능 추가 - 각 DB 별 테이블 컬럼 타입 별로 도메인 클래스 및 CRUD 생성 시 유의사항 매뉴얼 내용에 추가 - Spring 3.0.5 버전 기준으로 CRUD 소스코드 생성되도록 템플릿 변경 - CRUD 소스 코드 생성 시 DBUnit을 이용하여 샘플데이터를 DB에 Insert 하게 되는데 이때 에러 발생 시 경고 메시지가 출력되도록 변경 - CRUD 소스 코드 생성 시 숫자 타입의 샘플 데이터 생성 시 DB 컬럼의 precision과 scale 정보를 이용하여 생성하도록 변경 - IDE Editor UI에서 Update와 Refresh 버튼 이미지를 각각 별도의 이미지로 변경 * 참조 라이브러리 변경 내역 - geronimo-stax-api_1.0_spec-1.0.1.jar 파일 추가 - geronimo-ws-metadata_2.0_spec-1.1.3.jar 파일 추가 - jetty-continuation-7.1.6.v20100715.jar 파일 추가 - jetty-http-7.1.6.v20100715.jar 파일 추가 - jetty-io-7.1.6.v20100715.jar 파일 추가 - jetty-server-7.1.6.v20100715.jar 파일 추가 - stax2-api-3.0.2.jar 파일 추가 - 기존의 asm-2.2.3.jar 파일을 asm-3.3.jar로 버전 변경 - 기존의 bcprov-jdk15-140.jar 파일을 bcprov-jdk15-1.43.jar로 버전 변경 - 기존의 commons-lang-2.4.jar 파일을 commons-lang-2.5.jar로 버전 변경 - 기존의 cxf-2.2.7.jar 파일을 cxf-2.3.0.jar로 버전 변경 - 기존의 cxf-manifest-2.2.7.jar 파일을 cxf-manifest-2.3.0.jar로 버전 변경 - 기존의 cxf-xjc-boolean-2.2.7.jar 파일을 cxf-xjc-boolean-2.3.0.jar로 버전 변경 - 기존의 cxf-xjc-bug671-2.2.7.jar 파일을 cxf-xjc-bug671-2.3.0.jar로 버전 변경 - 기존의 cxf-xjc-dv-2.2.7.jar 파일을 cxf-xjc-dv-2.3.0.jar로 버전 변경 - 기존의 cxf-xjc-ts-2.2.7.jar 파일을 cxf-xjc-ts-2.3.0.jar로 버전 변경 - 기존의 geronimo-activation_1.1_spec-1.0.2.jar 파일을 geronimo-activation_1.1_spec-1.1.jar로 버전 변경 - 기존의 geronimo-javamail_1.4_spec-1.6.jar 파일을 geronimo-javamail_1.4_spec-1.7.1.jar로 버전 변경 - 기존의 geronimo-jaxws_2.1_spec-1.0.jar 파일을 geronimo-jaxws_2.2_spec-1.0.jar로 버전 변경 - 기존의 geronimo-servlet_2.5_spec-1.2.jar 파일을 geronimo-servlet_3.0_spec-1.0.jar로 버전 변경 - 기존의 hsqldb-1.8.0.10.jar 파일을 hsqldb-2.0.0.jar로 버전 변경 - 기존의 javassist-3.8.0.GA.jar 파일을 javassist-3.12.0.GA.jar로 버전 변경 - 기존의 jaxb-api-2.1.jar 파일을 jaxb-api-2.2.jar로 버전 변경 - 기존의 jaxb-impl-2.1.12.jar 파일을 jaxb-impl-2.2.1.1.jar로 버전 변경 - 기존의 jaxb-xjc-2.1.12.jar 파일을 jaxb-xjc-2.2.1.1.jar로 버전 변경 - 기존의 jetty-util-6.1.21.jar 파일을 jetty-util-7.1.6.v20100715.jar로 버전 변경 - 기존의 jfreechart-1.0.0.jar 파일을 jfreechart-1.0.12.jar로 버전 변경 - 기존의 log4jdbc3-1.2alpha2.jar 파일을 log4jdbc3-1.2beta2.jar로 버전 변경 - 기존의 slf4j-api-1.5.3.jar 파일을 slf4j-api-1.6.1.jar로 버전 변경 - 기존의 slf4j-log4j12-1.5.3.jar 파일을 slf4j-log4j12-1.6.1.jar로 버전 변경 - 기존의 spring-aop-3.0.4.RELEASE.jar 파일을 spring-aop-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-asm-3.0.4.RELEASE.jar 파일을 spring-asm-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-aspects-3.0.4.RELEASE.jar 파일을 spring-aspects-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-beans-3.0.4.RELEASE.jar 파일을 spring-beans-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-context-3.0.4.RELEASE.jar 파일을 spring-context-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-context-support-3.0.4.RELEASE.jar 파일을 spring-context-support-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-core-3.0.4.RELEASE.jar 파일을 spring-core-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-expression-3.0.4.RELEASE.jar 파일을 spring-expression-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-instrument-3.0.4.RELEASE.jar 파일을 spring-instrument-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-instrument-tomcat-3.0.4.RELEASE.jar 파일을 spring-instrument-tomcat-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-jdbc-3.0.4.RELEASE.jar 파일을 spring-jdbc-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-jms-3.0.4.RELEASE.jar 파일을 spring-jms-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-orm-3.0.4.RELEASE.jar 파일을 spring-orm-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-oxm-3.0.4.RELEASE.jar 파일을 spring-oxm-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-struts-3.0.4.RELEASE.jar 파일을 spring-struts-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-test-3.0.4.RELEASE.jar 파일을 spring-test-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-tx-3.0.4.RELEASE.jar 파일을 spring-tx-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-web-3.0.4.RELEASE.jar 파일을 spring-web-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-webmvc-3.0.4.RELEASE.jar 파일을 spring-webmvc-3.0.5.RELEASE.jar로 버전 변경 - 기존의 spring-webmvc-portlet-3.0.4.RELEASE.jar 파일을 spring-webmvc-portlet-3.0.5.RELEASE.jar로 버전 변경 - 기존의 wss4j-1.5.8.jar 파일을 wss4j-1.5.9.jar로 버전 변경 - 기존의 woodstox-core-asl-3.2.9.jar 파일을 woodstox-core-asl-4.0.8.jar로 버전 변경 - 기존의 XmlSchema-1.4.5.jar 파일을 XmlSchema-1.4.7.jar로 버전 변경 - 기존의 abdera-core-0.4.0-incubating.jar 파일 삭제 - 기존의 abdera-extensions-json-0.4.0-incubating.jar 파일 삭제 - 기존의 abdera-extensions-main-0.4.0-incubating.jar 파일 삭제 - 기존의 abdera-parser-0.4.0-incubating.jar 파일 삭제 - 기존의 abdera-i18n-0.4.0-incubating.jar 파일 삭제 - 기존의 axiom-api-1.2.7.jar 파일 삭제 - 기존의 axiom-impl-1.2.7.jar 파일 삭제 - 기존의 mondrian-3.1.1.12687.jar 파일 삭제 - 기존의 jaxen-1.1.jar 파일 삭제 - 기존의 jetty-6.1.21.jar 파일 삭제 - 기존의 stax-api-1.2.jar 파일 삭제 * 테스트 내역 - Anyframe 4.6.1 버전은 다음과 같은 환경에서 테스트를 거침 . JDK : 1.5 (단, WAS가 WebLogic 10.3, Tomcat 7.0.4일 경우 JDK 1.6 기반) . DB : Hsqldb 2.0.0, Oracle 10g, MySQL 5.0, DB2 9.7, Sybase Anywhere 12.0 . WAS : JEUS 6.0, WebLogic 9.2, 10.0, 10.3, Tomcat 6.0.20, 7.0.4 . Eclipse 3.5.2 * 해결된 이슈 목록 [ANFRM-283] QueryService에 메소드 실행 요청을 동시에 두개 발생시킬 때 가끔 실행 결과가 잘못 출력되는 현상 발생 [ANFRM-280] restweb Plugin을 springrest Plugin으로 Plugin명 변경 [ANFRM-275] cxf-jax-rs Plugin 개발 [ANFRM-274] cxf-jax-ws Plugin으로 Plugin명 변경 [ANFRM-273] Maven 기반으로 CLI 상에서 create project 실행 시 디폴트디비인 HSQL DB에 대한 driver jar path 설정 필요 [ANFRM-272] IDE Editor 내 CTIP tab 내용 중 Hudson URL 등록 팝업 창 메시지 처리 [ANFRM-271] Anyframe Plugin/Service 참조 라이브러리 버전 업그레이드 [ANFRM-270] Generic 서비스에서 제공하는 메소드 추가 구현 [ANFRM-269] Generic 서비스를 사용하는 샘플 플러그인 개발 [ANFRM-266] tag를 확장하여 Double Submit 방지 기능을 위한 설정 방법 추가 [ANFRM-265] Map 기반 CRUD 코드 생성을 위한 템플릿을 Spring 3.0.5 버전 대상으로 테스트 후 수정 [ANFRM-264] CRUD 소스 코드 생성 시 함께 생성되는 샘플데이터를 DBUnit을 통해 Insert 수행 시 에러 발생하는 경우 경고처리한다. [ANFRM-263] CRUD 소스 코드 생성 시 함께 생성되는 샘플데이터의 숫자 타입 생성 로직 수정 [ANFRM-262] DB2 Database Support [ANFRM-261] Configure 팝업에서 Remove으로 URL 삭제시 삭제여부 확인없이 바로 삭제됨. [ANFRM-260] 메시지 내용 중 용어의 일관성이 필요함. [ANFRM-259] 프로젝트 디테일 정보중 빌드 스케쥴 필드의 입력값 체크가 없으며, 빌드 처리시 실패 원인에 대한 적절한 메시지 처리 안됨. [ANFRM-258] 동일한 이미지가 2개의 다른 기능의 버튼에 사용되거나, 버튼 이미지가 누락됨. [ANFRM-256] 메시지 내용에 오탈자 있음 Changes in version 4.6.0 (2010-09-28) ------------------------------------- * 소스 코드 및 테스트 코드 변경 - Subversion 소스 코드 리파지토리 구조 변경 : http://dev.anyframejava.org/subv/anyframe-opensource/anyframe/tags 내의 archetype, ide, plugin, service 폴더 내에서 배포 라이브러리 개별로 버전 관리 수행 : http://dev.anyframejava.org/subv/anyframe-opensource/gen 소스 코드를 http://dev.anyframejava.org/subv/anyframe-opensource/anyframe 하위의 ide 로 통합 * 참조 라이브러리 변경 - 기존의 spring-aop-3.0.3.RELEASE.jar, spring-asm-3.0.3.RELEASE.jar, spring-aspects-3.0.3.RELEASE.jar, spring-beans-3.0.3.RELEASE.jar, spring-context-3.0.3.RELEASE.jar, spring-context-support-3.0.3.RELEASE.jar, spring-core-3.0.3.RELEASE.jar, spring-expression-3.0.3.RELEASE.jar, spring-instrument-3.0.3.RELEASE.jar, spring-instrument-tomcat-3.0.3.RELEASE.jar, spring-jdbc-3.0.3.RELEASE.jar, spring-jms-3.0.3.RELEASE.jar, spring-orm-3.0.3.RELEASE.jar, spring-oxm-3.0.3.RELEASE.jar, spring-struts-3.0.3.RELEASE.jar, spring-test-3.0.3.RELEASE.jar, spring-tx-3.0.3.RELEASE.jar, spring-web-3.0.3.RELEASE.jar, spring-webmvc-3.0.3.RELEASE.jar, spring-webmvc-portlet-3.0.3.RELEASE.jar 파일을 다음과 같이 버전 변경 : spring-aop-3.0.4.RELEASE.jar, spring-asm-3.0.4.RELEASE.jar, spring-aspects-3.0.4.RELEASE.jar, spring-beans-3.0.4.RELEASE.jar, spring-context-3.0.4.RELEASE.jar, spring-context-support-3.0.4.RELEASE.jar, spring-core-3.0.4.RELEASE.jar, spring-expression-3.0.4.RELEASE.jar, spring-instrument-3.0.4RELEASE.jar, spring-instrument-tomcat-3.0.4.RELEASE.jar, spring-jdbc-3.0.4.RELEASE.jar, spring-jms-3.0.4.RELEASE.jar, spring-orm-3.0.4.RELEASE.jar, spring-oxm-3.0.4.RELEASE.jar, spring-struts-3.0.4.RELEASE.jar, spring-test-3.0.4.RELEASE.jar, spring-tx-3.0.4.RELEASE.jar, spring-web-3.0.4.RELEASE.jar, spring-webmvc-3.0.4.RELEASE.jar, spring-webmvc-portlet-3.0.4.RELEASE.jar - 기존의 hibernate-validator-4.0.2.GA.jar 파일을 hibernate-validator-4.1.0.Final.jar로 버전 변경 - 기존의 ehcache-1.6.2.jar 파일을 ehcache-2.2.0.jar로 버전 변경 * 추가된 기능 - 기존 Anyframe GEN을 Anyframe 내에 통합하고 Anyframe IDE로 명명함. Anyframe을 통해 Maven, Ant 기반에서 Command Line Interface 또는 Eclipse Plugin(Anyframe IDE Plugin)을 이용하여 프로젝트 생성 및 코드 생성, 빌드를 포함한 개발 라이프사이클 전 영역 지원 - Maven, Ant 기반에서 다음과 같은 기능 동일하게 수행 지원 : 프로젝트 생성, Plugin 설치/삭제/수정, 테이블 기반 도메인 클래스 생성, 도메인 클래스 기반 CRUD 코드 생성, DB 변경, 참조 라이브러리 WEB-INF/lib 폴더로 복사, Plugin 목록 조회, 설치된 Plugin 목록 조회, Plugin Catalog 최신 업데이트, Anyframe 버전 확인 * 해결된 이슈 목록 [ANFRM-253] 화면 레이아웃을 Tiles 대신 Frameset을 이용하여 SimpleWeb 기능 사용이 가능하도록 Anyframe Tag 확장 [ANFRM-249] IDE를 포함한 ATS 내 Anyframe 개발 환경 구성을 위한 폴더 구조 변경 [ANFRM-248] 도메인 클래스 및 CRUD 소스코드 생성 시 사용되는 Freemarker template을 Velocity template 사용하는 방식으로 변경 [ANFRM-247] IDE Editor내 Installation Tab에 Update Anyframe Plugin 기능 추가 [ANFRM-246] CLI AntRunner 통합 작업 [ANFRM-245] CRUD 소스코드 생성 command 변경(Ant Task) [ANFRM-244] Model Class 생성 command 변경(Ant Task) [ANFRM-243] DB 정보 변경 command 변경(Ant Task) [ANFRM-242] Anyframe Plugin 수정 사항 반영 [ANFRM-235] 동일한 IDE Eclipse Plugin UI에서 프로젝트 빌드 타입 별로 Maven, Ant command 호출 하여 사용 [ANFRM-234] Anyframe IDE Editor 사용 시 Hudson 연결하지 않도록 변경 [ANFRM-233] Maven, Ant 빌드도구 선택 기능을 Preference 화면에서 수행 [ANFRM-232] DB Schema 정보 선택 위치 변경 및 최초 Editor 사용 시 Domain 화면에서 DB 연결을 하지 않도록 한다. [ANFRM-231] Maven Build 수행 결과 메시지창 이용하여 출력 [ANFRM-230] Anyframe Plugin 설치 시 DB 데이터 스크립트 수행 [ANFRM-229] repo 폴더 제거하고 maven local repository 사용하도록 변경 [ANFRM-228] anyframe 명령어를 service 프로젝트에서도 지원하며, 존재하지 않는 폴더를 경로로 지정하는 경우 폴더를 생성한다. [ANFRM-227] maven 프로젝트일 경우 driver에 대한 dependency 정보가 입력되어야 한다. [ANFRM-224] Ant Build 스크립트 통합 [ANFRM-223] DB 설정 정보 통합 [ANFRM-222] Ant Task와 Maven Mojo 공통 기능 통합 [ANFRM-221] Ant Task와 Maven Mojo 공통 기능 통합 [ANFRM-220] CRUD 소스코드 생성 command 추가(Mojo) [ANFRM-219] Model Class 생성 command 추가(Mojo) [ANFRM-218] DB 정보 변경 command 추가(Mojo) [ANFRM-216] foundation, miplatform 플러그인에 singleconfig archetype 에서 반영했던 사항을 적용한다. [ANFRM-214] 프라퍼티 변동사항을 ide eclipse 플러그인에 반영한다. [ANFRM-213] help message 수정 [ANFRM-212] DB 정보 Properties 이용 방식으로 변경 [ANFRM-211] service archetype 추가 [ANFRM-210] basic archetype 수정 Changes in version 4.5.1 (2010-08-05) ------------------------------------- * 소스 코드 및 테스트 코드 변경 - QueryService에서는 Spring JdbcTemplate을 이용하여 정의된 StoredProcedure를 실행하기 위해 "OUT" 또는 "INOUT" 타입의 인자에 대해 SqlOutParameter 객체로 처리하고 있는데 이 과정에서 무조건 typeName을 셋팅하고 있다. 이 로직을 다음과 같이 개선하여 Oracle11g에서도 StoredProcedure가 정상적으로 처리될 수 있도록 하였다. : "OUT" 또는 "INOUT" 타입의 인자가 "DISTINCT, STRUCT, JAVA_OBJECT, ARRAY, REF" 타입인 경우에 대해서는 typeName을 셋팅해주고 그렇지 않을 경우에는 typeName을 셋팅하지 않도록 로직 보완 - Weblogic Server에서 웹개발 영역 단순화를 위해 추가된 Anyframe Tag Library 사용 시 tag body content 처리할 수 있도록 태그 클래스 수정 * 참조 라이브러리 변경 - N/A * 추가된 기능 - 기존의 Servlet Spec. 2.5에서뿐만 아니라 Servlet Spec. 2.4를 지원하는 WAS에서도 Tiles2의 EL Expression 기능 사용 가능 - 웹개발 영역 단순화를 위해 제공되는 공통 콘트롤러를 사용하여 서비스의 메소드를 호출할 때 여러 개의 메소드 파라미터 자동 바인딩 기능 * 해결된 이슈 목록 [ANFRM-209] Servlet 2.4 Spec.을 지원하는 WAS에서 Tiles2의 EL expression 기능을 사용할 수 있도록 기능 추가 [ANFRM-208] SimpleWeb 기능 중 데이터 바인딩 시 자동 설정되는 input/output 어트리뷰트 명을 전체 소문자 형태가 아닌 CamelCase 형태로 변경 [ANFRM-207] Weblogic Server에서 SimpleWeb tag library 사용 시 tag body content 처리 오류 조치 [ANFRM-206] Oracle10g(ojdbc6.jar)를 사용하여 QueryService의 executeBySQL 메소드를 이용하는 경우 프로시져 호출 시 return 결과가 null 인 현상 [ANFRM-205] Plugin 샘플에서 checkbox에 대한 디폴트 값 처리 방식 변경 [ANFRM-142] 웹 프레임워크 강화 기능 가이드 작성 및 리뷰 사항 반영 [ANFRM-126] 공통 콘트롤러를 통해 서비스를 호출할때 service parameter argument 제약 문제 해결 필요 Changes in version 4.5.0 (2010-07-15) ------------------------------------- * 소스 코드 및 테스트 코드 변경 - Plugin 설치로 생성되는 샘플 코드의 도메인을 Product Management에서 MovieFinder로 변경하고 Tiles 기반으로 재구성 - Spring 3 기반으로 Plugin Resources 재구성 - MiPQueryService execute() 메소드의 리턴 타입 변경(void -> DatasetList) * 참조 라이브러리 변경 - 기존의 spring-2.5.6.jar, spring-test-2.5.6.jar, spring-webmvc-2.5.6.jar, spring-agent-2.5.6.jar, spring-aspects-2.5.6.jar, spring-webmvc-portlet-2.5.6.jar, spring-tomcat-weaver-2.5.6.jar, spring-modules-validation-0.9.jar, spring-webmvc-struts-2.5.6.jar 파일을 다음과 같이 변경 : spring-aop-3.0.3.RELEASE.jar, spring-asm-3.0.3.RELEASE.jar, spring-beans-3.0.3.RELEASE.jar, spring-context-3.0.3.RELEASE.jar, spring-core-3.0.3.RELEASE.jar, spring-expression-3.0.3.RELEASE.jar, spring-jdbc-3.0.3.RELEASE.jar, spring-test-3.0.3.RELEASE.jar, spring-tx-3.0.3.RELEASE.jar, spring-web-3.0.3.RELEASE.jar, spring-webmvc-3.0.3.RELEASE.jar, spring-orm-3.0.3.RELEASE.jar, spring-context-support-3.0.3.RELEASE.jar, spring-aspects-3.0.3.RELEASE.jar, spring-instrument-3.0.3.RELEASE.jar spring-instrument-tomcat-3.0.3.RELEASE.jar, spring-jms-3.0.3.RELEASE.jar, spring-oxm-3.0.3.RELEASE.jar, spring-webmvc-portlet-3.0.3.RELEASE.jar, spring-struts-3.0.3.RELEASE.jar - 기존의 spring-binding-2.0.7.RELEASE.jar 파일을 spring-binding-2.0.9.RELEASE.jar 파일로 버전 변경 - 기존의 spring-js-2.0.7.RELEASE.jar 파일을 spring-js-2.0.9.RELEASE.jar 파일로 버전 변경 - 기존의 spring-webflow-2.0.7.RELEASE.jar 파일을 spring-webflow-2.0.9.RELEASE.jar 파일로 버전 변경 - 기존의 aspectjrt-1.6.4.jar 파일을 aspectjrt-1.6.8.jar 파일로 버전 변경 - 기존의 aspectjweaver-1.6.5.jar 파일을 aspectjweaver-1.6.8.jar 파일로 버전 변경 - 기존의 jpa-1.0.jar 파일을 hibernate-jpa-2.0-api-1.0.0.Final.jar 파일로 변경 - 기존의 junit-4.4.jar 파일을 junit-4.7.jar 파일로 버전 변경 - 기존의 xercesImpl-2.6.2.jar 파일을 xercesImpl-2.8.1.jar 파일로 버전 변경 - 기존의 servlet-api-2.4.jar 파일을 servlet-api-2.5.jar 파일로 버전 변경 - 기존 hibernate-3.3.1.GA.jar, hibernate-annotations-3.4.0.GA.jar, hibernate-commons-annotations-3.1.0.GA.jar 파일을 hibernate-3.5.3-Final.jar 파일로 버전 변경 - 기존의 cxf-2.1.3.jar 파일을 cxf-2.2.7.jar 파일로 버전 변경 - 기존의 cxf-manifest-2.1.3.jar 파일을 cxf-manifest-2.2.7.jar 파일로 버전 변경 - 기존의 FastInfoset-1.2.2.jar 파일을 FastInfoset-1.2.7.jar 파일로 버전 변경 - 기존의 geronimo-javamail_1.4_spec-1.3.jar 파일을 geronimo-javamail_1.4_spec-1.6.jar 파일로 버전 변경 - 기존의 stax-api-1.0.1.jar 파일을 stax-api-1.2.jar 파일로 버전 변경 - 기존의 jaxb-impl-2.1.jar 파일을 jaxb-impl-2.1.12.jar 파일로 버전 변경 - 기존의 jaxb-xjc-2.1.7.jar 파일을 jaxb-xjc-2.1.12.jar 파일로 버전 변경 - 기존의 jettison-1.0.1.jar 파일을 jettison-1.2.jar 파일로 버전 변경 - 기존의 jetty-6.1.9.jar 파일을 jetty-6.1.21.jar 파일로 버전 변경 - 기존의 jetty-util-6.1.9.jar 파일을 jetty-util-6.1.21.jar 파일로 버전 변경 - 기존의 jsr311-api-0.8.jar 파일을 jsr311-api-1.0.jar 파일로 버전 변경 - 기존의 wss4j-1.5.4.jar 파일을 wss4j-1.5.8.jar 파일로 버전 변경 - 기존의 wstx-asl-3.2.6.jar 파일을 wstx-asl-3.2.9.jar 파일로 버전 변경 - 기존의 XmlSchema-1.4.2.jar 파일을 XmlSchema-1.4.5.jar 파일로 버전 변경 - 기존의 xmlsec-1.4.0.jar 파일을 xmlsec-1.4.3.jar 파일로 버전 변경 - 기존의 spring-security-acl-2.0.4.jar 파일을 spring-security-acl-3.0.2.RELEASE.jar 파일로 버전 변경 - 기존의 spring-security-core-2.0.4.jar 파일을 spring-security-core-3.0.2.RELEASE.jar 파일로 버전 변경 - 기존의 spring-security-taglibs-2.0.4.jar 파일을 spring-security-taglibs-3.0.2.RELEASE.jar 파일로 버전 변경 - commons-digester-1.8.jar 파일 추가 - javax.inject-1.jar 파일 추가 - validation-api-1.0.0.GA.jar 파일 추가 - joda-time-1.6.jar 파일 추가 - tiles-api-2.2.1.jar, tiles-core-2.2.1.jar, tiles-jsp-2.2.1.jar, tiles-servlet-2.2.1.jar, tiles-template-2.2.1.jar, tiles-el-2.2.1.jar 파일 추가 - hibernate-validator-4.0.2.GA.jar 파일 추가 - ant-1.7.1.jar 파일 추가 - cxf-xjc-boolean-2.2.7.jar 파일 추가 - cxf-xjc-bug671-2.2.7.jar 파일 추가 - cxf-xjc-dv-2.2.7.jar 파일 추가 - cxf-xjc-ts-2.2.7.jar 파일 추가 - js-1.7R1.jar 파일 추가 - oro-2.0.8.jar 파일 추가 - xmlbeans-2.4.0.jar 파일 추가 - spring-security-config-3.0.2.RELEASE.jar 파일 추가 - spring-security-web-3.0.2.RELEASE.jar 파일 추가 - displaytag-1.2.jar 파일 제거 - 기존 apache-log4j-extras-1.0.jar 파일 제거 - 기존 org.springplugins.web-1.0.0.jar 파일 제거 - 기존 tagishauth-1.0.3.jar 파일 제거 - 기존 geronimo-servlet_2.5_spec-1.2.jar 파일 제거 - 기존 hessian-3.1.3.jar 파일 제거 - 기존 jetty-6.1.9.jar 파일 제거 - 기존 jetty-util-6.1.9.jar 파일 제거 - 기존의 abdera-extensions-html-0.4.0-incubating.jar 파일 제거 - 기존의 abdera-server-0.4.0-incubating.jar 파일 제거 - 기존의 jdom-1.0.jar 파일 제거 - 기존의 stax-utils-20060502.jar 파일 제거 - 기존의 spring-security-core-tiger-2.0.4.jar 파일 제거 * 추가된 기능 - Number 타입에 대한 Spring 3 Custom Converter (StringToNumberConverterFactory) 제공 - Spring 3 New Feature에 대한 매뉴얼 컨텐츠 보완 - Spring 3에서 새롭게 선보인 REST Style 웹어플리케이션 구성을 위한 Plugin 제공 - 웹개발 영역 단순화를 위해 추가된 기능을 활용한 SimpleWeb-Map, SimpleWeb-VO, SImpleWeb-JSON Plugin 제공 - 기존 Foundation Plugin을 Anyframe 기반 기본 프로젝트 구조를 갖춘 basic archetype과 Spring/SpringMVC/Query 활용 리소스를 포함한 foundation plugin으로 분리하여 구성 - 설치된 Plugin의 버전을 최신 버전으로 update할 수 있는 기능 - 로컬에 존재하는 버전별 Plugin Catalog 파일을 최신 내용으로 업데이트할 수 있는 기능 - 로컬에 설치된 Plugin의 Master Version을 확인할 수 있는 기능 * 해결된 이슈 목록 [ANFRM-203] MiPQueryService의 execute() 메소드 Multi Row Dataset에 대한 처리 [ANFRM-198] MiPlatform CSV방식 일 경우에 사용하는 MiPPrintWriterRowCallbackHandler의 기능 추가 [ANFRM-197] QueryService 설정시 property 적용 순서에 따른 의존성 이슈 [ANFRM-183] ANT를 이용해서 라이브러리 검색 시, MAVEN과 동일한 방식으로 검색되도록 한다.(ex.json-lib-2.2.3-jdk15.jar) [ANFRM-169] PropertiesService 에서 관리하는 Property 들의 key 목록 도출시 오류 [ANFRM-168] QueryService를 통해 수행되는 쿼리문의 Result Local Mapping시 Column 처리 로직 수정 [ANFRM-164] PropertiesService 에서 관리하는 Property 파일에 대한 Reload 기능 추가 Changes in version 4.2.0 (2010-05-18) ------------------------------------- * 소스 코드 및 테스트 코드 변경 - QueryService의 ReflectionResultSetMapper 클래스 내에서 조회 결과값을 특정 객체로 매핑할 때 조회된 칼럼 목록에 대해 loop을 돌면서 해당 객체가 가진 모든 attribute를 대상으로 하여 매핑 정보를 찾고 있음. 이럴때 매핑을 위해 특정 객체가 가진 attribute가 많은 경우 최대 칼럼 개수 * attribute 개수만큼의 loop이 수행되어 성능에 영향을 미침. 따라서, 특정 객체가 가진 attribute 정보를 Map으로 처리하고 Map의 contains() 메소드를 활용하는 형태로 로직을 개선함. - 다국어 지원을 위해 메새지 리소스 파일의 인코딩 설정을 지정하여 사용할 수 있도록 하는 EncodingResourceBundleMessageSource 클래스 추가됨. (유니코드로 메시지 리소스 파일 저장 불필요해짐) * 참조 라이브러리 변경 - N/A * 추가된 기능 - N/A * 해결된 이슈 목록 [ANFRM-154] QueryService 매뉴얼 보완 (about 복합객체일 경우 Example, ResultSetMapper 활용 Example) [ANFRM-150] QueryService 내의 조회 결과값 매핑 로직 개선 [ANFRM-147] Maven 기반의 Plugin 설치시 발생된 오류에 대해 Warning 레벨의 Log 처리 [ANFRM-144] Source 내 Exception message 출력 수정 [ANFRM-122] Gen에서 Plugin 설치시 라이브러리만 설치한 경우를 식별할 수 있도록 Meta 정보 추가 [ANFRM-121] 일부 Plugin 설치시 BUILD SUCCESSFUL 메시지 없이 작업이 완료되는 현상 조치 [ANFRM-119] Transaction Service 매뉴얼 컨텐츠 내에 JEUS 기반일 경우 설정 추가 [ANFRM-117] DynamicHibernateService 매뉴얼 컨텐츠 내에 NativeSQL 관련 상세 설명 추가 [ANFRM-101] PluginInfo 내에 SampleCode 포함 여부를 나타내는 속성 추가 정의 Changes in version 4.1.0 (2010-02-25) ------------------------------------- * 소스 코드 및 테스트 코드 변경 - Anyframe의 모든 소스/테스트 코드에 대해 JDK 1.5 기반에서 컴파일. 따라서, Anyframe 4.1.0 이후부터 Anyframe 기반 어플리케이션은 JDK 1.5 이상에서만 동작 가능함. - 4.0.0에서 제공된 모든 Plugin의 리소스들을 Annotation 기반으로 변경 - QueryService 사용시 PagingSQLGenerator를 필수적으로 지정하도록 하기 위해 QueryServiceImpl, RiaQueryServiceImpl 내에 afterPropertiesSet() 메소드 추가 구현함. 사용하는 DB에 적합한 PagingSQLGenerator가 없을 경우 별도로 구현하거나 QueryService에서 제공하는 DefaultPagingSQLGenerator를 사용할 수 있음. 단, DefaultPagingSQLGenerator를 사용하는 경우 쿼리 조건에 해당하는 전체 데이터를 모두 fetch한 이후 ResultSet Cursor를 움직여서 특정 페이지에 속한 목록 정보를 조회하게 되므로 어플리케이션의 성능에 심각한 영향을 초래할 수 있음을 인지해야 함. - QueryService에서 ResultSet으로부터 검색 결과를 꺼낼때 칼럼명이 아닌 칼럼Index를 활용하도록 로직을 변경함으로써 목록 조회시 성능 개선 * 참조 라이브러리 변경 - N/A * 추가된 기능 - Flex 기반 비즈니스 레이어 개발시 공통적으로 활용할 수 있도록 기본 CRUD 기능을 구현한 anyframe.ria.flex 추가 - 특정 어플리케이션에 대한 모니터링 기능을 수행하기 위해 필요한 리소스를 설치해주는 Monitoring Plugin 추가 - mvn anyframe:list 수행시 설치가능한 Plugin 정보를 선택적으로 조회할 수 있도록 showall property 추가 - WebServices를 통해 통신하기 위해 JAXB Databinding을 수행하는 경우 JAXB 표준에서 List 형태의 타입은 지원하나 Map 형태의 타입에 대해서는 Databinding을 기본적으로 지원하지 않음. 따라서, Map 형태의 타입을 이용하여 Databinding하기 위해서는 XmlAdapter 클래스 추가 개발이 필요함. 이를 위해 공통적으로 활용할 수 있는 CXFMapAdater 클래스를 생성하여 anyframe.common에 추가 * 해결된 이슈 목록 [ANFRM-78] MiPQueryServiceTest 소수점이 포함된 double type 테스트케이스 추가 [ANFRM-76] ResultSet으로부터 검색 결과를 꺼낼때 칼럼명이 아닌 칼럼Index를 활용하도록 로직 수정 [ANFRM-75] QueryService 사용시 반드시 SQLGenerator를 지정하도록 로직 변경 [ANFRM-74] 설치 가능한 plugin 목록 조회 기능에 option을 추가하여 정보를 간단화하여 볼 수 있도록 개선 [ANFRM-73] Apache CXF Plugin에 포함되어 있던 CXF Map Adaptor를 Anyframe Common 기능으로 추가 [ANFRM-72] anyframe:inplace 수행시 uninstall된 plugin의 dependency 라이브러리가 삭제되지 않고 남아 있는 현상 [ANFRM-71] Annotation 기반으로 Plugin 리소스 변경 [ANFRM-70] DynamicHibernateService를 통해 mapping XML load시 XML Parsing 에러 [ANFRM-69] API 문서 한글 깨짐 [ANFRM-68] Monitoring Plugin을 위한 템플릿 정의 Changes in version 4.0.0 (2009-11-18) ------------------------------------- * 소스 코드 및 테스트 코드 변경 - QueryService를 이용하여 목록 조회 결과를 특정 객체에 매핑할 때 반복 수행되는 로직을 제거하기 위해, SQLLoader에서 한 번 처리한 ResultMapping 정보를 관리하도록 로직 보완. 따라서 조회되는 칼럼 정보가 쿼리문 실행시마다 변경될 수 있는 동적 쿼리문에 대해서는 별도로 Mapper 클래스를 정의해 주어야 함. . Result가 Map일 경우 기본 적용되는 DefaultCallbackResultSetMapper 클래스 추가 . Result가 VO일 경우 기본 적용되는 DefaultReflectionResultSetMapper 클래스 추가 . ColumnUtil 클래스 추가 . QueryServiceImpl, SQLLoader 클래스의 ResultSetMapper 관련 로직 보완 - StoredProcedure 수행시 CamelCase, Lower, Upper와 같은 Result Mapping Style을 적용할 수 있도록 MappingStyleColumnMapRowMapper 클래스 추가 - 모든 소스 프로젝트에 대한 Maven Parent Project 변경 (anyframe.root -> anyframe.common.maven.root) * 참조 라이브러리 변경 - 기존의 log4j-1.3alpha8.jar 파일을 log4j-1.2.15.jar 파일로 버전 변경 - 기존의 velocity-1.5.jar 파일을 velocity-1.6.2.jar 파일로 버전 업그레이드 - 기존의 commons-pool-1.4.jar 파일을 commons-pool-1.5.3.jar 파일로 버전 업그레이드 - 기존의 aspectjweaver-1.6.4.jar 파일을 aspectjweaver-1.6.5.jar 파일로 버전 업그레이드 - 기존의 jasperreports-2.0.2.jar 파일을 jasperreports-3.1.0.jar 파일로 버전 업그레이드 * 추가된 기능 - Plugin 기반으로 프로젝트에 최적화된 개발 환경을 구성할 수 있도록 Anyframe 설치 방법 대폭 개선 . Plugin 15종 제공 - foundation, cache, cxf, dynamicmodule, hibernate, jasper, miplatform, mipsample, remoting, scheduling, security, spring-optional, struts, test, webflow . Maven을 이용한 Plugin 설치/삭제, Plugin 설치 현황 조회 기능 등 제공 - Miplatform 기반에서 기본 CRUD 기능을 수행하는 서비스 클래스들을 제공하며 QueryService를 이용하는 DAO 클래스들도 함께 제공 - Dynamic Hibernate Service를 통해 Dynamic Native SQL 처리할 수 있도록 기능 추가 - 기존 온라인 상에서만 접근 가능하던 매뉴얼을 PDF 형태로 제공할 수 있도록 전면 개편 * 해결된 이슈 목록 [CORE-130] MiPQuerySerivce 사용 시 Query에 정의된 Column이 Dataset에 없을 경우 Message처리 오류 [CORE-129] MiPQueryService에서 Dataset row의 status와 상관없이 insert/update/delete 가능한 메소드 추가 [CORE-128] QueryService 기반에서 조회 결과 매핑시 칼럼명을 Camel-Case 형태로 변경하는 로직에서 실행 시간이 많이 소요되는 현상 제거 [CORE-127] MiPQueryService에 Callablestatement 처리 기능 추가 [CORE-125] Properties Service에서 properties 파일 내에 정의된 정보를 읽어들일때, '\,' 와 같이 정의되었음에도 ','가 escape 되지 않음 [CORE-124] IdGenerationService에서 DataSource Connection을 직접 Handling하지 않도록 로직 보완 [CORE-123] Miplatform 기반에서 비즈니스 레이어 개발시 공통으로 활용할 수 있는 Anyframe Ria Mip 서비스 추가 [CORE-122] QueryService에서 Stored procedure 수행 시 mapping style 적용 필요함 [CORE-121] Transfer Object 객체 내에 boolean type의 attribute가 있을 경우 getter 를 찾지 못해 NULL 셋팅됨. [CORE-120] 객체를 이용하여 batch로 CUD 수행시 칼럼값이 NULL로 셋팅되는 현상 발생 [CORE-118] Basis Service QueryDAOUtil 클래스 내 메소드에서 예외처리 메시지 처리 필요 [CORE-117] Basis Service의 Service와 DAO 클래스 디폴트 생성자 필요 [CORE-116] MiPQueryServie의 update메소드 실행 순서의 문제 수정