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,6 +37,7 @@ | ||
| 37 | package br.gov.frameworkdemoiselle.template; | 37 | package br.gov.frameworkdemoiselle.template; |
| 38 | 38 | ||
| 39 | import java.util.List; | 39 | import java.util.List; |
| 40 | +import java.util.ListIterator; | ||
| 40 | 41 | ||
| 41 | import br.gov.frameworkdemoiselle.transaction.Transactional; | 42 | import br.gov.frameworkdemoiselle.transaction.Transactional; |
| 42 | import br.gov.frameworkdemoiselle.util.Beans; | 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,6 +57,14 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
| 56 | this.getDelegate().delete(id); | 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 | @Override | 68 | @Override |
| 60 | public List<T> findAll() { | 69 | public List<T> findAll() { |
| 61 | return getDelegate().findAll(); | 70 | return getDelegate().findAll(); |
| @@ -91,5 +100,5 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -91,5 +100,5 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
| 91 | public void update(final T bean) { | 100 | public void update(final T bean) { |
| 92 | getDelegate().update(bean); | 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,7 +36,9 @@ | ||
| 36 | */ | 36 | */ |
| 37 | package br.gov.frameworkdemoiselle.template; | 37 | package br.gov.frameworkdemoiselle.template; |
| 38 | 38 | ||
| 39 | +import java.util.ArrayList; | ||
| 39 | import java.util.HashMap; | 40 | import java.util.HashMap; |
| 41 | +import java.util.Iterator; | ||
| 40 | import java.util.List; | 42 | import java.util.List; |
| 41 | import java.util.Map; | 43 | import java.util.Map; |
| 42 | 44 | ||
| @@ -111,6 +113,22 @@ public abstract class AbstractListPageBean<T, I> extends AbstractPageBean implem | @@ -111,6 +113,22 @@ public abstract class AbstractListPageBean<T, I> extends AbstractPageBean implem | ||
| 111 | this.selection = selection; | 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 | public Pagination getPagination() { | 132 | public Pagination getPagination() { |
| 115 | return paginationContext.getPagination(getBeanClass(), true); | 133 | return paginationContext.getPagination(getBeanClass(), true); |
| 116 | } | 134 | } |