블로그 이미지
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    

Notice

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
2011.06.05 09:27 개발관련
DWR처럼 Sitemesh도 너무 오랫동안 처다보지 못해서, 설정방법이 오래되어 있었는데, 3.0에서는 설정방법이 다양해질듯 하다. 아직 알파버전이라 적용하긴 힘들겠지만, 조만간 버전업되면, 바꿔야 할것이다. 

주요내용은 이 사이트를 참조 하자. 

http://www.sitemesh.org/new-in-sitemesh3.html

 
저작자 표시
신고
posted by Max.
TAG Sitemesh
2011.06.05 09:10 개발관련
내가 이글(http://yunsunghan.tistory.com/137)를 쓴지가 벌써 3,4년 전이였는데 아직도 그설정 그대로 사용하고 있는걸 보니, 이젠 뭔가 바뀌어 있지 않을까 하고 찾아 봤다. 별고 바뀐건 없지만, 한가지 눈에 띄는게 있다. @DataTransferObject 인데, 그땐 발견하지 못한건지, 적용하지 못하고 있음을 과거글에서 찾아 볼수있다. 모델 매핑은 XML에서 하고 있으니 말이다. 

경기도 시흥에 1박으로 놀려놨다가 아침에 다른(addon)것 찾아보다 발견하여 기록해본다. @DataTransferObject를 적용하는 방법은 여기(http://www.butterdev.com/dwr/2010/10/dwr-spring-and-annotations/)에 잘 나와 있다. 핵심은 아래 코드를 참조하자. 

[XML설정]

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd">
  
   <dwr:configuration />   
   <dwr:annotation-scan base-package="org.uk.ltd.dwr.dev" scanDataTransferObject="true" scanRemoteProxy="true"/>   
</beans>



[소스코드-Bean]

@DataTransferObject
public class Address {
private String street;
...


[소스코드-Biz]

@RemoteProxy(name="dwrService")
public class DWRService {
public DWRService() { }
@RemoteMethod
public Address getAddress() throws Exception {
Address address = new Address();
address.setStreet("2245 NW Overlook Drive");
address.setCity("Portland");
address.setState("Oregon");
return address;
}
     ... 

저작자 표시
신고
posted by Max.
TAG DWR
prev 1 next

티스토리 툴바