From e37f6eddcd89a3a74f0f260753f2610940683e4e Mon Sep 17 00:00:00 2001 From: Reinaldo Gil Lima de Carvalho Date: Mon, 28 Nov 2011 22:31:19 -0300 Subject: [PATCH] Melhora do processo de deleção de registros (AbstractListPageBean / DelegateCrud) --- impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java | 10 +++++++++- impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java index 611087c..f79a645 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java @@ -56,6 +56,14 @@ public class DelegateCrud> implements Crud { this.getDelegate().delete(id); } + @Transactional + public void delete(final List idList) { + ListIterator iter = idList.listIterator(); + while (iter.hasNext()) { + this.delete(iter.next()); + } + } + @Override public List findAll() { return getDelegate().findAll(); @@ -91,5 +99,5 @@ public class DelegateCrud> implements Crud { public void update(final T bean) { getDelegate().update(bean); } - + } diff --git a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java index 9139802..6e07e70 100644 --- a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java +++ b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java @@ -111,6 +111,22 @@ public abstract class AbstractListPageBean extends AbstractPageBean implem this.selection = selection; } + public void clearSelection() { + this.selection = new HashMap(); + } + + public List getSelectedList() { + List selectedList = new ArrayList(); + Iterator iter = getSelection().keySet().iterator(); + while (iter.hasNext()) { + I id = iter.next(); + if (getSelection().get(id)) { + selectedList.add(id); + } + } + return selectedList; + } + public Pagination getPagination() { return paginationContext.getPagination(getBeanClass(), true); } -- libgit2 0.21.2