Se requiere crear una anotacion para las colecciones, que permita incluir acciones para cada una de las filas de la coleccion pero no en la parte superior de la misma, ver https://sourceforge.net/projects/openxava/forums/forum/419690/topic/5316777/index/page/1
Archivos creados:
RowAction.java (org.openxava.annotations)
RowActions.java (org.openxava.annotations)
Archivos modificados:
AnnotatedClassParser.java (org.openxava.annotations.parse)
MetaCollectionView (org.openxava.view.meta)
View.java (org.openxava.view)
collectionEditor.jsp (openxava/web/editors)
default-controllers.xml (openxava/xava)
Tambien modifique estos archivos de mensajes:
Messages_es.properties
Messages_en.properties
Messages_ca.properties
Messages_it.properties
Messages_sv.properties
Messages_sr.properties
Messages_fr.properties
Anotacion @RowAction
Nota: la anotación se creo sobre la version 4.4 de OpenXava
¡Buen trabajo Oscar! Estoy integrando tu código para que esté disponible en OX4.6 y es perfecto. Salvo por la implementación de getRowActionsNames() de View que debería ser así:
public Collection getRowActionsNames() { // tmp
Collection rowActionsNames = new ArrayList();
if (isCollectionEditable() && isRowAction(getRemoveSelectedCollectionElementsAction())) {
rowActionsNames.add(getRemoveSelectedCollectionElementsAction());
}
rowActionsNames.addAll(getActionsNamesRow());
// Inicio: Te ha faltado esto, para que las acciones de lista también aparezcan en las filas.
for (Object action: getActionsNamesList()) {
if (isRowAction(action)) {
rowActionsNames.add(action);
}
}
// Fin
return rowActionsNames;
}
Oscar, tu código ya está incluido en OX y estará en OX4.6. Gracias por la contribución. He puesto tu nombre en los créditos de OX:
http://www.openxava.org/web/guest/credits