블로그 이미지
Max.

calendar

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Notice

2011.07.08 08:58 개발관련
희망의 나라로....




저작자 표시
신고
posted by Max.
TAG addon, max, ROO, Spring
2011.07.06 19:39 개발관련
>roo
roo>osgi start --url http://localhost/test/addon/com.ks.spring.roo.addon.maxosgi-1.0.0.M2.jar 
roo> max osgi install
roo>max show start --topLevelPackage net.max --projectName test2
>q
>mvn jetty:run
>roo
roo>max osgi uninstall  

 
저작자 표시
신고
posted by Max.
TAG addon, max, ROO, spirng
2011.07.04 10:13 개발관련


spring roo addon max M1 final...
저작자 표시
신고
posted by Max.
TAG addon, max, ROO, Spring
2011.06.14 10:48 개발관련

D:\work\test2>roo
    ____  ____  ____
   / __ \/ __ \/ __ \
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|\____/\____/    1.1.3.RELEASE [rev 4404ffb]


Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
0 upgrades available (plus 29 upgrades not visible due to your version stability setting of RELEASE)
roo>
roo> project --topLevelPackage net.max --projectName test2
roo> persistence setup --provider HIBERNATE --database MYSQL 
roo> entity --class ~.domain.Account
roo> field string --fieldName name
roo> field string --fieldName email
roo> max setup
roo> max service --class ~.service.AccountService --entity ~.domain.Account
roo> max web --class ~.web.AccountController --service ~.service.AccountService
roo> q
> mvn jetty:run


 일단 여기까지....
저작자 표시
신고
posted by Max.
TAG addon, max, ROO
2011.06.14 08:27 개발관련
일단 거창하게.....

 
음..... 좀 많네.... 
심심할때 하나씩 만들다 보면.... 뭐라도 나오겠지... 
저작자 표시
신고
posted by Max.
TAG addon, ROO
2011.06.13 08:51 개발관련
1) 구현하려는 코드의 layer는 service와 UI 부분인데, 기존의 Roo addon의 해당 addon들이 활용성이 떨어지는 이유는 복잡하고, 유연성이 작았기 때문이다.

2)  Scaffold방식의 문제점은, 극도의 유연성을 요하는 UI에 ITDs를 적용함으로, 유연성에 제약을 줬다는 것이고, 편리함이나 복잡해 보이는 것은 핵심이 아니다.

3) 따라서, UI에서는 ITDs 포기한다. 모든 생성코드는 순수 java로 한다. 순수자바를 생성할때 문제는, 중복코드다. 이것은 Generic으로 해결한다.

4) MaxGenericService, MaxGenericController를 만든다.  또한, tiles 보다 sitemesh를 사용할것이고, jspx 보다 jsp를 사용할 것이다.
저작자 표시
신고
posted by Max.
TAG addon, ROO
2011.06.13 08:37 개발관련
일반적인 addon 개발 절차는 아래처럼 한다.

1) addon 프로젝트 수정 후

2)  perform assembly
(컴파일)

3) osgi ps
(osgi 번들 확인)

4) osgi uninstall --bundleSymbolicName com.ks.spring.roo.addon.maxservice
(만약 첫번째라면, osgi start 먼저 한다.)

5) osgi start --url http://localhost/testweb/addon/com.ks.spring.roo.addon.maxservice-0.1.0.BUILD-SNAPSHOT.jar 
(현재버전은(1.1.3) window 계열이 아니라면 file:// 로 대신할수 있다.) 

6) osgi ps
(osgi 번들 확인)

7) 이후 타켓 프로젝트에서 테스트 한다.

8) 다시 1)번을 반복한다. 

저작자 표시
신고
posted by Max.
TAG addon, ROO
2011.06.13 08:32 개발관련
roo에서 소스생성방법은 크게 두가지다. shell command로 java나 리소스 파일을 생성하는 것과 metadata로 aj파일을 생성하는 방법이다. 각각 쓰임새가 다르다. addon 개발시 특징을 살리면, 효과적으로 개발할수 있다.

1) Command
max service --name ~.account.service.AccountService --entity ~.account.domain.Account 

[생성] ~.account.service.AccountService.java
[생성] ~.account.service.AccountServiceResult.java
[생성] ~.account.service.impl.AccountServiceImpl.java

