Commit 6e907d2a8f722396608f46b0c3835ac574c70789
Exists in
master
Merge pull request #5 from reinaldoc/master
Melhoria do processo de deleção de registros
Showing
2 changed files
with
28 additions
and
1 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java
| ... | ... | @@ -37,6 +37,7 @@ |
| 37 | 37 | package br.gov.frameworkdemoiselle.template; |
| 38 | 38 | |
| 39 | 39 | import java.util.List; |
| 40 | +import java.util.ListIterator; | |
| 40 | 41 | |
| 41 | 42 | import br.gov.frameworkdemoiselle.transaction.Transactional; |
| 42 | 43 | import br.gov.frameworkdemoiselle.util.Beans; |
| ... | ... | @@ -56,6 +57,14 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { |
| 56 | 57 | this.getDelegate().delete(id); |
| 57 | 58 | } |
| 58 | 59 | |
| 60 | + @Transactional | |
| 61 | + public void delete(final List<I> idList) { | |
| 62 | + ListIterator<I> iter = idList.listIterator(); | |
| 63 | + while (iter.hasNext()) { | |
| 64 | + this.delete(iter.next()); | |
| 65 | + } | |
| 66 | + } | |
| 67 | + | |
| 59 | 68 | @Override |
| 60 | 69 | public List<T> findAll() { |
| 61 | 70 | return getDelegate().findAll(); |
| ... | ... | @@ -91,5 +100,5 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { |
| 91 | 100 | public void update(final T bean) { |
| 92 | 101 | getDelegate().update(bean); |
| 93 | 102 | } |
| 94 | - | |
| 103 | + | |
| 95 | 104 | } | ... | ... |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java
| ... | ... | @@ -36,7 +36,9 @@ |
| 36 | 36 | */ |
| 37 | 37 | package br.gov.frameworkdemoiselle.template; |
| 38 | 38 | |
| 39 | +import java.util.ArrayList; | |
| 39 | 40 | import java.util.HashMap; |
| 41 | +import java.util.Iterator; | |
| 40 | 42 | import java.util.List; |
| 41 | 43 | import java.util.Map; |
| 42 | 44 | |
| ... | ... | @@ -111,6 +113,22 @@ public abstract class AbstractListPageBean<T, I> extends AbstractPageBean implem |
| 111 | 113 | this.selection = selection; |
| 112 | 114 | } |
| 113 | 115 | |
| 116 | + public void clearSelection() { | |
| 117 | + this.selection = new HashMap<I, Boolean>(); | |
| 118 | + } | |
| 119 | + | |
| 120 | + public List<I> getSelectedList() { | |
| 121 | + List<I> selectedList = new ArrayList<I>(); | |
| 122 | + Iterator<I> iter = getSelection().keySet().iterator(); | |
| 123 | + while (iter.hasNext()) { | |
| 124 | + I id = iter.next(); | |
| 125 | + if (getSelection().get(id)) { | |
| 126 | + selectedList.add(id); | |
| 127 | + } | |
| 128 | + } | |
| 129 | + return selectedList; | |
| 130 | + } | |
| 131 | + | |
| 114 | 132 | public Pagination getPagination() { |
| 115 | 133 | return paginationContext.getPagination(getBeanClass(), true); |
| 116 | 134 | } | ... | ... |