2014-09-18 12 views
0

* .mtl 파일에 정의 된 다른 Acceleo 템플릿을 사용하여 일부 파일을 생성합니다. 상단 연산에서 Acceleo M2T - 생성 된 파일에 타임 스탬프 쓰기

내가 같은 것을 쓸 필요가 이러한 파일 :

#----------------------------------------------------------------------------- 
# Project automatically generated by XXX at (add timestamp here) 
#----------------------------------------------------------------------------- 

어떻게 동적으로 타임 스탬프 내가 파일을 생성 할 때마다 생성 할 수 있을까?

감사합니다.

편집 : 아래에 설명 된대로이 문제를 해결했습니다. GenerationSupport라는 클래스를 만들고, 그런 다음

[module generate('platform:/resource/qt48_model/qt48_xmlschema.xsd') ] 
[comment get timestamp/] 
[query public getCurrentTime(c : OclAny) : String = 
invoke('org.eclipse.acceleo.qt_test_api.generator.common.GenerationSupport', 'getCurrentTime()', Sequence{}) /] 

및라는 방법 getCurrentTime() 추가 :

는 그냥 module 선언 후, query 선언을 추가

package org.eclipse.acceleo.qt_test_api.generator.common; 

import java.sql.Timestamp; 

public class GenerationSupport { 

public String getCurrentTime(){ 
    java.util.Date date = new java.util.Date(); 
    Timestamp ts = new Timestamp(date.getTime()); 
    return ts.toString(); 
}} 

답변

2

은 다음과 같이 뭔가를 시도 :

[query public getCurrentTime(traceabilityContext : OclAny): 
    String = invoke('yourPackage.YourJavaClass', 'getCurrentTime()', Sequence{}) 
/] 

그리고 자바 클래스

가이 기능을하는 방법을 선언

public String getCurrentTime(){ 
    return customDate; 
} 

이 경우 "customDate는"사용자 정의 형식의 String해야한다 : new Date(). toString(), 형식 mm/dd/yyyy 또는 원하는 것을 사용하십시오.

행운 MANIFEST.MF

에 패키지를 내보내려면이 자바 클래스를 포함하는 패키지를 추가하는 것을 잊지 마십시오!

0

당신은 불리는 것을 사용해야합니다을 서비스". 기본적으로 문자열을 날짜로 반환하는 클래스의 공용 메서드입니다. 원하는 방식으로 서식이 지정됩니다. 서비스가 어떻게 사용되는지 확인하려면 acceleo 자습서를 참조하십시오. 모든 것이 있습니다.