2013-03-30 4 views
0

Мне нужно создать проект в jboss errai с GWT, но я хочу сгенерировать must моего кода модели, используя acceleo, используя модель моделирования eclipse .ecore. Я сделал это.Интеграция acceleo с jboss errai и gwt

  1. создал Maven проект с помощью команды

МВН архетип: генерировать -DarchetypeGroupId = org.jboss.errai.archetypes -DarchetypeArtifactId = КДИ-Quickstart -DarchetypeVersion = 2.2.0.Final

  1. Импортированный проект, чтобы затмить как существующий проект maven.

  2. Переход к Acceleo-> Преобразование проекта в проект генератора Acceleo, но ничего не получающего.

  3. Тогда я иду в Acceleo-> Преобразовать в Acceleo MTL проекты и создал новый проект acceleo и созданную модель для моего предыдущего проекта с использованием .ecore модели, но получает ошибку в классе модели, как я получаю EString в строках и других также как E-datatype, plz предлагает решение, как я могу использовать функцию acceleo в проекте jboss errai maven.

мой файл шаблона, как:

[comment encoding = UTF-8 /] 
[module main('http://www.eclipse.org/emf/2002/Ecore') ] 



[template public generateElement(anEClass : EClass)] 
[comment @main /] 
[file (anEClass.name.concat('.java'), false, 'UTF-8')] 
    public class [anEClass.name.toUpperFirst()/]{ 
[ for (p:EAttribute|anEClass.eAttributes) separator('\n')] 
private [p.eAttributeType.name/] [p.name/]; 
[/for] 

[ for (p:EAttribute|anEClass.eAttributes) separator('\n')] 
public [p.eAttributeType.name/] get[p.name.toUpperFirst()/]() 
{ 

    return this.[p.name/]; 


} 
[/for] 

[ for (p:EAttribute|anEClass.eAttributes) separator('\n')] 
public void set[p.name.toUpperFirst()/]([p.eAttributeType.name/] [p.name/]) 
{ 
this.[p.name/]=[p.name/]; 
} 
[/for] 


[protected ('protected')] 

[/protected] 

} 



[/file] 
[/template] 

Одна из модели генерируемой из .ecore модели как

public class UserRegistration { 
    private EString strFirstName; 
    private EString strSurName; 
    private EString strOccupation; 
    private EString strQualificaion; 
    private EString strFotherName; 
    private EString strMotherName; 
    private EEList chMaritalStatus; 
    private EDouble dblAnnualIncome; 
    private EDate dtDOB; 
    private EString strAbout; 
    private EJavaClass objAcceleo; 

    public EString getStrFirstName() { 
     return this.strFirstName; 
    } 

    public EString getStrSurName() { 
     return this.strSurName; 
    } 

    public EString getStrOccupation() { 
     return this.strOccupation; 
    } 

    public EString getStrQualificaion() { 
     return this.strQualificaion; 
    } 

    public EString getStrFotherName() { 
     return this.strFotherName; 
    } 

    public EString getStrMotherName() { 
     return this.strMotherName; 
    } 

    public EEList getChMaritalStatus() { 
     return this.chMaritalStatus; 
    } 

    public EDouble getDblAnnualIncome() { 
     return this.dblAnnualIncome; 
    } 

    public EDate getDtDOB() { 
     return this.dtDOB; 
    } 

    public EString getStrAbout() { 
     return this.strAbout; 
    } 

    public EJavaClass getObjAcceleo() { 
     return this.objAcceleo; 
    } 

    public void setStrFirstName(EString strFirstName) { 
     this.strFirstName = strFirstName; 
    } 

    public void setStrSurName(EString strSurName) { 
     this.strSurName = strSurName; 
    } 

    public void setStrOccupation(EString strOccupation) { 
     this.strOccupation = strOccupation; 
    } 

    public void setStrQualificaion(EString strQualificaion) { 
     this.strQualificaion = strQualificaion; 
    } 

    public void setStrFotherName(EString strFotherName) { 
     this.strFotherName = strFotherName; 
    } 

    public void setStrMotherName(EString strMotherName) { 
     this.strMotherName = strMotherName; 
    } 

    public void setChMaritalStatus(EEList chMaritalStatus) { 
     this.chMaritalStatus = chMaritalStatus; 
    } 

    public void setDblAnnualIncome(EDouble dblAnnualIncome) { 
     this.dblAnnualIncome = dblAnnualIncome; 
    } 

    public void setDtDOB(EDate dtDOB) { 
     this.dtDOB = dtDOB; 
    } 

    public void setStrAbout(EString strAbout) { 
     this.strAbout = strAbout; 
    } 

    public void setObjAcceleo(EJavaClass objAcceleo) { 
     this.objAcceleo = objAcceleo; 
    } 

    //Start of user code protected 
    //End of user code 
} 

Здесь я получаю EString на месте строки и другой примитив тип данных как тип E-Data.

Plz предложить решение Как я могу получить Java Data и другой процессор для того же

ответ

0

На самом деле я получил основной ответ на мой вопрос, который я только что изменил в моем файле MTL

[comment encoding = UTF-8 /] 
[module main('http://www.eclipse.org/emf/2002/Ecore')/] 
[template public generateElement(anEClass : EClass)] 
[comment @main /] 
[file (anEClass.name.concat('.java'), false, 'UTF-8')] 
package com.garvityWeb.main.migrated.models; 
@Portable 
public class [anEClass.name.toUpperFirst()/] 
{ 
[ for (p:EAttribute|anEClass.eAttributes) separator('\n')] 
@Inject 
@DataField 
private [p.eAttributeType.instanceClassName/] [p.name/]; 
[/for] 

[ for (p:EAttribute|anEClass.eAttributes) separator('\n')] 
public [p.eAttributeType.instanceClassName/] get[p.name.toUpperFirst()/]() 
{ 
    return this.[p.name/]; 
} 
[/for] 
[ for (p:EAttribute|anEClass.eAttributes) separator('\n')] 
public void set[p.name.toUpperFirst()/]([p.eAttributeType.instanceClassName/] [p.name/]) 
{ 
this.[p.name/]=[p.name/]; 
} 
[/for] 
} 
[/file] 
[/template] 
Смежные вопросы