max web --name ~.account.web.AccountController --service ~.account.service.AccountService

[생성] ~.account.web.AccountController.java

2) Metadata
@Roo_Max_Service
[생성] ~.account.service.impl.AccountServiceImpl_Roo_Service.aj

@Roo_Max_Service_Result

[생성] ~.account.service.AccountServiceResult_Roo_Result.aj

@Roo_Max_Web(
create=true,
update=true,
delete=true,
show=true,
list=true
)

[생성] /src/webapp/WEB-INF/views/accounts/create.jsp
[생성] /src/webapp/WEB-INF/views/accounts/update.jsp
[생성] /src/webapp/WEB-INF/views/accounts/delete.jsp
[생성] /src/webapp/WEB-INF/views/accounts/show.jsp
[생성] /src/webapp/WEB-INF/views/accounts/list.jsp

저작자 표시
신고
posted by Max.
TAG addon, ROO
2011.06.05 09:49 개발관련
기본의 무식하게 절차적인 방법으로 작은 소스코드 생성에도 많은 코딩량 때문에 지쳤었는데, 멋지네... 그런데 XML(설정이나 메이븐)은 아직도 고전적인 방법인가? Template를 이용하면 될것 같은데...

1) shell command를 직접 이용하는 방법

// -----------------------------------------------------------------------------------
// Create User entity
// -----------------------------------------------------------------------------------
shell.executeCommand("entity --class " + entityPackage
+ ".User --testAutomatically --permitReservedWords");
shell.executeCommand("field string --fieldName firstName --sizeMin 1 --notNull");
shell.executeCommand("field string --fieldName lastName --sizeMin 1 --notNull");
shell.executeCommand("field string --fieldName emailAddress --sizeMin 1 --notNull --unique");
shell.executeCommand("field string --fieldName password --sizeMin 1 --notNull");
shell.executeCommand("field date --fieldName activationDate --type java.util.Date ");
shell.executeCommand("field string --fieldName activationKey ");
shell.executeCommand("field boolean --fieldName enabled ");
shell.executeCommand("field boolean --fieldName locked ");



2) Template를 이용하는 방법

Map<String, String> map = new HashMap<String, String>();

map.put(pathResolver.getIdentifier(Path.SRC_MAIN_JAVA,
finalControllerPackage.replace('.', separator) + separator
+ "ChangePasswordController.java"),
"ChangePasswordController.java-template");

map.put(pathResolver.getIdentifier(Path.SRC_MAIN_JAVA,
finalControllerPackage.replace('.', separator) + separator
+ "ChangePasswordForm.java"),
"ChangePasswordForm.java-template");



이제 노트북끄고, 놀려가야지...
 
 
저작자 표시
신고
posted by Max.
TAG addon, ROO
2009.09.02 14:40 개발관련

한동안 Roo 개발이 뜸 했었습니다. 9/1일자로 다시 시작되고 있는데, 최근에 개발되고 있는 addon 모듈이 바로 web-mvc 입니다. 과거 제가 Roo UI는 구리다 라고 했는데, addon-web-mvc에서는 layout을 tiles로 바꾸고, css와 Dojo-dijit 테마, i18n message 그리고 spring:theme 까지 추가해서 개발되고 있는걸 보니, 또다른 UI를 선 보일듯 합니다.

새로운 UI에 대한 addon 개발은 다소 의도적인듯 합니다. Roo가 활성화 되려면, 여러가지 UI addon 모듈이 개발되길 원하는 전략적인 것인지도 모르겠습니다. 아무튼 좋은소식입니다. 하루빨리 나오길 기대해 봅니다.

신고

'개발관련' 카테고리의 다른 글

Roo를 바라보는 시선  (0) 2009.09.05
몇 안남은 옛날 개발자  (4) 2009.09.04
Roo addon-web-mvc-jsp  (0) 2009.09.02
쉬운것 과 어려운것  (5) 2009.08.27
Spring Roo ITDs의 가독성  (0) 2009.08.22
김대중 전 대통령의 서거를 기록한다  (4) 2009.08.20
posted by Max.
TAG addon, ROO, Spring
prev 1 next

티스토리 툴바