Hi,
I’m new to Vaadin and Roo, but slowing getting the hang of it. However, I’ve noticed a problem/bug with the vaadin roo plugin. I’m using the vaadin roo addon 1.1.1.
I initially created my Vaadin app as per the tutorial in
Book of Vaadin - Chapter 14
. However, I decided that I didn’t want to use the Active Record pattern, and switch to a Spring/Roo repository pattern instead:
roo> entity jpa --class ~.domain.ClientList --activeRecord false
roo> repository jpa --interface ~.domain.ClientListDAO --entity ~.domain.ClientList
Although this sets up my domain object and DAO/repo properly, the vaadin-roo addon does not modify my MyObjView_Roo_VaadinEntityView.aj aspect to properly use the new DAO. Instead, I still have the original code in my aspect for listEntities():
public List<ClientList> ClientListView.listEntities() {
List<ClientList> list = ClientList.findAll();
return list;
}
Using Spring Data Repos instead of the ActiveRecord, this should read:
@Autowired ClientListDAO clientListDao;
public List<ClientList> ClientListView.listEntities() {
List<ClientList> list = clientListDao.findAll();
return list;
}
Is this a bug/deficiency in the vaadin-roo plugin? Does this mean that I am unable to use the plugin? Or do I have to manually override all the invalid roo generated aspects?
A little more prodding around and I’ve come to notice that if --activeRecord is false on the entity, then none of the roo generated vaadin forms or views are generated properly - no roo aspects are created for the View or the List and several methods are missing from the java files.
Thanks,
Eric